top of page

Maya To Unreal Tool 

The Problem

All animations were created in Autodesk Maya however the project was being rendered inside Unreal Engine so all animations needed to be transferred across. This was a very time consuming task that took the animators away from doing actual animation. 

Each shot required the user to manually export multiple FBX's from maya, import them into Unreal Engine in the correct scene/shot folder, assign the correct skeleton for the animation, place the animation into the correct level sequence on the correct character/prop. This was a tedious and long process that was highly error-prone.

The Solution

A tool made in Python that automates the whole process of exporting animations from Autodesk Maya and importing them into Unreal Engine. 

To Accompany this tool a CSV mapping system was created that contained every Character and Prop in the project. Against each entry was the Name of the character/prop, Maya namespace, Character Blueprint and the Skeleton Path inside Unreal Engine. 

The interface for the tool was to be launched directly from Unreal Engine and looked like this

MayaToUnreal-4-Import-Window.png

The user would then search for the file path of the Maya file. User the folder structure the tool would deduce the scene and shot of the file which would auto fill into the interface, the user could edit this if it was wrong. Next they would select which types of animations they wish to be exported/imported, this was to allow ease of use and to save time if users didn't want to export every animation in a file.

From here to tool would launch the specified Maya file as a headless instance then it would filter through the pre-determined CSV to determine which assets to export. After exporting, those assets would then be imported into Unreal Engine into the correct scene/shot folder using the CSV again to make sure the correct skeleton is assigned to each animation.

MayaToUnreal-9-Anim-Folder.png

Finally the tool would open the shot/scene's level sequence to assign the animation to the appropriate character/prop. If the character/prop didn't exist inside the level sequence already it would also grab the asset from a pre-setup sub-level that contained all the relevant characters/props for the project

Summary

Although the tool drastically cut down the time for the whole process it still wasn't instant however the tool could easily be run and left to its own devices so in many occasions a seperate machine was used to process the animations while the animator could carry on animating on their own machine. The tool also reduced the human error involved in the process.

© 2026 by Ashley Kelly

  • Email
  • LinkedIn
bottom of page