So, when i jump, my character's air horizontal mobility becomes really high so he goes super fast. And also when i start the game my character is stuck in crouch... Code (CSharp): public float runSpeed = 22f; float horizontalMove = 0f; bool jump = false; bool crouch = false; // Update is called once per frame void Update() { horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed; if (Input.GetButtonDown("Jump")) { jump = true; } if (Input.GetButtonDown("Crouch")) { crouch = true; } else if (Input.GetButtonUp("Crouch")) { crouch = false; } } private void FixedUpdate() { //Move controller.Move(horizontalMove * Time.fixedDeltaTime, crouch, jump); jump = false; } } Thanks in advance