Hi, I'm coding movement for a sprite, which the player can control with arrow keys. I've got the movement working, but I want the sprite animation to change from idle to running when an arrow key is held. I instinctively went to make an if-else sequence, but it won't work. Under the MonoBehaviour class, I wrote: Code (CSharp): private Animator anim; Under void Start, I wrote: Code (CSharp): anim = GetComponent<Animator>(); I saw this in a tutorial and I'm not sure why it was necessary - please tell me if I should just get rid of it. Anyway, then I wrote my if-else sequence under void Update: Code (CSharp): if (Input.GetKeyDown(KeyCode.LeftArrow)) anim.SetBool("isRunning", true); else anim.SetBool("isRunning", false); In my animator, the sprite is set to change animations when 'isRunning' is true, and then change back when it's false. Where am I going wrong here? EDIT: I did a check with Debug.log so I can confirm that it's recognising the fact the left arrow key is pressed down. It must be a problem with my actual animation code? Thank you!