Why does animation event calls twice if put it on certain frames?


As shown in the image, I have an animation event call HitTarget() on the first frame. And another event AnimationFinished(). Both functions use different delegate to trigger two functions in another manager class. HitTarget() will trigger a function with a print() statement, and AnimationFinished() will trigger a function that destroys this game object.

The problem is if I set it as shown in the image, the HitTarget() will be triggered twice. One at the beginning, and one in the end(there’s an obvious interval pause between two printed message in log). However if I only move the HitTarget() to the 2nd frame, or if I only move the AnimationFinished() to the 0:05 frame, the HitTarget() will only be triggered once correctly. If I only move the AnimationFinished() to 0:07 frame, it’ll be triggered twice.

What would possibly cause this problem?
Thanks!

Uncheck the “Loop Time” check box on the animation file would solve this problem. Thanks to @PhantomSarcasm