The 3D Handbook
Reference

3D file formats

Which 3D file formats move assets between tools and engines, what each is good and bad at, and which to use for a game pipeline.

foundationsexportpipelinereference

A 3D file format is the container that carries meshes, and sometimes materials, animation and whole scenes, from one program to another. For game work you mostly need two kinds: the native format of your modeling tool, where you keep your working file, and an exchange format you export to the engine.

Unity's manual lists what a model file can hold: "meshes, materials, textures" and, for animated characters, animation data (Unity 6.6 Manual: Models). Not every format carries all of these.

#Format comparison

Format Typical use in a game pipeline Strengths Limits
FBX (.fbx) The default exchange format for Unreal and Unity "A 3D and animation interchange format"; Unity and Unreal both treat it as their primary import format (aras-p.info) Proprietary, owned by Autodesk, with "no public spec" ; scale and axis settings are easy to get wrong
OBJ (.obj) Simple static meshes, sculpt and scan exchange Fast to read: Blender's C++ importer is 10–300× faster than its old Python one (aras-p.info) Has obscure corners, such as NURBS curves and line continuations, that importers still have to handle
glTF (.gltf, .glb) Godot, web and real-time viewers Actively developed in Blender, with a recent export option for named vertex colours (Blender Developer Documentation) Unreal and Unity still treat FBX, not glTF, as their primary import format (aras-p.info)
USD (.usd, .usda, .usdc) Large scenes, layout and film or virtual-production pipelines Growing support; Blender 4.5 added USD export of text objects and writes MaterialX materials as OpenPBR Surface (Blender Developer Documentation) Support is still changing release by release; Blender 4.5 added USD import of animated camera properties and skeleton rest poses
COLLADA (.dae) Legacy exchange Unity still lists a scale factor for .dae (Unity 2019.4 Manual) Deprecated in Blender 4.5, with removal announced for 5.0 (Digital Production)
Native (.blend, .ma/.mb, .max) Your working source file Keeps modifiers, history and everything else your tool knows Unity can import them only with the authoring software installed, and says "You should not use these file formats in production" (Unity 6.6 Manual)

#FBX in more detail

FBX is the format you will use most for Unreal and Unity, which "still both treat FBX as the primary format in how 3D data gets into the engine" (aras-p.info: Blender FBX importer via ufbx). Aras Pranckevičius, who wrote Blender's new FBX importer, describes it as "a proprietary format that is still quite popular in some spaces" whose main downside is that "it is closed and with no public spec" (aras-p.info: Blender FBX importer via ufbx). Blender cannot use Autodesk's closed-source FBX SDK, so its developers "had to reverse engineer the format" (aras-p.info: Blender FBX importer via ufbx). He also notes that Autodesk "seems to have stopped around year 2020" developing it (aras-p.info: Blender FBX importer via ufbx).

Practical points from engine documentation:

Blender's FBX support is changing. Blender 4.5 added a new experimental FBX importer, written in C++ on the ufbx library and "generally 3x-15x faster than the old one"; at the time, the plan was to remove the Python importer at some point in the future (Blender Developer Documentation: Blender 4.5 LTS: Pipeline & I/O; Blender 4.5 LTS Manual: FBX). The new code only imports. Asked about a new exporter, its author replied, "if or when that will happen is anyone's guess" (Blender Developer Forum: New FBX importer: Feedback and discussion).

#Native files versus exchange files

Keep your native file as the master. Export a fresh exchange file each time it changes. Unity can import .blend, .max, .ma and .mb files directly, but it does so by launching the authoring application in the background to convert them through FBX, which needs that software installed on every machine that imports the project (Unity 6.6 Manual: Support for proprietary model file formats). Unity's own advice is to export FBX where possible (Unity 6.6 Manual: Support for proprietary model file formats).

#Common mistakes

#Further reading and watching

References

  1. Unity Technologies · Models · Unity 6.6 Manual, 2026 · docs · accessed 2026-10-20
  2. Aras Pranckevičius · Blender FBX importer via ufbx · aras-p.info, 2025 · article · accessed 2026-10-20
  3. Aras Pranckevičius · Speeding up Blender .obj import · aras-p.info, 2022 · article · accessed 2026-10-20
  4. Blender Foundation · Blender 4.5 LTS: Pipeline & I/O · Blender Developer Documentation (release notes), 2025 · docs · accessed 2026-10-20
  5. Unity Technologies · Creating models outside of Unity · Unity 2019.4 Manual, 2020 · docs · accessed 2026-10-20
  6. Bela Beier · Blender 4.5 Beta: Nodes Get Nifty, Collada Gets the Boot · Digital Production, 2025 · article · accessed 2026-10-20
  7. Unity Technologies · Support for proprietary model file formats · Unity 6.6 Manual, 2026 · docs · accessed 2026-10-20
  8. Unity Technologies · Preparing your model files for export · Unity 6.6 Manual, 2026 · docs · accessed 2026-10-20
  9. Cinevva · Blender to Unreal Engine Export Checklist: FBX Settings, Bone Axes, and Scale (2026) · Cinevva, 2026 · article · accessed 2026-10-20
  10. Blender Foundation · FBX (Experimental) · Blender 4.5 LTS Manual, 2025 · docs · accessed 2026-10-20
  11. Aras Pranckevičius and Blender community · New FBX importer: Feedback and discussion · Blender Developer Forum, 2025 · forum · accessed 2026-10-20
  12. Unity Technologies · Importing model files · Unity 6.6 Manual, 2026 · docs · accessed 2026-10-20
  13. Epic Games · Nanite Virtualized Geometry in Unreal Engine · Unreal Engine 5.8 Documentation, 2026 · docs · accessed 2026-10-20

Last updated 2026-10-22