My game is a turn-based RPG game fighting on grid tiles. Very traditional.
I have 2 float variables that determine which animation should be used in the Animation Blender.
For the animations that should loop like idle or walking, I do not have issues.
For the animations that should play only once from the FIRST frame to the End, I have problems.
I have these two animations that I am struggling with : attack, get hit.
I can’t seem to start these animations from the first frame.
When the animation reaches the end, I am firing an animation event to get back into the looping idle animation and that works fine.
So how does the blender work? You can’t enforce it to start from frame number one of a particular animation?
The way transitions work is the Mecanim will take the current state and interpolate over time the affected properties of the object until it reaches the new state. You can manipulate the time that it takes to transition from one state to another and the result is a nice fluid transition. If you want an immediate transition, you can change the transition to allow for that:
- Make sure “Has Exit Time” is not checked
- Make sure “Fixed Duration” is checked
- Set “Transition Duration(s)” to 0
- Set “Transition Offset” to 0
- Make sure “Can Transition To Self” is not checked
You transition settings should look like the image below

I am fairly certain that is everything you need to make an instantaneous transition happen. Hope that helps out.
Cheers,
TrickyHandz