how to do an action at a certain point of an animation in mecanim

With this new animation interface in unity Im wondering how am I able to sync an action and animation together so in a certain part of an animation something happens for example I put an animation of a character raising his arms to shoot a fireball and when his arms are fully raised the fireball shoots not his shooting the fireball when is arms are still coming up thank you.

An easy way to do this would just be to set a delay on the projectile spawning in code, but if you really need it to be controlled by the animator, you could place a script on the object that’s being animated, give it a function that is called when a value (say a boolean) is true. In the animation, just animate the value at the point in time that you want it to happen.

public bool makeFireball = false;

void FireFireball()
{
     Instantiate(fireballPrefab, transform.position, transform.rotation);
}

void Update()
{
     if (makeFireball)
     {
          makeFireball = false;
          FireFireball();
     }
}