Skip to content
The Technical ArtistArt. Code. Pipelines. Games.
Home/Engines/Units & Axes
engines - reference
the matrix
bookmark this one

Units & Axes

reference~3 min read

Use this table when an asset arrives at the wrong size or orientation. It brings together the common unit, axis, and handedness conventions, followed by checks for the usual import problems. Your project may use different authoring conventions, so confirm those with the team.

On this page Units And Axes By Application Common Pairings, Fixed Handedness In One Minute Diagnosing An Import

Units And Axes By Application

ApplicationNative unitUpForward (convention)Handedness
BlendermetresZ+-Y (front faces -Y)Right
MayacentimetresY+Z+Right
HoudinimetresY+Z-Right
3ds Maxinches (configurable)Z+Y-Right
Unreal EnginecentimetresZ+X+Left
UnitymetresY+Z+Left
GodotmetresY+-ZRight
glTF (format)metresY+Z+Right

Read it and the whole genre of import bug explains itself: Blender->Unreal must convert metres->centimetres and re-aim forward and flip handedness; Maya->Unity only has to survive the cm->m scale. FBX carries metadata for all of this, which each importer honours slightly differently - hence the rule: fix conventions in saved export presets, never in the scene, never per-asset by hand.

Common Pairings, Fixed Once

RouteThe failure you'll seeThe fix that sticks
Blender -> Unreal100x too small, or an unexpected -90 deg X rotationExporter: Apply Scale = FBX All, Bake Space Transform = on. Full walkthrough in Blender for Game Artists
Blender -> UnityScale 100 on the import, or rotated -90 deg XSame preset as UE; Unity side: model importer "Use File Scale" on, or export glTF - Unity's glTF path skips most of the dance
Maya -> UnrealMostly painless (both cm, both Z-up-adjacent)The easy route - main check: working units actually set to cm, world-forward agreed with the team
Maya -> UnityEverything 100x too bigcm->m: let Unity's "Convert Units" do it (default on) - don't also scale in Maya, the classic double-conversion
Houdini -> engineFine to Unity, Y-up->Z-up confusion to UEHoudini's UE tooling/HDA path handles it; for raw FBX, set the export's up-axis to match target
Anything -> anything, charactersRoot bone rotated, animation twistsAxis mismatches can also affect bones and animation - agree on ONE authoring orientation for rigs, validate at export (a pipeline script job)

Handedness In One Minute

Point your right hand's fingers along +X and curl towards +Y: thumb points +Z - that's right-handed, most DCCs. Unreal and Unity's +Z (or +Y) comes out the other way: left-handed. Practical consequences, beyond "the importer deals with it": cross products flip (why hand-computed normals sometimes invert crossing apps - see the maths sheet), rotation signs flip (a +30 deg yaw in Blender may be -30 deg in-engine), and winding order flips - which is why a mesh mirrored with scale -1 shows inside-out in engine: its triangles now wind backwards and get culled. If you remember one thing: negative scale isn't a mirror tool for game assets. Mirror the geometry, apply it, recalculate normals.

Diagnosing A Broken Import In 60 Seconds

  1. Wrong size? Units. 100x = m<->cm (Blender/UE), 2.54x = inches somewhere (hello Max). Fix the export preset's scale handling.
  2. Lying down / standing wrong? Up-axis. A -90 deg or +90 deg X rotation on import = Z-up <-> Y-up disagreement. Fix in exporter axis settings, not by rotating the mesh.
  3. Standing but facing sideways/backwards? Forward convention. Rotate the authoring orientation to your team's agreed front (Blender: front = -Y), re-export.
  4. Inside-out? Winding/negative scale. Find the -1 scale, apply it properly, recalc normals.
  5. Once you’ve fixed a representative asset, update the shared preset and test another. Record any exceptions so nobody has to guess why an import rotation is there.
A practical example

A batch of props can look correct with an import rotation of X=-90, then rotate incorrectly when someone resets a transform. A shared export preset and a validator make that assumption visible. Check the intended orientation with the team before rejecting or re-exporting a batch.