The simplest OBJ conversion is File, Import, File, Export. That version often loses the parts that matter: a texture path, the intended scale, the difference between a static prop and a character, or the object origin the receiving pipeline expects. A professional conversion is mostly a verification pass. You need to know what OBJ can carry, what FBX can add, and which assumptions will survive the handoff to Unity, Unreal, a render farm or a client workstation.
What travels from OBJ to FBX
| Asset layer | OBJ source | FBX export |
|---|---|---|
| Geometry and UVs | Stored in the OBJ | Preserved if the mesh is valid |
| Materials | Basic MTL: diffuse colour and a few maps | Rebuilt from the Blender material nodes |
| Textures | External files referenced by MTL paths | External files or embedded media |
| Rig and animation | None | Only if added in Blender before export |
| Scene hierarchy | Grouped objects, not a full scene graph | Blender hierarchy and empty parents |
| Units and orientation | Convention, not a self-describing unit | Exporter settings and destination import |
The practical consequence is that OBJ cannot give you a rig. If the source is a static sculpt or a prop, that is fine. If the job needs a skeleton, add it in Blender and export the armature and mesh together. Do not expect FBX to invent animation data that the OBJ never carried.
The conversion workflow
01 - Import and read the scene. Use File, Import, Wavefront OBJ. Check the importer report for missing MTL references and inspect the outliner before selecting anything. OBJ files often arrive as several objects or a single merged mesh. Decide whether the parts need to remain separate for animation, collision or material assignment.
02 - Re-link the textures. Open the material and make sure the base colour image is actually connected. An OBJ can reference an MTL that exists but points at a file the current machine cannot find. Re-link the image, set the colour space correctly for colour versus data maps, and pack the resources if the FBX is leaving your machine.
03 - Fix scale and orientation. Compare a known dimension with a real object or a reference cube. Apply rotation and scale on the mesh once the number is correct. Put the origin where the destination expects it: at the bottom centre for a prop, at the feet for a character, at the pivot for a door or wheel. This is much easier to verify in Blender than after import in another application.
04 - Rebuild the material for FBX. FBX supports more material structure than OBJ, but the receiving engine still reads a limited set of inputs. Check the Principled BSDF, name the materials clearly, avoid relying on procedural nodes that will not export, and bake anything that must remain visually exact. If the target uses physically based rendering, keep the base colour, metallic, roughness and normal maps explicit and connected.
05 - Export selected objects. File, Export, FBX. Select the mesh and its armature rather than exporting the whole scene, because a stray camera, light or hidden object can confuse the receiving team. Choose the destination unit scale, enable the relevant smoothing and tangent options, decide whether to embed media, and save a test copy before changing advanced settings.
06 - Verify at the destination. Import the FBX into a clean scene in the target application. Check dimensions, origin, texture assignment, normals and the orientation of any attached object. A file that looks correct in the Blender viewport can still be rotated ninety degrees or scaled by one hundred in the engine. Test once, document the import preset, and reuse it for the rest of the batch.
Engine settings that save time
| Destination | What to confirm | Common symptom when missed |
|---|---|---|
| Unity | Scale factor, Y-up import, material remap | Model tiny, rotated or bright pink |
| Unreal Engine | Centimetre scale, forward axis, collision setup | Asset enormous or facing the wrong way |
| Blender to Blender | Apply transforms, keep object names stable | Nested scale that ruins later edits |
| Render farm | Embed or collect every texture | Missing maps on a different machine |
| Client handoff | Relative texture paths and a README | Grey model in a viewer with no assets beside it |
The traps worth checking twice
Broken MTL paths. The OBJ can be perfect while the MTL points at a folder that only existed on the author machine. Open the material, find the image, and use Pack Resources if the receiving application accepts embedded media. For external delivery, keep the model, MTL and texture folder together and test the package from a different folder.
Procedural materials that cannot travel. A node graph that looks beautiful in Blender may reduce to a flat base colour in FBX. Bake the result into image maps or rebuild the material with the inputs the target engine supports. The visual difference is usually not a conversion bug; it is an unsupported shader feature.
Hidden scale and parenting. A mesh can look correct while its transform carries a non-uniform scale or a rotated parent empty. Apply rotation and scale before export, then inspect the origin after import. Doing this once at the source prevents a week of "why is this asset different in every scene" debugging.
Materials with duplicate names. Multiple materials called "Material.001" can collide when a game pipeline merges assets. Rename them by surface and purpose - body_paint, glass_clear, rubber_grip - before the file leaves your project. Small housekeeping now saves a lot of rework later.
When FBX is the wrong destination
FBX is excellent for engines and animation, but it is not the best delivery format for every situation. A GLB is more compact for the web; USDZ is the practical route for Apple AR; STL is what a slicer expects for printing. If the receiving application only needs static geometry, OBJ may be enough and the extra material complexity of FBX is noise. Choose the container for the job, not because it is the most familiar extension in the export menu.
For generated assets, the same principle applies before conversion: check the mesh, the scale and the material while you can still see what is wrong. The game-asset workflowcovers that cleanup pass, and the FBX to GLB guidecovers the opposite direction when the next stop is a browser viewer rather than an engine.
