Unity & Blender FBX Scale

Table of Contents

Link, Like, Share.

When using Blender to create content for Unity an issue may arise due to a difference in the way each application handles units of measurement and scaling. In short, objects exported from Blender [1] using the applications default Units settings typically get automatically upscaled by 100x [2] when FBX files are imported into Unity. For static objects this may not be an issue, for animated objects, or objects that included skeletons however, it can be.

Design note: in Unity this can be confirmed by selecting the object and checking the Scale attribute in the Inspector; typically the X, Y and Z values will be “100”. Resetting these to “1” also then resets the selected object back to its original, relative to Blender, and dimensionally correct size.

Resetting Scale in Unity
Resetting an objects Scale [i] in Unity reverts it back to its original size and dimension [ii], which is typically much smaller than it likely should be – red cube is an imported FBX file, white cube a Unity default cube.

Rescale Fix Issues

Ordinarily a fix for this might be to change the Units system in Blender, increasing the Unit Scale or changing Length, but this has no effect. The only other solution might be to model and/or animate then physically rescale objects by 100x in Blender before export, but doing this also potentially risks breaking animation data.

Auto-rescaling in Unity
Objects exported from Blender [1] using the default scaling will be automatically resized in Unity by 100x [2] to match Unity’s measurement system.

Apply Scalings

To fix the scaling issue between Blender and Unity generally, it is assumed that projects are built in Blender using the default Units [3] set up, that is;

  • Unit System: Metric.
  • Unit Scale: 1.000000.
  • Length: Meters.

If not set, in Scene Properties change the properties to reflect those outlined above (unless others are used for specific reasons). This establishes a baseline unit of measurement in the subsequently exported FBX file.

Important: before exporting to FBX from Blender, ensure Apply Transforms has been performed to reset object rotation and scaling – Object » Apply » All Transforms or Rotation & Scale – if this is not done objects may still appear incorrectly positioned, scaled and/or rotated.

Once the project is complete, export to FBX as normal but in the FBX Export Settings options, expand the Transform subsection (if not visible) and check;

  • Scale is set to 1.00.
  • Apply Scaling [4] is set to FBX Unit Scale [5] (default All Local).

On export from Blender, and import into Unity, the relative scaling and object dimensions should then be retained without need to readjust Scale in Unity [6].

Apply Scaling during export
Ensure Blenders systems Units is set to Meters [3] and then in the FBX export dialogue, check Scale is set to 1.00, then change Apply Scaling [4] to FBX Units Scale [5].

Correct scale in Unity
After making the adjustments to the FBX export settings, the imported object (red cube) is then correctly scaled [6] relative to Unity’s defaults (white cube) and doesn’t require readjustment.

Link, Like, Share.