Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


IsName(string)

Checks if name matches the name of the active state in the state machine.
Read time 1 minuteLast updated 10 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.AnimationModule
public bool IsName(string name)

Parameters

name

The name to check.

Returns

Type

Description

boolTrue if the animation state has the given name, false otherwise.

Remarks

The name should be in the form Layer.Name or Layer.SubStateMachine.Name. For example,
Base.Idle
or
Base.RunSM.JogForward
.
This method calls Animator.StringToHash on the name parameter and compares it to AnimatorStateInfo.shortNameHash and AnimatorStateInfo.fullPathHash internally. If you call this method often, consider precomputing the hash of the name to improve performance.
// This script demonstrates how to check if the current state of an Animator has a specific name.using UnityEngine;[RequireComponent(typeof(Animator))]public class AnimatorStateInfoIsNameExample : MonoBehaviour{ // The Animator component on the GameObject this script is attached to. Animator m_Animator; void Start() { m_Animator = GetComponent<Animator>(); } void Update() { // If the current state has the specified name, log a message. var stateInfo = m_Animator.GetCurrentAnimatorStateInfo(0); if (stateInfo.IsName("Base.Idle")) { Debug.Log($"Currently in state Base.Idle."); } }}