Movement animation deviation

I’m trying to figure out what could cause a position deviation when playing the same animation.
I have a left jump animation which effect only the Z axis. After a quick debugging I was able to see that each jump doesnt have the same value, it’s very close but not the same.

Let’s say I start at 0 value (Z axis) and first time I jump left it’ll will position the character at -1, then I jump left again, and the position will be -1.95.

The same animation is played twice in a row and values arent the same for each jump, I should mention that I have an Idle animaition that doesnt move the character at all.

I’ve also checked all “Bake Into Pose” checkbox at the Idle animation and jump animations to avoid the “Average Velocity” deviation.

Let me know if any further information is needed.

It’s probably due to the way Mecanim attempts to smoothly transition between states meaning that you’re “losing” animation frames in which the character is translated. If you need an exact translation/rotation to occur during an animation you can use MatchTarget specifying the root body part: Unity - Scripting API: Animator.MatchTarget

Here’s an example (this relates to rotation rather than translation, but the principle and solution are the same): KO-OP Blog: Mecanim and MatchTarget() in Unity 4.x