Blender to unity fbx export comes out destroyed
In Blender:

-Firstly (THIS IS IMPORTANCE) in Dopesheet - Action Editor tab, before you do your animation you have to name it accordingly and hit little F icon there to add a Fake user otherwise the animation is not being saved when you close Blender.



-Then you select the mesh itself and the armature that you want to export. Go to Export option in File/Export/FBX

-You can see the option for 'Export BFX' at the bottom-left corner, leave everything as default only check the 'Selected Objects' checkbox. Also choose only Armature and Mesh to export down below.



In Unity:

-Select the FBX file in the Project panel that you just imported in (I assumed you already know how to import it in)

-In the Inspector panel:


with Model make sure scale factor is 1.





in Rig make sure Animation Type is Humanoid for your character. If it is a thing or anything not full body human, pretty much choose Generic.





Animations down below at Anim. Compression. Choose Optimal.




Now anything left is to create animation controller and assign animations to the character :) If this does not work or I'm not clear in any step, please don't hesitate to leave a comment so I can help you. Goodluck!