Almost everyone hits this. The model arrives 100 times too big, or lying on its face, or the rig imports with the wrong bone orientation.
Scale. Blender and Unity both use metres, so the units agree, but exporters can apply their own scaling. Before exporting, apply transforms in Blender so scale is 1, rotation 0, and position at origin. In the FBX export panel, set the scale explicitly rather than leaving it automatic. If your object arrives at 0.01 or 100, this is the cause.
Rotation. Blender is Z-up, Unity is Y-up. Good exporters handle this, but if you have applied rotations at the object level and not to the mesh data, you get a model that looks correct in Blender and lies on its side in Unity. Applying rotation before export solves it.
Rigs. Export the armature with the mesh, not separately. Keep the hierarchy clean, with one root and no stray empties parented in. If you plan to retarget animation, use a humanoid-friendly bone structure and check the avatar mapping after import: Unity will guess, and it guesses wrong on unusual rigs.
Materials. Do not expect them to survive. Blender's node materials do not translate to Unity's shaders. Export the model, rebuild materials in Unity, and bring textures over as files. Trying to make the FBX carry materials wastes more time than rebuilding.
Naming. Decide a convention before the first asset, not the fiftieth. Renaming a rigged, animated asset later breaks references quietly.
The check that saves hours: import one test asset end to end at the very start of the project, all the way into a build. Fixing a pipeline problem after a hundred assets is a different job entirely.
Scale. Blender and Unity both use metres, so the units agree, but exporters can apply their own scaling. Before exporting, apply transforms in Blender so scale is 1, rotation 0, and position at origin. In the FBX export panel, set the scale explicitly rather than leaving it automatic. If your object arrives at 0.01 or 100, this is the cause.
Rotation. Blender is Z-up, Unity is Y-up. Good exporters handle this, but if you have applied rotations at the object level and not to the mesh data, you get a model that looks correct in Blender and lies on its side in Unity. Applying rotation before export solves it.
Rigs. Export the armature with the mesh, not separately. Keep the hierarchy clean, with one root and no stray empties parented in. If you plan to retarget animation, use a humanoid-friendly bone structure and check the avatar mapping after import: Unity will guess, and it guesses wrong on unusual rigs.
Materials. Do not expect them to survive. Blender's node materials do not translate to Unity's shaders. Export the model, rebuild materials in Unity, and bring textures over as files. Trying to make the FBX carry materials wastes more time than rebuilding.
Naming. Decide a convention before the first asset, not the fiftieth. Renaming a rigged, animated asset later breaks references quietly.
The check that saves hours: import one test asset end to end at the very start of the project, all the way into a build. Fixing a pipeline problem after a hundred assets is a different job entirely.