Fixing scale problems exporting .fbx files from Blender to Unity 5

Posted by Matt Newport on 5 May 2016

It's a bit of a pain to correctly export meshes from Blender to Unity 5 using .fbx and retain the correct scale. Making a note of how to do it properly here for future reference.

By default, Unity 5 applies a 'File Scale' of 0.01 and a 'Scale Factor' of 100 to .fbx files exported from Blender in the Import Settings tab. This works but gives you game objects with a baked in scale of 100 on their transform. If you want game objects with a scale of 1 you need to change the .fbx export settings in Blender to set apply_unit_scale to false using the toggle button seen in the screenshot below:

Blender .fbx export settings

A related problem that you may want to fix in Blender before exporting is to bake any object scales into the meshes so you don't end up with scaled game objects in your Unity hierarchy. This is especially important if objects in your Blender scene have non uniform scales since that can cause all manner of headaches in Unity. Fortunately this is relatively simple to fix in Blender - select all the objects in your scene by hitting A and then hit Ctrl+A to apply transforms and select 'Scale' from the pop-up menu:

Blender Apply Scale

With these two steps you should be able to get all your meshes imported into Unity 5 so your game objects have no scaling applied.

Update 26 October 2016:

I've just run into another weird scaling issue that seems like it may be due to an animation related bug in the blender .fbx exporter. In this case an object I was trying to export had an animation attached to it and somehow when exporting to .fbx an extra scale would be applied to the object on export affecting both the exported file and the object in the Blender scene! I think the fact that the object's location / rotation / scale in the Transform panel are highlighted in yellow is due to the animation being attached (can you tell I'm not a Blender expert?).

The workaround for this issue for me was to delete the animation on the object before export. The steps are:

Select the object with the problem animation:

Blender selected object with animation

Hit space and type 'remove anim', then select the 'Remove Animation' option and apply:

Blender Remove Animation

The animation should be gone from your object (note the location / rotation / scale are no longer highlighted in yellow) and you can now export to .fbx without the scale bug:

Blender animation removed from object

Update 11 September 2018:

Blender 2.79 has changed .fbx export again, to get rid of Unity 'File Scale' now there's an additional setting you need to change, the "Apply Scalings" setting should be set to "FBX All":

Blender Apply Scalings