I read about animation mixing, but that didn't work for me. Code (csharp): function Animations() { if(weaponsController.gunScript) { animation.AddClip(weaponsController.gunScript.weaponIdleAnim, "weaponIdleAnim"); animation.Blend("weaponIdleAnim"); } // Running if(Input.GetAxis("Vertical") > .1 controller.isGrounded) { animation.CrossFade("run", 0.3); } else if(Input.GetAxis("Vertical") < -.1 controller.isGrounded) { animation.CrossFade("back", 0.3); } else { if(Input.GetAxis("Horizontal") !Input.GetAxis("Vertical") controller.isGrounded) { animation.CrossFade("turn",0.3); } else if (controller.isGrounded) { animation.CrossFade("idle", 0.1); } else { animation.CrossFade("jump", 0.3); } } } Everything is working fine, but I just want "weaponIdleAnimation" to play correctly while you are running, jumping etc. weaponIdleAnimation is being added, but trying to animate it either overrides all the other animations or doesn't play at all.