Instantiate at a specific time in a animation?

So i’m making a game that has a enemy shoot out of its tail, but when i try to time the rate, it shoots from different locations on the tail. What i wanna know how to do is shoot from a specific time so i could time when its on the right point on the tail to shoot.

You do this by using Animation Events.

Go into the import settings of the animation and add an event at the correct time.
Then you need a custom component/script with a function named the same as the event. Attach this component to the same GameObject that has the Animator on it. When the animation hits the specific time in the animation the function in your custom script will be called.