FBX: The Complete Guide to Autodesk's 3D Animation Exchange Format
If you have ever moved a rigged character between 3D applications — from Maya to Unreal Engine, from MotionBuilder to Unity, from Blender to Cinema 4D — you have almost certainly used FBX. The FilmBoX format, later renamed FBX (Filmbox eXchange), has been the dominant standard for 3D animation interchange since the late 1990s. It is not without its problems, but no alternative has managed to displace it from the heart of game and film pipelines.
History: From MotionBuilder to Autodesk
FBX was originally developed by Kaydara, a Canadian software company, for their MotionBuilder motion capture software in 1996. The format was designed specifically for motion capture data exchange — getting mocap animations into different 3D applications without losing timing, bone hierarchies, or blend shape targets.
Alias|Wavefront acquired Kaydara in 2004 (and with it, FBX), and then Autodesk acquired Alias in 2006, making FBX an Autodesk proprietary format. Autodesk made FBX the universal interchange format across their entire product line: Maya, 3ds Max, MotionBuilder, Mudbox, Character Generator, and Revit all use FBX as the primary cross-application exchange format.
Crucially, Autodesk provides a free FBX SDK that any software developer can use to read and write FBX files, which is why virtually every major 3D application supports FBX despite its proprietary nature.
What FBX Stores
FBX is a comprehensive 3D scene format — it is not just geometry, but an entire scene graph:
Geometry
- Polygon meshes: vertices, faces, UVs, normals, vertex colors
- NURBS curves and surfaces (not all importers support these)
- Subdivision surfaces (partial support across applications)
Rigging and Animation
- Skeleton/bone hierarchies: complete armature structures
- Skin deformation (skinning): per-vertex bone weights for character animation
- Blend shapes / morph targets: facial animation, shape keys
- Animation curves: keyframe data for every animatable property
- Motion capture clips: multiple takes in a single file
Scene Data
- Cameras: position, FOV, near/far clip planes, film back settings
- Lights: directional, point, spot, area lights with intensity and color
- Materials: Phong/Lambert shading, textures references (by path or embedded)
- Transformations: local and world transforms, pivot points
What FBX Does NOT Store Well
- Physically Based Rendering (PBR) materials: FBX predates PBR and stores legacy Phong/Lambert shading. PBR properties are stored as custom user properties — not standardized, so they often don't transfer correctly between applications
- Procedural geometry: noise, modifiers, generators are baked on export
- Node-based material graphs: complex shader networks are not supported
- Non-standard rigs: IK constraints and custom rig nodes may not transfer
Binary vs ASCII FBX
FBX files exist in two formats:
- Binary FBX: the default, compact binary encoding. Files are smaller and faster to read/write. Not human-readable.
- ASCII FBX: older, larger text-based format. Human-readable but rarely used in modern workflows. Some older tools only export ASCII FBX.
Modern software (Maya 2013+, Blender 3+, Unreal Engine, Unity) all use binary FBX by default.
FBX Versions
FBX has gone through many versions, and version compatibility is a constant headache:
| FBX Version | Major Changes |
|---|---|
| FBX 6.0 | Early Kaydara version |
| FBX 7.1 | Autodesk era, improved animation |
| FBX 2011 (7.2) | Better scene containers |
| FBX 2013 (7.4) | Most compatible — recommended for game engines |
| FBX 2014-2020 | Incremental improvements |
| FBX 2023 | Latest Autodesk SDK |
FBX 2013 (version 7.4) is the safest choice for game engine compatibility (Unity and Unreal Engine both recommend it). Newer FBX versions may include features that game engines do not yet support.
FBX in Game Development
FBX is the primary format for importing assets into Unity and Unreal Engine:
Unity
Unity imports FBX files directly into the project, creating prefabs with mesh, materials, and animations. Recommended settings:
- Use FBX 2013 for maximum compatibility
- Apply scale factor 1.0 (Unity uses meters; Maya/3ds Max default to centimeters, so scale 100× or export at scale 1.0)
- Embed textures or keep them in the same folder
- Use Take 001 as the default animation clip name for Unity's legacy animation system
Unreal Engine
Unreal's FBX importer is more sophisticated, supporting LODs (Levels of Detail), material instances, and physics assets in a single FBX file. Unreal recommends:
- FBX 2013 or FBX 2020 depending on the feature set
- Apply forward axis as X, up axis as Z (Unreal's coordinate system differs from Maya's Y-up)
- Use one mesh per FBX file for assets; use Scene FBX for environment chunks
Blender and FBX
Blender's built-in FBX importer/exporter is reasonably good but has limitations:
- Import: handles most game-ready FBX assets well (meshes, armatures, animations)
- Export: use "FBX Units Scale" set to 1.0 for correct scale in Unity/Unreal; apply transforms before export with Ctrl+A → All Transforms
- Materials: Blender's Principled BSDF materials export as Phong/Lambert in FBX — textures are referenced by file path
For complex rigs (IK constraints, custom bone shapes, drivers), use alembic or USD instead of FBX — these features simply do not transfer.
Common FBX Problems and Fixes
| Problem | Cause | Fix |
|---|---|---|
| Model is 100× too large | Unit scale mismatch (cm vs m) | Export at scale 1.0 or set FBX Units Scale |
| Animations don't import | Wrong FBX version or take name | Use FBX 2013, check animation take name |
| Materials are wrong | PBR → Phong mismatch | Re-assign materials after import |
| Bones are offset | Bind pose data missing | Apply all transforms before export |
| Textures missing | Texture paths absolute not relative | Use "Embed textures" or copy textures to destination |
| Model rotated 90° | Coordinate system mismatch | Rotate root bone 90°, or fix in import settings |
Alternatives to FBX
FBX's proprietary nature and PBR limitations have spurred alternatives:
- glTF 2.0 / GLB: the web and real-time standard. Open, PBR-native, Khronos-backed. Growing adoption in game engines.
- USD (Universal Scene Description): Pixar's scene format, now open-source. Supports complex layered scenes, PBR materials, and is becoming the film/VFX industry standard (Apple Vision Pro uses USDZ).
- Alembic (.abc): the standard for baked geometry caches — cloth simulations, fluid sims, dense point clouds. Not suitable for rigged characters.
- Collada (.dae): XML-based, fully open, but slow and inconsistent implementation across software. Largely superseded by glTF.
Despite these alternatives, FBX remains dominant in game development pipelines due to sheer inertia and universal engine support. glTF is eating into FBX's territory for real-time applications, while USD is taking over in film production — but FBX will remain relevant for years to come.
Related conversions
Frequent conversions across the catalogue: