The player is on the pipe (trigger card with the tag "climp") which must climb up or down, as well as hang on the spot at the moment when the movement button is not pressed.
The movement is implemented through a child object on the character (see picture 2), which, when attacking the pipe (trigger colider with the tag "climp"), takes control over the player.
The problem is that when a player is on the pipe and nothing shakes for about 2 seconds - the control is completely paralyzed, but up to two seconds the hang and movement along the pipe works fine.
I also noticed that if you add force (AddForce) to 0.01f at the time of the hang on the pipe, then the control does not paralyze, but I consider this method incorrect.
As a result, I’ll summarize: if any force ceases to act on a player, then the management is paralyzed. This happens after the green border of the collider in the scene editor turns dark green; 
private void OnTriggerStay2D(Collider2D col) //функция позволяет лазать по вертикальным объектам типа "Трубы", "Лестницы" и т.д. { if (col.tag == "climp") { IsClimp = true; if (Input.GetAxis("Vertical") > 0) { player.GetComponent<Rigidbody2D>().gravityScale = 3; player.GetComponent<Rigidbody2D>().velocity = new Vector2(0, 4f); } else if (Input.GetAxis("Vertical") < 0) { player.GetComponent<Rigidbody2D>().gravityScale = 3; player.GetComponent<Rigidbody2D>().velocity = new Vector2(0, -2f); } else if (Input.GetAxis("Horizontal") > 0) { player.GetComponent<Rigidbody2D>().velocity = new Vector2(4f, 4f); } else if (Input.GetAxis("Horizontal") < 0) { player.GetComponent<Rigidbody2D>().velocity = new Vector2(-4f, 4f); } else if (Input.GetAxis("Vertical") == 0) { player.GetComponent<Rigidbody2D>().gravityScale = 0; } } private void OnTriggerExit2D(Collider2D coll) { Debug.Log("Player is exit from climp zone"); player.GetComponent<Rigidbody2D>().gravityScale = 3; IsClimp = false; IsStairs = false; } 