Okay I have a simple character with numerous animations imported from blender. They worked correctly with .blend file but I ran into a problem with it and had to use .fbx instead. Now y plane root motion gets applied correctly but no x or z plane root motion is applied. Hierarchy of my character is this:
Wrapper holding animator script, rigidbody2d and animator
→
colliders2d as separate gameobjects and character model with rig. Animation which need x and z root motion are not baked into pose. Controller is applied to animator and controller has been tested to work correctly with the .blend file. What I see is all y plane root motion gets applied correctly I mean all of it, every animation. But not even 0.0000001 variation in x or z planes. Walking animation for example has loop time and root transform y bake into pose checked everything else are default and it plays nicely.
Thank you in advance!
Is apply root motion checked on in your Animator?
Okay I figured it out. Turns out unity rotates imported fbx files 90 degrees. Then animator rotated them making them practically unusable. Fix was to rotate the model in object mode and apply it (ctrl+a) in blender then in unity put import animations root transform rotation unchecked and switch to original(dropdown) from root node rotation.