Blender Animation Troubleshooting

Fixing Blender FBX Animations Not Previewing in Unity

I recently hit a frustrating wall where my FBX animations, exported directly from Blender, refused to render or even play a preview within the Unity Inspector, despite the Bake Animations box being checked.

Need meshes, kitbash parts, materials, or sample scenes to test this Blender workflow in a real project?

Open on 3DCGHub

1. The Symptom and Initial Diagnosis

The problem was immediate: I could see the FBX file in my Unity project, but the animation tab was effectively dead. The preview window displayed nothing, and the bake animations toggle was grayed out as if no data existed.

My first instinct was to blame the FBX export settings. I spent an hour toggling NLA strips, keyframe bake settings, and armature path optimizations, assuming I had missed a simple checkbox in the export menu.

  • Verified animation data existed in Blender Dope Sheet
  • Checked export settings for 'Bake Animation' box
  • Confirmed armature names matched across software
  • Compared FBX versions (7.4 vs 6.1)

2. Investigating the NLA Disconnect

After ruling out the export settings, I dove into the Action Editor. It became clear that while my actions existed in the blend file, they weren't being 'seen' by the FBX exporter because they weren't explicitly attached to the armature.

Unity's importer expects the animation data to be part of the object hierarchy in a way the FBX format can interpret. Without a clear connection to the armature, the exporter effectively drops the animation clips during the write process.

  • Opened the Action Editor in the animation workspace
  • Switched to the NLA editor view
  • Observed that the actions were floating and not pushed to the track
  • Validated that the armature was the root node

3. The Fix: Using Action Strips

The solution is to force Blender to recognize these animations as part of the armature's stack. By pushing your actions into the Non-Linear Animation (NLA) editor, you create a concrete association that the exporter can parse.

Once I pushed every action into an NLA strip, I performed a fresh export. The difference was immediate: Unity recognized the imported clips, and the preview window finally allowed me to scrub through the animation frames.

  • Select your armature in Object Mode
  • Open the NLA Editor workspace
  • Push down each action to the NLA track
  • Re-export to FBX with 'NLA Strips' selected

4. Verification and Stability

To confirm the fix, I verified that Unity's animation import settings allowed me to set the wrap mode and loop time. Because the NLA strips were clearly defined, Unity treated them as individual clips within the FBX file.

This workflow has proven robust for my subsequent character models. Ensuring that your animation data is explicitly 'pushed' to the armature is now my standard practice before any export operation.

  • Checked the Unity Animation tab for clip names
  • Verified playback functionality in the preview pane
  • Tested frame looping settings
  • Validated state transition in the Animator Controller

FAQ

Do I need to push every animation as an NLA strip?

Yes, if you want them to be reliably detected as individual clips by the Unity FBX importer. It acts as a manifest for the exporter.

Why did my animations work before without doing this?

Sometimes Blender can infer active actions, but relying on this is fragile. Explicitly pushing to the NLA ensures your data is written to the file consistently.

Can I have multiple armatures in one export?

Yes, but ensure each armature has its own associated NLA tracks, otherwise the clips may be assigned to the wrong root object.