Hi,

I spent a little time examining exactly what is going on with the scale factor when exporting from Maya to Unity through FBX. (Yes, I know it has been discussed many times). I share my results here:

In Maya:

- Set units to cm
- Create unit cube (bounding box -0.5 to 0.5)
- Export FBX in cm (scale factor 1.0) to CubeA.fbx
- Export FBX in m (scale factor 0.01) to CubeB.fbx
- Set units to m
- Recreate unit cube
- Export FBX in m (scale factor 1.0) to CubeC.fbx
- Export FBX in cm (scale factor 100) to CubeD.fbx

I then examined the FBX file in a text editor, and the resulting mesh in Unity. When importing into Unity “Use File Scale” was set to true…

```
CubeA CubeB CubeC CubeD
Maya: units cm cm m m
Maya: export as cm (1.0) m (0.01) m (1.0) cm (100)
FBXfile: UnitScaleFactor 1 100 100 1
FBXfile: Vertices 0.5,-0.5 0.5,-0.5 50,-50 50,-50
Unity: File Scale 0.01 1 1 0.01
Unity: Mesh.Bounds.Size 0.01 1 100 1
Unity: Scale 1 0.01 0.01 1
Unity: WorldSize 0.01 0.01 1 1
```

From this, we learn:

- The vertex positions in the FBX file are always in cm, even if Maya is set to metres. Maya intends the final local vertex position to be found by scaling by 1 / UnitScaleFactor
- In Unity, the File Scale = the FBX file UnitScaleFactor / 100
- Unity transforms the vertices on import by the File Scale
- Unity sets the object transform scale to 1 / UnitScaleFactor

If we assume units in Unity are in meters, then all cubes have the correct size in Unity: A and B are 1 cm and C and D are 1 metre. However, I would prefer that the cube have, in Unity, a scale of 1, a world size of 1 (and, therefore, a mesh with unscaled size of 1). This is only achieved for cube D, when Maya was set to metres, * but export as cm*.

Let me know if I made any mistakes, and if not, hopefully this is helpful to someone.

MM