Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


GetLayerIndex(string)

Returns the index of the animation layer with the given name.
Read time 1 minuteLast updated 4 days ago

Definition

  • Type: Method
  • Namespace: UnityEngine
  • Assembly: UnityEngine.AnimationModule
public int GetLayerIndex(string layerName)

Parameters

layerName

The name of the animation layer to seek.

Returns

Type

Description

intThe index of the specified layer. Returns -1 if the layer name is not found.

Remarks

You can use Animator.GetLayerName to retrieve the name of an animation layer using its index.
Additional Resources: AnimationLayers

Examples

using UnityEngine;// This example demonstrates how to use the Animator.GetLayerIndex method to get the index of a layer by name and then// use it to set the weight of the layer.[RequireComponent(typeof(Animator))]public class GetLayerIndexExample : MonoBehaviour{ public string layerName = "Injured"; public float weightDelta = 0.1f; private Animator m_Animator; private int m_LayerIndex; void Start() { m_Animator = GetComponent<Animator>(); // Get the index of the layer by name m_LayerIndex = m_Animator.GetLayerIndex(layerName); if (m_LayerIndex == -1) { Debug.LogWarning("Layer not found: " + layerName); } } void Update() { if (m_LayerIndex == -1) { return; } // Increase the weight of the layer when the Up arrow key is pressed if (Input.GetKeyDown(KeyCode.UpArrow)) { var currentWeight = m_Animator.GetLayerWeight(m_LayerIndex); m_Animator.SetLayerWeight(m_LayerIndex, currentWeight + weightDelta); } }}