I have problem with character controller Code (CSharp): using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoBehaviour { CharacterController characterController; public float speed = 6.0f; private Vector3 moveDirection = Vector3.zero; Rigidbody rigidbody; Animator animator; void Start() { characterController = GetComponent<CharacterController>(); animator = GetComponent<Animator>(); } // Update is called once per frame void Update() { if (characterController.isGrounded) { animator.SetBool("Run",false); moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical")); moveDirection *= speed; if (Input.GetAxis("Horizontal") != 0 || Input.GetAxis("Vertical") != 0){ animator.SetBool("Run",true); } if(Input.GetAxis("Vertical") < 0){ this.transform.rotation = Quaternion.Euler(0,180,0); }else{ this.transform.rotation = Quaternion.Euler(0,0,0); } } characterController.Move(moveDirection * Time.deltaTime); } } Is there anything wrong?