Export FBX from Unity to Blender - FACS01-01/FACS_Utilities GitHub Wiki

Guide on how to generate an FBX file from an avatar/model, and import it to Blender.

Required tools

- Unity FBX Exporter

This Unity Package allows to generate FBX's.

Install it on your Unity Project through Window/Package Manager.

- Better FBX Importer & Exporter

This Blender Addon is for importing FBX's into Blender with some extra post processing. It is a paid addon.

Install it on your Blender through Edit/Preferences... > Add-ons.

Steps

  1. Make a duplicate of the avatar with just Skinned Mesh Renderers (SMRs, aka the meshes) and Transforms (aka the bones) for generating the FBX (less cleanup later in Blender).

    To do this you can use Copy Components. Select all SMRs (and deselect the ones you don’t want to include, like props), then use Select Component Dependencies to select all Transforms used by the SMRs, and as Copy To use an empty GameObject.

You may find that the avatar has multiple "Armatures", in other words multiple skeletons in charge of moving different groups of SMRs. You should separate any extra skeletons (and their respective SMRs) from the main one.

  1. Right-click the avatar's root (or clothings root, or root for whatever group of Skinned Mesh Renderers you want to export), select Export To FBX, and use the following settings. Its recommended to select an Export Path outside of your Unity Project.

  1. In Blender, import the generated FBX as shown next. It will take longer than importing with CATS or default Blender, and if you try to interact with Blender it may appear freezed, just give it time.

  1. Clean up the model, removing unnecessary Empty objects (empty). If your FBX was well cleaned on generation, you should only need to remove one from the model's root.

    On each child object inside an Empty (only Armature in this case), set its Rotation to [1,0,0,0] and Scale to [1,1,1], then select the Empty and delete it.

Now you can keep editing the model as needed, and at the end export it from Blender to get your finalized FBX!

Notes

  • In Unity, if you don't remove empty GameObjects (GameObjects/Transforms that aren't part of the skeleton/Armature, or aren't used as bones for any Skinned Mesh Renderer) from the model's hierarchy when you generate the first FBX, those will become Empties in Blender.

  • In Unity, if you export an FBX from a hierarchy containing more than one skeleton/Armature, then you'll get more than one Armature in Blender, nested using Empties. The nested Armatures/skeletons will have their bones renamed to not overlap with the main Armature, but that will make them not very useful.

    Also, if a Skinned Mesh Renderer uses bones from multiple Armatures (like "Top1" in this example), the resulting mesh in Blender may be linked to multiple Armatures too (select the mesh and look in the Modifiers Tab).

    Always try avoid this cases by doing a good cleanup in Unity!

⚠️ **GitHub.com Fallback** ⚠️