Scale and units: why imported models come in wrong

Every tool has an opinion about what "1" means. Where the mismatches are and how to stop fighting them.

A model imports at a hundred times its intended size because two programs disagreed about a unit. It is the most common import problem and it is entirely avoidable.

The disagreements

  • Blender works in metres by default.
  • Maya works in centimetres by default.
  • 3ds Max works in generic units that map to whatever you configure.
  • Unreal works in centimetres — one unit is one centimetre.
  • Unity works in metres — one unit is one metre.
  • FBX stores a unit scale, and exporters disagree about whether to apply it or record it.

A Maya-to-Unity handoff without configuration is a factor of one hundred. A Blender-to-Unreal handoff is the same factor in the other direction.

Generated models have no units at all

Reconstruction produces a shape, not a measurement. Nothing in the pipeline knows whether the object is a teacup or a water tower, so the output is arbitrarily scaled and needs setting once on import.

The fix

Standardise on your engine's unit and configure every tool to match, once, at project setup. Then:

  • Apply scale before export. A mesh with a non-unit scale transform behaves unpredictably in physics and skinning.
  • Model to real dimensions. A door that is 2.1m tall is a door that fits every other 2.1m door.
  • Keep a scale reference in the scene. A humanoid capsule catches errors at authoring time rather than at import.

Pivots, while you are there

The origin point is where the object rotates and where it snaps. A prop's pivot belongs at its base and centred; a door's belongs at its hinge. Generated meshes centre their pivot on the bounding box, which is right for almost nothing.