Utu Plugin - Unity to Unreal Project Converter
This plugin gives you the possibility to import a big chunk of the art work you did in Unity into Unreal.
Compatible Unity Versions (Windows, Mac & Linux): 2018 to 2023 and 6.0
Compatible Unreal Versions (Pre-compiled)
- Windows: 4.25, 4.26, 4.27, 5.1, 5.2, 5.3, 5.4, 5.5
- Mac: 4.25, 4.26, 4.27, 5.1
Compatible Unreal Versions (Not pre-compiled, you have to compile them yourself):
- Linux: 4.25, 4.26, 4.27, 5.1, 5.2, 5.3, 5.4, 5.5
- Mac: 5.2, 5.3, 5.4, 5.5 (For UE4 use Xcode13. For UE5 use Xcode14)
Utu Plugin Demo & Tutorial:
https://youtu.be/34qx5Ac8cZo?si=ne29q3cGtNJ6WWsu
Other Unreal Engine Tutorials:
https://www.youtube.com/AlexQuevillonEn?sub_confirmation=1
Need Help?
Email: Alex.Quevillon.Help@gmail.com
Discord: https://discord.gg/4kGcyYdsaT
Features:
- Export / imports the main asset types used in a game engine (Scenes, Meshes, Animations, Materials, Textures, Prefabs, Lights & Camera)
- Re-creates the hierarchies (Content Browser, Scenes, Prefabs)
- Has two multi-tabs user interfaces which provides a lot of information about the process and the assets
- The export and import processes can be cancelled at any time
- Every export and import comes with a log file that is automatically saved so it's easier to debug if you have any problems
- A list of settings that let you adjust the import a little bit
Important/Additional Notes:
- This plugin is not perfect and will probably never be due to the differences between both engines.
- You will probably still have some adjustments to do manually for the scenes to be perfect, but the amount of work will be considerably reduced.
- This plugin has some limitations. Please look at the pictures and read below for the complete list.
Utu Lite Plugin (Free Download)
A lite version of the plugin that allows you to simulate an export from Unity without actually exporting anything.
This version doesn't allow you to import anything in Unreal. It only contains the Unity plugin.
The purpose of this plugin is to give you an idea of all the potential issues you may encounter if you buy Utu Plugin.
Note: Even if you don't see any errors while using the Lite version, you may encounter some errors while importing your data in Unreal.
Most common types of errors are:
- Incompatible FBX files. (Try to import a few manually in Unreal first)
- Incompatible image format. (Read Texture section)
- Transform issues. (Read Scene or Prefab section)
- Unsupported Shader Type. (Read Material section)
Download:
https://drive.google.com/file/d/1BwgUMeCAzIqeNJ1fDHr16liGRjzDZaD8/view?usp=sharing
How does it work? Is it complicated?
- You select the scenes that you want to export and the plugin will convert it and include all their dependencies
- Only a small amount of inputs is required by the user
- The user interfaces are simple and user friendly
Why? Reasons to use this plugin:
- You changed your mind and want to use Unreal instead of Unity without starting over
- You want to sell your asset pack on both engines
- You want to convert some old projects or assets (Make sure to read the policy if you bought the assets)
Which assets are supported?
- Scenes
- Static / Skeletal Meshes (fbx & obj)
- Animations (fbx)
- Materials
- Textures
- Prefabs
- Point, Spot and Directional Lights
- Cameras
Which assets are not supported?
- Procedural Meshes
- Terrains
- Foliage
- Particle Systems
- 2D Objects
- User Interfaces
- Audio
- Scripts
- etc. (Everything else that is not in the Supported Assets list)
Anything else?
- This plugin also re-creates the hierarchies (Content Browser, Scenes, Prefabs) the same way you built them in Unity.
How to install - Unity
- Copy "..\UtuPluginPackage\Unity_Plugin\UtuPlugin" in the "Assets" folder of your Unity project.
Or
- Open the provided Unity project. Which also contains the sample scenes. "..\UtuPluginPackage\Unity_SampleProject\UnityProject"
How to install - Unreal
- Copy "..\UtuPluginPackage\Unreal_Plugin\4.25\UtuPlugin" in the "Plugins" folder of your Unreal project
* If the "Plugins" folder doesn’t exist, create it.
* Use the version that match your project.
0r
- Open the provided Unreal project. Project version is 4.25 "..\UtuPluginPackage\Unreal_SampleProject\UnrealProject"
Process Steps
In Unity
1 - Install the tool in your Unity project.
2 - Open your Unity project.
3 - Open the tool using the 'Plugins/Utu Plugin' drop down menu at the top.
4 - Select the scenes you want to Export. (The tool will export evertything that is referenced par the selected scenes.)
5 - Name your export (optional)
6 - Press Export
In Unreal
7 - Install the tool in your Unreal project in which you want to Import your scenes.
8 - Open the destination Unreal project.
9 - Open the tool using the 'Utu Plugin' button at the top.
10 - Select the Export that you want to Import.
11 - Press Import.
12 - Go get some coffee
13 - Once completed, you can look at the 'Log' tab to get more information about the process. (Including the warnings and errors.)
IMPORTANT:
Please backup your project before using this tool.
I've never lost any data using this tool, but I don't want to be responsible for any data loss during the process.
(It is also a good habit to backup your project from time to time or to simply use a source control.)
Supported Assets:
Scene:
- What it does:
- Creates a World asset
- Adds a SkyLight to simulate Unity's default lighting
- Adds all the actors (Including display name, transform, visibility and tag)
- Recreates the scene's hierarchy
- Supports instance edited materials on static mesh actors - Limitations:
- If your scenes contain non-uniform scaling on any parent of a rotated mesh, the result will not be as expected in Unreal because of the way the meshes are transformed.
Example of the difference between the two engines: https://youtu.be/kdM9UWolEj4
- Bad hierarchy examples:
Scene root -> Non-uniformly scaled object -> Rotated mesh
Scene root -> Non-uniformly scaled object -> Uniformly scaled object -> Rotated mesh
Scene root -> Non-uniformly scaled object -> Rotated object -> Not rotated mesh
- Good hierarchy examples:
Scene root -> Uniformly scaled object -> Rotated mesh
Scene root -> Non-uniformly scaled object -> Not rotated mesh
Scene root -> Uniformly scaled object -> Not rotated mesh
Prefab:
-
What it does:
- Creates a Blueprint Actor asset
- Adds all the components (Including display name, transform, visibility and tag)
- Recreates the prefab's hierarchy
- Supports instance edited materials on static mesh components
- Supports nested prefabs (child actor components) -
Limitations:
- If your prefabs contain non-uniform scaling on any parent of a rotated mesh, the result will not be as expected in Unreal because of the way the meshes are transformed.
Example of the difference between the two engines: https://youtu.be/kdM9UWolEj4
- Bad hierarchy examples:
Prefab root -> Non-uniformly scaled object -> Rotated mesh
Prefab root -> Non-uniformly scaled object -> Uniformly scaled object -> Rotated mesh
Prefab root -> Non-uniformly scaled object -> Rotated object -> Not rotated mesh
- Good hierarchy examples:
Prefab root -> Uniformly scaled object -> Rotated mesh
Prefab root -> Non-uniformly scaled object -> Not rotated mesh
Prefab root -> Uniformly scaled object -> Not rotated mesh
Static Mesh:
-
What it does:
- Creates a Static Mesh asset using the .fbx file
- Assigns the materials to the mesh
- Supports .fbx or .obj files with more than one mesh -
New feature:
- Now possible to convert .asset files to .fbx files using FBX Exporter -
Limitations:
- I don't have much control over FBX Exporter so the exports of .asset files aren't the best. (location, rotation & scale issues) -
Known Bugs:
- The materials ID are sometime swapped during import
Skeletal Mesh:
-
What it does:
- Creates a Skeletal Mesh asset using the .fbx file
- Assigns the materials to the mesh -
Limitations:
- Rig may not be supported by Unreal. (Not a limitation of Utu, but of Unreal compared to Unity) -
Known Bugs:
- The materials ID are sometime swapped during import
Animation:
-
What it does:
- Imports Animation assets using the .fbx file
- Link them to the desired Skeleton
- Apply animation overrides on Skeletal Meshes in the Level (or Blueprint) -
Limitations:
- Can only link the Animation to the proper Skeletal Mesh if they're linked through an Animator component in a Scene (or Prefab)
- Only supports 1 animation per .fbx file
- Doesn't create Animation Blueprints
- Animation import transform isn't always good. You can customize it using the "Import Settings" tab in the Utu Plugin window.
Texture:
-
What it does:
- Creates a Texture2D asset using the texture file -
Limitations:
- .tif files are not supported (Not a limitation of Utu, but of Unreal compared to Unity)
Material:
-
What it does:
- Creates Material and Material Instance asset
- Sets all the parameters and textures into the material -
Supported shader types:
- Standard
- Standard (Specular setup)
- Unlit/Color
- Unlit/Texture
- Unlit/Transparent
- Unlit/Transparent Cutout
- Mobile/Diffuse
- Mobile/Unlit (Supports Lightmap)
- Mobile/Bumped Diffuse
- Mobile/Bumped Specular
- Legacy Shaders/Diffuse
- Legacy Shaders/Bumped Diffuse
- Legacy Shaders/Bumped Specular
- HDRP/Lit
- HDRP/Unlit
- Universal Render Pipeline/Baked Lit
- Universal Render Pipeline/Complex Lit
- Universal Render Pipeline/Lit
- Universal Render Pipeline/Simple Lit
- Universal Render Pipeline/Unlit
-
Limitations:
- Equivalence is not 100% perfect
- Custom shaders (and shaders not in this list) are not supported, but the tool will still import all the parameters in Unreal and create a basic material graph.
Spotlight:
-
Supported parameters:
- Intensity
- Color
- Range
- Cast Shadows
- Spot Angle -
Limitations:
- Equivalence is not 100% perfect
Pointlight:
-
Supported parameters:
- Intensity
- Color
- Range
- Cast Shadows -
Limitations:
- Equivalence is not 100% perfect
Directional Light:
-
Supported parameters:
- Intensity
- Color
- Cast Shadows -
Limitations:
- Equivalence is not 100% perfect
Camera:
-
Supported parameters:
- Clipping planes
- Aspect ratio
- Projection
- Field of view
- Focal length
- Sensor size
Plugin Content:
- 2 Blueprints
- 10 C++ Classes
- 5 C++ Enums
- 18 C++ Structs
- 8 Textures
- 7 Static Meshes
- 23 C# Classes
- 2 C# Enums
- 1 C# Structs
Release Notes:
- 1.10 (November 2024)
- Compiled for Unreal 5.5
- Compiled for Unity 6.0
- Improved material equivalence for Standard, StandardSpecularSetup, HDRP_Lit, UniversalRenderPipeline_Lit, UniversalRenderPipeline_SimpleLit, UniversalRenderPipeline_ComplexLit
- Added option to select if you want to spawn Static Mesh Actors or Blueprints in your scene (Default value: Spawn a Static Mesh if there's only 1 Mesh Component in the Blueprint)
- Added option to flip green channel of normal map during import (Default value: True)
- Added a new parameter to control Roughness in materials un Unreal
- Only applying scalar parameters on Material Instances if the user specifically wants to override them. Making it easier to modify the parent Material and see the result on instances.
- Bug fix: Now impossible to set the scale of meshes to 0 when importing them
- Bug fix: Error during Unity export caused by prefab component being invalid
- Bug fix: Crash during Unreal import caused by failure to create Blueprint component node
- Debug: Added more logs and now copying Unity Editor log into export folder to make it easier to debug
- 1.9 (September 2024)
- Implemented a better detection of animations using property overrides in Scenes and Prefabs
- Now importing animation overrides in Unreal
- Added a save system for the "Import Settings" tab in Unreal so the same settings can be used between sessions
- Bug fix: Mobility of nested prefabs is now imported properly
- Bug fix: Reimport of assets now use correct import settings
- Updated UtuLite to 1.9
- 1.8 (July 2024)
- Added requirements for the plugin to also work on Linux.
- Fixed issues with export location on Mac.
- Considerably improved import of fbx containing multiple meshes. (Now pivots are at the right location in Unreal.)
- Improved mesh detection when exporting animations.
- Bug fix: Component visibility wasn't imported correctly into Unreal.
- Bug fix: Wrong frame count was imported when processing animations.
- Bug fix: Parameter "_MetallicGlossMap" wasn't imported in Standard shaders.
- Bug fix: Case sensitivity in file extensions caused issues when processing assets.
- UI : Stopped adding the same asset names multiple times in the Assets list.
- UI : Fixed "All" checkbox so it works properly when using with filters.
- Updated UtuLite to 1.8.
- 1.8.1 Bug Fixes (Unity Only):
- Fixed compile error in Unity 2018
- Fixed compile error when enabling FBX Exporter
- 1.7 (April 2024)
- Compiled for Unreal 5.4
- Now supporting Animations. Import Animations into Unreal and link them to the desired Skeleton. (Doesn't assign Animations to Actors in Levels or Components in Blueprints)
- Now possible to use FBX Exporter to export .asset meshes. Import if not perfect as I don't have much control over FBX Exporter. Meshes will be there, but may have Location, Rotation and Scale issues.
- Added more settings to configure your mesh imports in Unreal. Now possible to set Location, Rotation & Scale offsets on all meshes.
- Added EditorScriptingUtilities as dependency so the plugin enables itself if not already enabled.
- Fixed bug where the Utu Plugin button wasn't visible on the toolbar
- More details added in the log during the process for debug purposes
- 1.6 (November 2023)
- New free Utu Lite Plugin to go through your Unity project to test if it is compatible with Utu Plugin
- Now possible to export assets that are not part of scenes
- Now automatically rename assets with invalid characters when importing them in Unreal
- Import option to choose if you want to import the LODs or not
- Import option to choose if you want to create Material Instances or Materials
- Button in Unity to display the Export folder
- More logs during the import process in Unreal
- 1.6.1 Bug Fixes (Unity Only):
- Added category buttons to jump to the desired asset type
- Added filter text field to filter assets
- Improved performances when displaying assets in a large project
- Improved performances exporting assets in a large project
- Added more logs messages during export
- Fixed progress bar when exporting different asset types
- 1.5 (October 2023)
- Creating material instances instead of materials
- Added import of URP, HDRP and more Standard shaders (Unity 2023 only)
- Added a bit more support for custom shaders by importing all the variables in Unreal (material graph still needs to be done by you)
- 1.5.1 Bug Fixes:
- Fixed Unreal scripts so it compiles properly on Mac for 5.2 & 5.3
- Fixed Unity bug causing NaN & Infinity to appear in the export json
- 1.4 (September 2023)
- Compiled for Unreal 5.3
- Compiled for Mac
- Some bug fixes
- 1.3 (August 2023)
- Added import of gameobjects mobility (Movable vs Static)
- Added settings to adjust meshes import scale
- Added import of .obj files (but not 100% supported as .fbx is the recommended format)
- Added error message when asset filename contains invalid characters
- 1.2 (July 2023)
- Fix crash on Unreal 5
- Support meshes that aren't using ConvertUnits
-
1.1 (July 2023)
- Added support for multiple static meshes coming from the same fbx file
- Added a list of settings to adjust the import process a little bit
- Compiled for Unreal 5.2
-
1.0 (March 2023)
- Initial Release
More Info
More Examples
You'll get the Unreal Plugin, the Unity Plugin and Two Unity Sample Scenes to test the plugin.