Ochrestack

Guides / Blender animation export

Do you need to bake constraints before exporting Blender animations?

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

If your character is one armature with IK, Copy Rotation and drivers, and you export one clip at a time (nothing on the NLA), Blender's glTF and FBX exporters already bake the constraints: you need neither a manual bake nor Rigbake.

The forum answer you will usually find is "constraints don't get exported", or "disable all bone constraints before you export". For the most common rig, that is not what Blender does today. Below is what we measured, the two setups where the default export really does go wrong, and a checklist that applies to every rig.

1. The short answer

2. How we measured

Each rig is built in code. We export it with Blender's own exporters, every setting left at its default except "Selected Objects" (what File > Export gives you), then import the file back into an empty Blender scene. For every deform bone we compare the position and rotation of the imported animation with the live rig at five frames per clip (1, 6, 12, 18 and 24). A bone counts as matching within 1 mm and 0.001 rad. The runs used Blender 4.2, 4.5 and 5.0 as Python modules. FBX files are scored with the 4.2 or 5.0 importer, because Blender 4.5's FBX importer misreads files with several takes.

The numbers below are the worst bone over all frames: position error in metres / rotation error in radians.

3. Six single-rig setups, one clip each

Setup (one armature, one clip)Default glTFDefault FBX
IK + Copy Rotation + a driver, all targets inside the rig0 / 00.00001 m / 0
IK target is a separate, animated Empty0 / 00.00095 m / 0.0021 rad, plus a junk take "TargetMove" (the Empty's action)
A driver that reads a keyed custom property0 / 00 / 0
Damped Track and Limit Rotation, deform bones not keyed0 / 00 / 0
A deform bone under a constrained, non-deform MCH bone0 / 00 / 0
The armature object has a Child Of to a moving Empty0 / 00 / 0, plus a junk take "Carry"

glTF was exact in all six. FBX was exact or within 0.01 mm in five. The exception is an IK target that is a separate animated Empty: FBX was 0.00095 m and 0.0021 rad off, just over our 0.001 rad rotation tolerance (about 0.1°, which you are unlikely to see), and it added a take named after the Empty's action. Exporting deform bones only (glTF's "Deform Bones Only", FBX's "Only Deform Bones") gave the same results.

The junk takes are worth knowing about: Blender's FBX exporter, by default, writes every action in the file that fits the armature as its own take. In the engine you see extra animations you never made. Page 3 covers that in detail.

4. Where it does go wrong

Two setups break the default export, and baking constraints by hand fixes neither of them on its own. Each has its own guide:

5. If you bake by hand anyway

There are good reasons to bake: to clean up the keys, or for a tool that reads only plain keyframes. The manual route, as Blender users describe it on the glTF exporter's issue tracker (glTF-Blender-IO issue #439):

  1. Work on a copy of the file, or on a duplicate of the armature and its meshes. Clear Constraints removes the rig's constraints, so the original is no longer a working rig afterwards.
  2. Make one clip the active action.
  3. In Pose Mode, select the bones and choose Pose > Animation > Bake Action, with Visual Keying and Clear Constraints on.
  4. Repeat for each clip, one action at a time.

Bake each clip from a neutral pose. Channels that a clip doesn't key are not reset by the bake: they keep whatever value the rig had when you started, from the previous clip or from posing by hand, and that value is baked into every frame. Before each bake, put the rig back at rest (Pose > Clear Transform > All). This is the same leak that makes Blender's FBX export write a wrong Idle take on page 3, where it was 0.60 m.

6. A pre-export checklist for every rig

These problems are not about constraints, and they reach the engine whichever way you export:

A pre-export rig check on the Blender Studio character Rain: '7 issues, 2 notes in RIG-rain', including meshes with more than four bone weights per vertex, meshes whose modifiers stay unapplied to keep shape keys, vertex groups with no weights or no matching bone, and deform bones without weights, each with its fix and a Select button
The same checklist run on a real production character, Rain, in Blender 4.2: seven issues, each with its fix. Her 2,788 bone constraints are not among the issues: the check lists them as a note, because the export bakes them. (This is Rigbake's Validate button; tap the image for the full Blender window.) Character: Rain Rig (CC) Blender Foundation | studio.blender.org, used under CC BY 4.0; we added the animation clips.

7. Where Rigbake fits

Rigbake is our Blender add-on for the two setups in section 4. It bakes each clip from the rest pose into a new _baked action, leaving your own actions untouched, and exports one take per action, named after the action, through Blender's own glTF and FBX exporters with presets for Godot, Unity and Unreal. It also runs the checklist above as a Validate button. For a single rig like the one in section 1 it is a convenience, not a fix. The FBX results on this page were measured by re-importing in Blender and in Godot 4.7, not inside Unity or Unreal. Rigbake for Blender.