Avatar animation is playing on the wrong axis no matter what, only in-game

My avatar has a simple animation that spins a single bone.

This animation was defined in the Unity editor, and added into the Additive controller as an extra layer.

Both in the editor preview, as well as in the game view when pressing the play button, the animation is rotating on the correct axis.

However, when building and testing the model in-game, the bone is rotating on the Y-axis instead.

I cannot tell why this is happening or how to fix it. Toggling Apply Root Motion on or off does nothing.

I noticed that the Armature object itself is rotated about -90 degrees on the X-axis to account for the disparity between Blender’s Z-up, which could account for this. However, re-exporting from Blender with the model intentionally rotated as to make it rotated 0 degrees on the X-axis when upright does not fix this issue.

I’ve restarted Unity, the game, re-exported the mesh several times, tried to animate it from both Blender and Unity, and the animation remains on the wrong axis no matter what.

The error might be caused because the animation is on the Additive Controller, which is meant only for adding animations to the Humanoid bones. Try putting your animation in either the Gesture or the FX controller. You an read up more on the layers in the link below.

Additionally, it seems that your layer blending mode is set to Additive instead of Override, this might also be causing issues too, but it’s hard to tell without knowing if you have any other animations playing that control the wind-up key.

Hope this helps!