Ochrestack

Guides / Blender animation export

Blender export has no animations? If your character uses a control rig, here's why, and the free workaround

For Godot, Unity and Unreal. Measured on Blender 4.2, 4.5 and 5.0. Published 6 November 2026.

1. The symptom

The character animates fine in Blender. You select the game rig and its mesh, export a .glb or an .fbx with the default settings, and the file has no animations. In Godot, the imported scene's AnimationPlayer is empty. Re-importing the file into Blender shows the same thing: the mesh and the skeleton, no clips.

2. The cause

Many game characters are built from two armatures:

The keys live in the control rig's actions. The deform rig moves, but it has no action of its own. Blender's default export writes the actions of the armatures it exports, so for the deform rig there is nothing to write. A workflow discussion in Godot's proposals tracker (#4680) describes the same setup in passing: the key frames "are mainly defined on the IK control bones".

Baking constraints does not help here by itself: the deform rig's constraints are fine, and the exporters do evaluate them (see Do you need to bake constraints before export?). What is missing is an action for the exporter to pick up.

3. Measured

We built the standard game-rig pattern in code: a deform armature with Copy Transforms on every bone, targeting a control armature that holds the keys, then exported only the deform rig and its mesh with Blender's defaults.

Export (defaults, selected objects: deform rig + mesh)Animations in the file
glTF 2.0 (.glb)0
FBX0
Either, with deform bones only0

The result was the same on Blender 4.2, 4.5 and 5.0. In a separate check, a tester built a second character from scratch in this style (a control rig with IK feet and four clips; a deform rig whose 18 bones follow it through Copy Transforms) and got the same: 0 animations in glTF and in FBX, both when re-imported into Blender and when imported into Godot 4.7.

4. The free workaround, step by step

Blender can export the control rig's motion through the deform rig, if you tell the exporter to sample the scene instead of looking for the deform rig's actions:

Both came out exact in our test (every deform bone within our 1 mm / 0.001 rad tolerance, in fact 0 / 0), but only for the clip that is currently active on the control rig. The other clips are not in the file.

For several clips:

  1. Select the control rig and, in the Action Editor, make the first clip its active action.
  2. Select the deform rig and its mesh, and export with the settings above.
  3. Rename the file after the clip (for example hero_walk.glb).
  4. Repeat for each clip.

If you only need the one clip that is active on your control rig, this free workaround gives an exact result, and you don't need Rigbake.

5. With Rigbake

Rigbake, our Blender add-on, does that clip-by-clip loop for you, into one file. Select the deform rig or its mesh, not the control rig: Rigbake finds the control rig through the constraints, bakes each of its clips from the rest pose and exports one clip per action, named after the action. A clip counts when it is the control rig's active action or sits on its NLA; any other action is named in the panel with an Add to NLA button. If you select the control rig alone, the Export button is greyed out, with a sentence naming the rig to select. On the tester's character, the default settings exported 4 clips, every deform bone within 2e-6 m of the live rig at every frame, and Godot 4.7 listed the same 4 animations. Rigbake for Blender.

6. Godot import tips

Whichever way you export, the file can be exact and the playback in Godot still a little off, because of two import settings:

Click Reimport after changing them. With Godot's defaults, our every-frame check measured bones up to 13 cm off on fast motion, and the tester's run clip was 40 mm off. With the FPS matched and the Optimizer off, every bone matched Blender within 0.0002 m in our check, and the tester's four clips matched exactly.

7. Limits

Related: Why Blender's FBX export gives duplicate takes, and why one of them is wrong.