using UnityEngine; public class PlayAnimationOnTrigger : MonoBehaviour { [SerializeField] public Animator animator; // Reference to the Animator component [SerializeField] public string animationName = "YourAnimation"; // Name of the animation to play private void OnTriggerEnter(Collider other) { // Check if the animator is assigned if (animator == null) { Debug.LogWarning("Animator not assigned!", this); return; } // Check if the animation is already playing if (animator.GetCurrentAnimatorStateInfo(0).IsName(animationName) && animator.GetCurrentAnimatorStateInfo(0).normalizedTime < 1) { Debug.Log("Animation is already playing."); return; } // Play the animation animator.Play(animationName, 0, 0f); Debug.Log("Playing animation: " + animationName); } }