Version: 2018.2 (switch to 2018.3b or 2017.4)
  • C#


Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



Switch to Manual
public void Play(string stateName, int layer = -1, float normalizedTime = float.NegativeInfinity);
public void Play(int stateNameHash, int layer = -1, float normalizedTime = float.NegativeInfinity);


stateNameThe state name.
stateNameHashThe state hash name. If statNameHash is 0, it changes the current state time.
layerThe layer index. If layer is -1, it plays the first state with the given state name or hash.
normalizedTimeThe time offset (in percentage).


Plays a state.

//Attach this script to the GameObject you want to animate
//Create an Animator Controller component if you haven't already (Right click in the Assets folder and go to Create>Animator Controller).
//Click and drag your Animator Controller into the Inspector of the GameObject you wish to animate.
//In your Animator Controller, create and name two states- one as your default state, and one as the state you want to play ("Jump" in this case). Make sure to link both of these to the Entry state.
//Press the space key in Play Mode to switch to the second state.

using UnityEngine;

public class Example : MonoBehaviour { Animator m_Animator;

void Start() { //Fetch the Animator from your GameObject m_Animator = GetComponent<Animator>(); }

private void Update() { //Press the space key to play the "Jump" state if (Input.GetKey(KeyCode.Space)) { m_Animator.Play("Jump"); } } }

Did you find this page useful? Please give it a rating: