FBX unit scale: what the file declares

An FBX file states how big one unit is. Blender reads that statement while importing and then forgets it, so the only place it survives afterwards is inside the file.

The field, and what its numbers mean

It is called UnitScaleFactor and it sits in the file's GlobalSettings block. FBX's own base unit is the centimetre, so the number means how many centimetres one unit is:

FactorWhat one unit isWhere it comes from
0.010.01 cm — a tenth of a millimetreA scene built at the wrong scale and exported anyway. Almost never intended.
0.11 mmMillimetre-based CAD, stated as a factor instead of a unit.
11 cmFBX's internal unit. What Blender writes by default.
2.541 inchImperial pipelines.
1001 mMetres declared explicitly — common from Maya and CAD.

The file also remembers what it used to be

OriginalUnitScaleFactor is the same number as it was when the file was first written. When the two disagree, the file is telling on itself: something rescaled me after I was exported. A file that declares 0.01 and records 1 is claiming its units are a hundred times smaller than they were — and the ratio is exactly the multiplier you are seeing in the scene.

What the numbers cannot tell you is whether the geometry was adjusted to match. That is a question about intent, and it is why a tool should report the disagreement rather than silently "fix" it.

Why "open it in Blender and look" answers a different question

Blender applies the factor on import and then works in its own units. Once the mesh is in the scene, the scene is the only thing the interface can show you: nothing in it displays what the file declared, and re-exporting writes a new declaration from the export settings. So a round trip through Blender can tell you what Blender made of the file — never what the file said.

What to do about it

  1. Read the declaration, for every file in the folder, before importing anything.
  2. Decide whether it is intended. 100 from Maya is normal. 0.01 almost never is. A disagreement with OriginalUnitScaleFactor is a conversion somebody performed.
  3. Then either fix the file or the importer. An import scale lives in one project, per asset; a correct declaration travels with the file.

Check a folder instead of guessing

FBX Scale Report reads a folder of FBX files and prints what each one declares — the factor, what it means in metres, whether the file contradicts itself — and measures the rig the way an engine will read it. It reads the files rather than importing them, so nothing enters your scene, and it names the files it could not read instead of staying quiet about them. Free, read-only, no account.

Changing the declaration rather than reading it is what the paid edition does, with a preview of every change and a record of what it wrote: FBX Scale Report Pro.

Related