A downloadable Blender add-on

Download NowName your own price

This is a Blender add-on I use to simplify my gamedev life: export a collection of objects modeled in Blender for consumption by Unreal Engine with a single click.

Unit conversion, axis conversion, and object transforms are taken care of. So imported meshes appear properly scaled, rotated, and most importantly with correct origins, regardless of how they are placed in the Blender scene.

I'm providing this script as a starting point for customizing your own Blender > Unreal pipeline. Hopefully it saves you a few of the hours I spent digging up  information. The add-on might just work for you, but I encourage you to modify, improve and adjust it to fit your own workflow!

That being said, I'm open to suggestions on how to improve the script to be more generally applicable.


Installation

  • The add-on requires at least Blender 3.6 - it might work with older versions, but that's what it has been tested on.
  • Download the .py file to any folder.
  • In Blender, head to Edit > Preferences > Add-ons, click "Install" and navigate to the downloaded file. (On windows, the script will be copied to <AppData>\Roaming\Blender Foundation\Blender\3.x\scripts\addons, where you can directly modify it, if you like.)

Don't forget to enable the add-on!



After installation, you will have a new context menu  entry on the collection headers in the outliner:



Functionality

Here's what happens when you click the menu entry:

  • A temporary copy of the collection is created (single-user object copies).
  • Scale is applied to the objects, rotation and location are cleared.
  • The collection is exported to a standardized location: If your .blend file is named "Blurb-123.blend", exporting a collection named "Foo" result in a file "./Export/Blurb_Foo.fbx"
    • The numeric suffix is removed to support incremental versions of the .blend file going to the same .fbx.

The FBX export settings are what works for me, in particular:

  • Unit conversion is applied (a Blender unit of 1m is converted to 100 UE units).
  • Axis conversion is applied (from Blender's right-handed, Y front system to UE's left-handed, X front system).

This requires the appropriate import settings on the UE side! Most importantly, look for these:



You can easily modify the FBX export settings in the source, look for the "bpy.ops.export_scene.fbx()" call. If you already have an FBX exporter preset you'd like to use, you can copy the settings over - the preset is just another .py script.


Known issues

  • To export the object copies with their original names, the source collection's objects are temporarily renamed. I'm doing my best to clean up, even if the export fails. But you might end up with a collection full of objects with "_" appended to their names.
    • The quickest workaround is to save the file before exporting, and use File > Revert if names are messed up.

Download

Download NowName your own price

Click download now to get access to the following files:

export_fbx_ue.py 9 kB

Development log

Leave a comment

Log in with itch.io to leave a comment.