I am having trouble with Animator.Play() appearing to do nothing. My situation is that I have an object with an Animator on it, and I need to prevent the animation from beginning until the user clicks on a button as I cannot rely on when the Start() function is executed to be the correct time for the animation to play.
What I am doing is calling Animator.Stop() on the Animator when Start() is execute, and then calling Animator.Play() when it is time for the animation to play.
If I don’t call Animator.Stop(), the animation will play as soon as the Start() function of my object is executed so I know that the animation works. I have verified that the call to Animator.Play() is executed when the button is pressed as I expect. If I look at the Animator, I can see the progress bar on my state set to the beginning and it does not advance at all.
I have a super simple animation controller, with just one state, the default state and all it does is play the animation.
Here is the relevant my code.
public class GachaSystem : MonoBehaviour {
public Animator droneAnimator;
void Start() {
FreezeEverything();
}
void FreezeEverything() {
droneAnimator.Stop();
}
public void Execute() {
droneAnimator.Play("Drone_Animation", -1, 0f);
}
}
Thank You
John Lawrie