Guides
Why is my imported model the wrong size? Scale in Unity, Unreal and Godot
Unity and Godot use metres, Unreal uses centimetres, and FBX carries a unit setting. Why imports come in tiny or huge, and how to fix it.
3 min read

Quick answer
Why does my 3D model import at the wrong size?
Usually because of units. Unity and Godot treat one unit as one metre, Unreal as one centimetre, and FBX files carry their own unit setting that importers interpret. OBJ carries no units at all. Unapplied object scale in the source file makes it worse. Model at real size, apply transforms, and match export units to the engine.
The symptoms
- The model is a speck at the origin, or a skyscraper.
- It's exactly 100× too big or too small (a units mismatch).
- It's the right size but scaled 0.01 or 100 on the object (an FBX unit conversion stored as transform scale).
- Scaling it in the engine distorts physics or textures.
The causes
1. Engine units differ
- Unity: 1 unit = 1 metre.
- Godot: 1 unit = 1 metre.
- Unreal Engine: 1 unit = 1 centimetre.
- Blender: metric by default, 1 unit = 1 metre.
A 2-unit-tall door from Blender is 2 m in Unity and Godot, and needs converting to 200 units in Unreal.
2. FBX carries a unit setting
FBX files store a unit scale. Exporters and importers each decide how to interpret it, and different combinations can give 1×, 100× or 0.01×.
3. OBJ and some GLBs have no reliable units
OBJ has no units. glTF is defined in metres, so GLB is predictable, but if the model was built at the wrong size, it stays wrong.
4. Unapplied object scale
If an object's scale in Blender is 0.01 rather than 1.0, the mesh data is 100× bigger than it looks. Some exporters write the scale, some bake it, and engines react differently.
5. Generated models have arbitrary size
AI-generated models (from Vi3W or any generator) aren't measured objects. The tool doesn't know how big a "barrel" is, so you set the real size.
The fix, in order
- Set real size in your DCC tool. In Blender, open the sidebar (N) and check Dimensions. Make a barrel about a metre tall, a door about two.
- Apply transforms. Ctrl+A › All Transforms, so scale is 1.0 and the size lives in the mesh.
- Export with consistent settings (below).
- Test against a known reference in the engine: a 1 m cube, or the engine's default character.
Per-engine settings
Unity
- Export FBX from Blender with Apply Scalings: FBX All.
- In Unity's model import settings, check Scale Factor and Convert Units. If it imports at 100 or 0.01, toggle Convert Units or adjust Scale Factor once, then reuse the setting via an import preset.
Unreal Engine 5
- Unreal converts metres to centimetres on import for FBX and glTF that declare units. Model at real size in metres and it should arrive correct.
- If it's 100× off, check Blender's Unit Scale (Scene properties) and the FBX exporter's scaling, then re-import. Avoid fixing it with the import uniform scale unless you must.
Godot 4
- Prefer GLB, which is in metres. A correctly sized model in Blender arrives correctly.
- For FBX, check the import's scale options in Advanced Import Settings.
Don't fix it in the level
Scaling the placed object in the scene works visually, but it can cause odd physics, lighting and collision behaviour, and you'll have to remember to do it for every instance. Fix the source file or the import settings once instead.
Generated models
For models from Vi3W: import into Blender, set Dimensions to the real-world size, apply transforms, then export. Or set the import scale once per engine and keep it. From greybox to dressed level shows how to size generated props to match placeholders.
Got the size right? Make the next prop in Vi3W and apply the same export settings.
Last reviewed

