unity call function when animation ends code example

Example 1: unity call function on animation end

// 1. click on the animation state block in the animator and in the inspector
// 2. click Add Behavior button and edit that new script
// 3. find the OnStateExit function and un-comment it. Example below.

// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
  GameObject self = animator.gameObject; //a reference to the gameobject being animated
  MyScript script = self.GetComponent<MyScript>();
  Debug.Log("Animation has finished!");
  script.SendMessage("MyFunction"); //this is the name of the function to call
}

Example 2: how to create and trigger a function unity animation events

// Animation Event example
// Small example that can be called on each specified frame.
// The code is executed once per animation loop.using UnityEngine;
using System.Collections;public class Example : MonoBehaviour
{
    public void PrintEvent()
    {
        Debug.Log("PrintEvent");
    }
}