Blender FBX Armature Scale Wrong in Unity - Unit Scale and Apply Transform Fix

Rigs exported from Blender as FBX often arrive in Unity with the armature or whole character at the wrong world scale: millimeter-tall characters, giants, or limbs that look correct in Blender but skew in play mode. Unity is not “randomly scaling” your file; almost always un-applied object scale, scene unit length, or FBX “Apply Scalings” disagrees with what Unity’s Model importer assumes.

This article gives a short, repeatable fix path in Blender first, then FBX export, then Unity import verification.

Direct answer

Wrong armature scale in Unity usually means Blender object scale is not 1,1,1 on the mesh and armature, scene units do not match your intended real-world size, or FBX Apply Scalings and Unity Scale Factor fight each other. Fix it by (1) setting Scene Properties → Units to a clear metric baseline (commonly Unit Scale 0.01 for centimeters or 1 for meters), (2) selecting mesh and armature and using Apply → Scale (and Rotation if needed) so transforms are baked, (3) exporting FBX with Apply Scalings: FBX All (or a team-standard pairing documented below), and (4) in Unity, setting Model Import Scale and File Scale so one humanoid-height rig matches your 1 Unity unit = 1 meter convention. Confirm in Unity with a 1m cube next to the imported rig root.

Who this affects

  • Character artists using Blender rigging and FBX to Unity Humanoid or Generic pipelines
  • Teams mixing metric Blender files with projects that assume 1 unit = 1 meter
  • Pipelines that scaled the armature in Object Mode for posing without Apply Scale
  • Anyone who changed Unit Scale mid-project without re-exporting all characters

Root causes

Cause What you see in Unity
Object scale not applied on armature or mesh Uniform wrong size; animations may still “work” but root motion feels off
Scene Unit Scale vs export expectation mismatch Systematic 10x or 100x size change
FBX “Apply Scalings” disagrees with Unity Scale Factor Correct in one template scene, wrong in another
Parent chain with non-uniform scale Sheared or stretched bones after import
Humanoid vs Generic and different root motion handling “Scale looks wrong” only at runtime

Step-by-step fix (Blender first)

1. Align scene units

  1. Open Scene Properties (camera icon).
  2. Under Units, set Unit System to Metric.
  3. Set Unit Scale to match your studio convention:
    • 0.01 — common for “1 Blender unit = 1 cm” workflows.
    • 1 — “1 Blender unit = 1 m” workflows.

Pick one convention per project and document it. Changing this late changes export size unless you compensate in export/import.

2. Normalize object scale on mesh and armature

  1. In the Outliner, select the mesh and the Armature.
  2. Check Object Mode → Item → Transform for Scale.
  3. If scale is not (1, 1, 1), apply it: Object → Apply → Scale (and Rotation if you never applied rotation after importing or mirroring).

Why: FBX carries object scale; Unity multiplies its own import scale. Stacked scales are the most common “tiny or huge rig” bug.

3. Fix parent chains

If the armature is parented to an empty or root with non-(1,1,1) scale, either:

  • Apply scale on parents in order from child to root, or
  • Unparent, reset parent scales to 1, reparent with Ctrl+P → Keep Offset only if you know you need offset (prefer clean 1,1,1 chains for game export).

4. Export FBX with consistent scalings

  1. Select only what must export (often mesh + armature).
  2. File → Export → FBX.
  3. Use settings aligned to your unit convention, for example:
    • Apply Scalings: FBX All (typical choice so Blender bakes scale into vertices and bones for export).
    • Forward / Up: match your pipeline (often -Z Forward, Y Up for Unity-friendly orientation; if your studio uses a fixed template, keep it unchanged across all characters).
    • Apply Modifiers if your mesh depends on modifiers for the final bind.

Re-export after every Apply change; do not reuse an old FBX path without bumping the file.

Step-by-step fix (Unity import)

1. Model tab

  1. Select the FBX in the Project window.
  2. Inspector → Model: set Scale Factor so character height matches design (often 1 when Blender export already encodes meters correctly; use 0.01 or 100 only when you intentionally treat Blender units as cm and Unity as meters—do not guess both in Blender and Unity).
  3. Bake Axis Conversion only if your studio template requires it; otherwise keep one clear path.

2. Rig tab

  • Humanoid: after scale looks correct on the Skinned Mesh Renderer in a test scene, configure Avatar and Muscle & Settings; fix scale before spending time on muscle tuning.
  • Generic: confirm the root object scale in the hierarchy is 1,1,1 after import.

3. Verify against a reference

  1. Create a Cube (1,1,1) in a fresh scene.
  2. Place your imported character next to it.
  3. Eye-height for a humanoid should match your design doc (often ~1.6–1.8 Unity units for meters).

If the cube test fails, return to Blender Apply Scale before touching Humanoid muscles.

Alternative fixes

Situation What to try
Only one asset wrong Compare its Object Scale in Blender to a “known good” character; rebind or re-export after apply
Batch of legacy files Script or checklist: apply scale, fixed FBX preset, reimport Unity template
FBX addon experimental features Use the same FBX IO version across artists; document version in the repo
Mixamo or external rigs Import to Blender once, apply scale, re-export with your house FBX preset

Verification checklist

  • [ ] Armature and mesh object scale in Blender is 1,1,1 before export
  • [ ] Apply Scale (and rotation if needed) recorded in the .blend history or export notes
  • [ ] FBX Apply Scalings matches your written pipeline standard
  • [ ] Unity Scale Factor matches that standard (no double correction)
  • [ ] Character height matches reference cube / design spec in a blank scene
  • [ ] Animation clips play without cumulative scale drift on the root

Prevention

  • Check in an export-template .blend with locked unit scale and an empty reference mesh (cube of known size).
  • Store one export preset JSON or screenshots in version control.
  • In code reviews for art, reject FBX where Blender Scale is not 1 on rig roots.

FAQ

Why not fix scale only in Unity Scale Factor?

You can, but then every re-export from Blender may fight a “magic number” in Unity. Fixing Apply Scale and export once keeps source of truth in the DCC and avoids per-asset drift.

Does Apply Scale break my armature?

It can change rest pose if you applied scale at the wrong mode or with modifiers in a bad order. Work on a copy, apply in Object Mode with a tested bind, and re-test a simple animation clip in Unity.

My rig is correct in Blender but tiny in Unity only with Humanoid

Confirm generic import size first. If generic is correct and humanoid is not, the issue is often avatar setup or root selection—not primary scale. Still fix Blender scale first to rule out double errors.

Related links