i’ve seen this topic on a ton of threads i’ve found on google but am unsure if it’s been covered here.
The solution is very simple but can be a little painstaking at first.
i’ll include images where necessary.
Step 1. Assuming you’ve made an animation theres a few things you have to make sure you are doing.
first, always make sure that once you’ve set your pose for the keyframes, you are selecting all of the bones and hitting “I” to set the location, rotation, and scale. this is a good habit to get into.
Step 2. Assuming you are using inverse kinematics with rigify, these steps are going to save you much headache in the long run. The first image shows the Fk foot bone selected, the second image shows the ik foot bone selected. when importing your animations into unity, the software is reading the position of only the fk bones. To ensure that the animation is behaving exactly as you see it in blender viewport, make sure your fk bones are snapped to your ik bones.
Step 3. In the third and final image you are going to select your fk bone and use the snapping option located to the left in your properties panel. If you don’t see your properties panel you can hit “N” to bring it up. sometimes you may want your ik position to snap to the fk, in which case they’ve provided you that option also. Once you’ve aligned your fk bones with your ik bones for that frame, be sure to go into the 3d viewport and insert your keyframe by hitting “I” and then selecting loc,rot,scale.
do this for every frame in your animation. its good practice to make sure when using these snapping options that once used, the hand or foot hasn’t moved from its intended location. you just want the inactive skeleton… (usually the fk one, to follow whatever you intended for the ik one to do and set your keyframe for those bones) i know that’s a ton of confusing “Fk’s and Ik’s” but get used to the process and i assure you when you import your animation via either a .blend file or an fbx, provided you have done everything correctly… your animations will be just as you made them in blender.
hope this was a help to anyone struggling with this issue. Be sure to comment and let me know how this worked out for you. of course if you have any questions regarding this topic i’d be happy to try to answer them.