Animation
Importing FBX and GLB characters into Unity: Humanoid rig setup and common fixes
Set up FBX characters as Unity Humanoid avatars, import clips, handle GLB files with glTFast, and fix scale, pose and material problems.
By AssetLoom Team, published , 7 min read
Unity reads FBX out of the box and turns a humanoid skeleton into an Avatar, which is what lets one set of clips play on many characters. GLB is different: Unity has no built-in glTF importer, so you add a package, and the result is not a Humanoid rig. Knowing that difference up front saves a lot of time.
This guide covers a Humanoid FBX import step by step, what to expect from a GLB, and the fixes for the problems we see most. The examples use our free Rigged Mannequin Base Character, whose bone names follow Unity’s Humanoid slots, but the steps apply to any humanoid character. Setting names are from the Unity 6 manual and match Unity 2022.3 LTS.
FBX or GLB in Unity?
| FBX | GLB (with Unity glTFast) | |
|---|---|---|
| Importer | Built in | Add the Unity glTFast package |
| Humanoid Avatar | Yes, on the Rig tab | No; the docs don’t list Humanoid support |
| Animation | Mecanim clips, retargetable when Humanoid | Legacy or Mecanim clips on the original skeleton |
| Materials | Basic; usually need adjusting | glTF PBR materials with glTFast’s own shaders |
| Best for | Characters that share clips | Props, static models, characters with their own clips |
Rule of thumb: if the character needs to share animations with other characters through Humanoid retargeting, use FBX. Our mannequin and animation packs ship an FBX made for Unity and Godot (Y up, metres) for this reason, alongside GLB and the Blender source. If you only have a GLB, see the last step of the GLB section.
Step by step: import the FBX
- Copy the FBX and its textures into a folder under
Assets, for exampleAssets/Characters/Mannequin. Select the FBX in the Project window to see its Import Settings in the Inspector. - On the Model tab, leave Scale Factor at 1 and Convert Units on. Leave Bake Axis Conversion off unless the model arrives rotated (see Common problems). Turn off Import Cameras and Import Lights if the file has none you need. Click Apply.
- Drag the model into the scene next to a default cube, which is 1 m on each side. Our mannequin is 1.75 m tall, so it should stand a little under two cubes high, feet on the ground.
Step by step: set up the Humanoid rig
- Open the Rig tab and set Animation Type to Humanoid. Set Avatar Definition to Create From This Model and click Apply.
- Click Configure. Unity opens the Avatar editor with the body map. Green slots are mapped; any red required slot needs a bone dragged onto it from the Hierarchy. A rig with Unity-style bone names, like ours, should map every slot on its own.
- Check the hands and the head tabs as well as the body. Fingers are optional, but if they are mapped, check that each finger bone is in the right slot.
- If the character binds in an A-pose, open the Pose menu at the bottom of the Mapping tab and choose Enforce T-Pose. Our mannequin binds in an A-pose, so it needs this step.
- Click Apply, then Done. The model now has an Avatar sub-asset, shown under the FBX in the Project window.
Optimize Game Objects and attachment bones
With Optimize Game Objects ticked on the Rig tab, Unity strips the bone transforms from the hierarchy. If you need a bone in the scene, for example a weapon socket, add it under Extra Transforms to Expose.
Step by step: import the animation clips
- Copy the clip FBX files into their own folder and select them all.
- On the Rig tab, set Animation Type to Humanoid and Avatar Definition to Copy From Other Avatar, then pick your character’s Avatar as the Source. Clips that share the character’s skeleton should use its avatar rather than making their own.
- On the Animation tab, check Import Animation is on. For each looping clip (walks, runs, idles), tick Loop Time, and Loop Pose if the loop match indicators show a small seam.
- Set the root transform options. For in-place cycles, tick Bake Into Pose for rotation and both positions. For root-motion clips, leave Root Transform Position (XZ) unbaked so the travel becomes root motion. The root motion guide explains each option.
- Click Apply, add the clips to an Animator Controller and assign it to the character’s Animator component.
Clips made for a different humanoid, for example from another pack, use their own avatar instead. Unity retargets between any two Humanoid avatars at runtime; our retargeting guide covers the details and the bone-name map.
Importing GLB files
- Open the Package Manager and add Unity glTFast (
com.unity.cloud.gltfast). It registers itself as the importer for.glband.gltffiles. - Copy the GLB into
Assets. A GLB keeps its textures inside the file. A.gltffile needs its.binand image files beside it, with the same names and relative paths. - Select the file to see its import settings. glTFast can import animation for the legacy Animation system or for Mecanim, or skip it. Expand the file in the Project window to see the scenes, meshes, materials, clips and textures it made.
- If you need a Humanoid avatar, use the FBX version instead. If you only have a GLB, open it in Blender, export an FBX, and import that as described above.
glTFast clips play on the skeleton they came with, so GLB works well for props, environment pieces and characters that bring their own animations.
Materials and textures
- Pink materials mean the shader doesn’t match your render pipeline. In URP or HDRP, convert the materials or assign the pipeline’s Lit shader.
- Editing imported materials: on the FBX Materials tab, use Extract Materials and Extract Textures to get editable copies, or remap each imported material to one of your own under Remapped Materials.
- Packed maps: an ORM texture (occlusion, roughness, metallic) doesn’t plug straight into Unity’s Lit shaders, which use smoothness rather than roughness. Repack it or use a Shader Graph. The PBR textures guide covers channel packing.
- Normal maps: set the Texture Type to Normal map. Unity expects OpenGL-style normals, so DirectX-style maps need their green channel flipped.
Common problems
The character is tiny or huge
Check Convert Units and Scale Factor on the Model tab. A file exported in centimetres with the wrong unit tag can arrive 100 times off; correct the export, or set Scale Factor as a stopgap. Fix scale at import, not on the Transform, so the Avatar and root motion use the right size.
It lies down or faces the wrong way
Files from Z-up tools are converted on import. If the model arrives rotated, try Bake Axis Conversion so the fix is baked into the mesh rather than left on a parent transform. Characters should face +Z in Unity.
Configure shows red bones or the avatar is invalid
A required bone is missing or mapped to the wrong thing, such as the hand slot mapped to a finger. Drag the right bone onto each red slot. A rig with fewer than the required bones, or with the spine chain in the wrong order, can’t be Humanoid; use Generic instead.
Arms clip into the body or float away from it
The rest pose was never matched. Use Enforce T-Pose in Configure, then check the clip on the character next to the source rig.
The loop pops or the character drifts
Tick Loop Pose for cycles, and check Bake Into Pose for the parts of root motion you don’t want. If the character slowly turns, bake Root Transform Rotation.
Feet sink into the floor or hover
Under Root Transform Position (Y), set Based Upon to Feet and tick Bake Into Pose. Turning on Foot IK on the Animator state can also help on uneven ground.
A GLB has no Humanoid option
Expected: glTFast imports a GLB without a Humanoid avatar. Use the FBX for Humanoid characters.
Animation packs ready for Humanoid
Every AssetLoom animation pack uses the mannequin’s skeleton and includes FBX files for Unity. The listings were verified by re-importing every file in Blender; they were not opened in Unity for the listing, so run the checks above on your first import.
- Locomotion Animation Pack: walks, runs, strafes, turns, starts and stops.
- Unarmed Combat Animation Pack: punches, kicks, blocks and hit reactions.
- Melee Weapon Combat Pack: sword and shield plus greatsword, with socket bones to expose for attachments.
- Jumps, Falls and Interactions Pack: jumps, landings and everyday interactions.
Browse them in Animations and Characters. Working in Unreal too? See importing an FBX character into Unreal Engine 5.
Spotted a mistake or have a question? Email support@assetloom.io.