Collider2D.IsTouching not working on scene start

Hi, why does if !RopeDistanceCollider.IsTouching(Character.GetComponent()) not work after restarting the scene ?

The video of the problem: Strange Physics - YouTube

//This is void Update

    if ((ClimbMod == ClimbModEnum.VerticalClimb & !IsClimb & Time.timeScale != 0) && GetComponent<EdgeCollider2D>().IsTouching(Character.GetComponent<Collider2D>()) & !Character.GetComponent<PlatformerCharacter2D>().PlayerIsClimb & Input.GetButtonDown("Use"))
    {
        IsClimb = true;
        Character.GetComponent<PlatformerCharacter2D>().RopeClimb(GetComponent<RopePhysics2D>(), true);
        GenerateDistanceCollider();
        float minimumDistance = Mathf.Infinity;
        for (int i = 0; i < RopeCountList.Count - 2; i++)
        {
            float distance = Vector2.Distance(RopeCountList*.CorrectRopePos, Character.transform.position);*

int CorrectSegmentInt = i;
if (distance < minimumDistance)
{
minimumDistance = distance;
ClimbSegment = CorrectSegmentInt;
}
}
}
else if ((ClimbMod == ClimbModEnum.VerticalClimb & IsClimb & Time.timeScale != 0) && (!RopeDistanceCollider.IsTouching(Character.GetComponent()) || Input.GetButtonDown(“Use”)))
{
DisableClimb(Character);
Destroy(RopeDistanceCollider);
}
}
//some stuff
public void ClimbMoveCharacter(float Horizontal, float Vertical)
{
HorizontalMoveValue = Horizontal;
VerticalMoveValue = Vertical;
}
public void DisableClimb(GameObject PlayerOrAI)
{
if (IsClimb == true)
{
PlayerOrAI.GetComponent().velocity = new Vector2(0, 0);
PlayerOrAI.GetComponent().angularVelocity = 0;
PlayerOrAI.GetComponent().RopeClimb(null, false);
IsClimb = false;
}
}
public void SetPlayerOrAIToClimb(GameObject PlayerOrAI, int ClimbSegmentToSet)
{
if (IsClimb == false)
{
IsClimb = true;
PlayerOrAI.GetComponent().RopeClimb(GetComponent(), true);
GenerateDistanceCollider();
PlayerOrAI.transform.position = new Vector2(RopeCountList[ClimbSegmentToSet].CorrectRopePos.x, RopeCountList[ClimbSegmentToSet].CorrectRopePos.y);
ClimbSegment = ClimbSegmentToSet;
}
}

Just use OnTriggerEnter2D and OnTriggerExit2D it’s works better !