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.