Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


AnimatorStateInfo

Runtime information on the current or next animation state, managed by an Animator.
Read time 2 minutesLast updated 2 days ago

Definition

  • Type: Struct
  • Namespace: UnityEngine
  • Assembly: UnityEngine.AnimationModule
public struct AnimatorStateInfo

Remarks

Use this struct to obtain information on the current animation state and its transitions. This information includes the name, duration, speed, and the looping status.
You can also use
AnimatorStateInfo
to control animation timing and to handle blending, state changes, and event timing.
The following example demonstrates how to use
AnimatorStateInfo
to manage transitions and adjust playback in real-time.

Examples

// This script demonstrate using AnimatorStateInfo to modify a parameter during animation.// Ensure Animator has a "Run" state in Base Layer and a "SpeedMultiplier" parameter.using UnityEngine;[RequireComponent(typeof(Animator))]public class AnimatorStateInfoExample : MonoBehaviour{ private Animator m_Animator; private readonly int m_RunStateHash = Animator.StringToHash("Base Layer.Run"); void Start() { m_Animator = GetComponent<Animator>(); } void Update() { // Retrieve the current animation state information AnimatorStateInfo stateInfo = m_Animator.GetCurrentAnimatorStateInfo(0); // Use the hashed name for comparison with the current state's full path hash if (stateInfo.fullPathHash == m_RunStateHash) { Debug.Log("Running state active. Normalized time: " + stateInfo.normalizedTime); // Perform actions based on the animation's progress if (stateInfo.normalizedTime > 0.5f && stateInfo.normalizedTime < 0.75f) { Debug.Log("Halfway through the Run animation."); m_Animator.SetFloat("SpeedMultiplier", 1.5f); // Adjust the playback speed } } }}

Properties

Property

Description

fullPathHashThe full path hash for this state.
lengthCurrent duration of the state.
loopIs the state looping.
normalizedTimeNormalized time of the State.
shortNameHashThe hash is generated using Animator.StringToHash. The hash does not include the name of the parent layer.
speedThe playback speed of the animation. 1 is the normal playback speed.
speedMultiplierThe speed multiplier for this state.
tagHashThe Tag of the State.

Methods

Method

Description

IsNameChecks if
name
matches the name of the active state in the state machine.
IsTagChecks whether the animation state has the specified tag.