Blender + ManuelBastioniLAB to UE4 workflow

I’ve recently struggled more than usual to get this to work, so I’ll store it for later reference.
My sources are this great Youtube video and this post on the Unreal Engine forums.

Initial Setup

First thing to do is to correct a “feature” in Blender, the FBX export plugin adds a root on top of our armature root. That could create problems when exporting to UE4.

Python script and where to modify it

Under Blender/2.78/scripts/addons/io_scene_fbx/ edit the file named You need to find the following section.

elif ob_obj.type == 'EMPTY' or ob_obj.type == 'ARMATURE':
empty_key = data_empties[ob_obj]
connections.append((b"OO", get_fbx_uuid_from_key(empty_key), ob_obj.fbx_uuid, None))

And comment it like so

#elif ob_obj.type == 'EMPTY' or ob_obj.type == 'ARMATURE':
#empty_key = data_empties[ob_obj]
#connections.append((b"OO", get_fbx_uuid_from_key(empty_key), ob_obj.fbx_uuid, None))

Then, download Manuel Bastioni’s plugin from here, unzip it under Blender/2.78/scripts/addons/ and activate the plugin under File|User Preferences|Add-ons|, also make sure to save your settings so you won’t have to do this step again.

Blender Addon Settings

Creating a new character

On a fresh Blender file, delete the cube and set the scene units to centimeter (Metric and 0.01 unit scale).

Then, click on the ManuelBastioniLAB tab, select a preset of your liking and click on Init Character.

Configure the character as your will, the only setting that is important here is inside the Pose Tools section, where you should select the t-pose.

However, before finalizing, you need to delete the modifiers except for the armature (DO NOT APPLY ANY OF THEM).

Make sure it looks more or less like this.

Now we can click on finalize. I like to clean things up as well, and delete all cameras and lamps.

The issue that needs to be corrected now is that our character is too small, measuring only a few centimeters, so we need to scale it by 100 or so. Select everything and hit S then type 100 and press Enter. You can adjust to a correct zoom level with the Home key.

This scaling needs to be applied to the object, otherwise we will have bone weight issues in UE4. You do this by pressing Ctrl+A and selecting Apply Rotation and Scale.

We are now ready to export our character to an FBX formatted file. These are the export settings that work for me, but YMMV.

Under UE4, these are the import settings that work for me. Using this process I don’t get any errors.

Open up the newly created skeleton. There is a section called Retarget Manager where you need to select the Humanoid Rig and make sure you assign each node to its corresponding bone in your skeleton. You should do this for your source and your target skeletons. Also, make sure everything is saved.

Now, find the element that you want to retarget, right click on it and select Retarget Anim Assets|Duplicate Anim Assets and Retarget.

Fill the menu as you prefer, making sure you select your target skeleton (the one we just imported) and placing the files under our desired folder. Once everything is ready hit Retarget.

5 thoughts on “Blender + ManuelBastioniLAB to UE4 workflow”

  1. Hi. First, thanks for sharing this. I’ve been dying to find out how to import Manuel Bastioni character to UE4. This is actually the first decent tutorial I could find. However, I still couldn’t properly set up the character in UE4, so if you don’t mind me asking, I was hoping you could help me solve the problems.
    I followed all your instructions and then retargeted some animation files to a Manuel Bastioni character but it didn’t work. At first I thought there’s something wrong with retargeting since the mesh seemed to have deformed significantly. It didn’t even look like a human. More like a rendered particle of virus or something. I did the whole export-import process a dozen more times, but the result didn’t change. Any idea why this is happening?
    Also, how do you set up textures for the Manuel Bastioni character in UE4? I tried to make a material myself with exported textures, but even the best result I could get was not so good. For instance, color of legs and scalp differed from other body parts, and eyes(including cornea) just wouldn’t get any color.
    You must be pretty busy with your own things and I know it’s really bothersome. But I’d really grateful if you could help me out on this matter.


    1. Hi, thanks for your kind comments. I did actually run into that same problem when retargeting and getting a “particle”. This is due to there being some problems with your units somewhere. Make sure you apply the saling in Blender as I state in my tutorial. Secondly, if that still doesn’t work, maybe you can try using a different unit. Try to find out what units your armature is using.
      I haven’t played yet with textures, sorry I can’t help you with that yet.

      1. Bummer :/ Well, I guess I should keep testing how to apply texture properly.

        Regarding animation, I got it to work after few more trials. Still, there are some tweaks needed. Hip looks a bit weird and arms are unacceptable… Maybe the pose alteration I did was not good enough. How about you? Do retargeted animations work flawlessly?

        1. Most are ok, however I did run into some problems because I retargeted some animations from a Mixamo skeleton and the root bone is a pain. What kind of skeleton are you using?

        2. kyle, manuel bastioni lab uses “cycles render” for the materials, witch have a blender node-component inside…. i try to export too and fail. However, “Blender render” its compatible with ue4; so i create new materials to be compatible with blender render type, added to the characters and works well on unreal. If you discover anything share! Good luck!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


This site uses Akismet to reduce spam. Learn how your comment data is processed.