Example: BoxA has two animation states [Idle] and [MoveRight] Non of them loop and [Idle] has a trigger to start [MoveRight] "Very Basic" If you deactivate the GameObject, Unity leaves the object in the position where the [MoveRight] animation stopped and sits there practical in "no state". When you activate the GameObject again, It pops back to it's default "Enter" state [Idle] Which is the expected behaviour HOWEVER!!! If i call the activation of the GameObject with an "Animation Event" option 2 happens As you can see, the code triggers on the correct frame but the animation is first updated on the next one. 3th Test If i say the code should delay the action by one frame, but it's still initially triggered by an AnimationEvent we are back to normal: This however is not desirable and an UGLY HACK solution. I assume it has something to do with the order of the animation loop. Something Something. I have tried to force update the animation but no luck. Any Help?