Maya to Unreal Engine: Exporting Models and Animations for Real-Time Applications
The relationship between Maya and Unreal Engine is central to the modern game development and real-time experience pipeline. Maya handles the creation of high-fidelity assets — characters, environments, vehicles, props — and Unreal Engine delivers them as interactive, real-time content. The workflow between the two applications is well-established but involves a number of specific requirements and conventions that can trip up artists who are new to game and interactive content production. Understanding these requirements from the start saves considerable rework later.
This guide covers the complete Maya-to-Unreal pipeline: geometry optimization and LOD considerations, UV and texture preparation, skeleton and rig conventions for real-time, animation export, FBX settings, and the Unreal Engine import process.
Autodesk Maya is available from GetRenewedTech for $49.99.
Understanding the Real-Time Context
The fundamental difference between a film pipeline and a game pipeline is that game assets must render at interactive frame rates — typically 30 or 60 frames per second — on hardware that has finite processing and memory resources. This imposes constraints on geometry complexity, texture resolution, draw calls, and animation complexity that don’t apply in offline rendering.
In Maya, you might work with a high-resolution sculpted character at several million polygons. For Unreal Engine, you need a game-resolution version — typically 10,000 to 80,000 triangles for a hero character, depending on the target platform and the character’s importance in the scene. Understanding these targets before starting production saves enormous rework at the optimization stage.
Geometry Preparation
Polygon Count and Topology
Work in triangles rather than quads when thinking about Unreal Engine polygon budgets — the engine converts all geometry to triangles on import, so a quad-based mesh with 5,000 faces becomes approximately 10,000 triangles. Maintain clean quad topology in Maya for deformation quality, but check your triangle count using Mesh Display > Polygon Count.
Key topology requirements for real-time:
- No N-gons (faces with five or more edges). These triangulate unpredictably and can produce visual artefacts.
- Minimal or no T-vertices (edges that terminate in the middle of another edge)
- Clean, predictable deformation topology around joints — edge loops following the body contours
- Avoid extremely thin triangles (slivers), which can cause rendering artefacts
Pivot Point and Transform Freezing
Before export, ensure all model transforms are correctly configured:
- Freeze transforms: Select your mesh and apply Modify > Freeze Transformations. This resets all translation, rotation, and scale values to zero/one while maintaining the geometry’s position. Unreal Engine expects clean transforms; frozen meshes import reliably.
- Correct pivot point: The pivot point of your mesh should be at the intended origin — typically the base of an object, the root of a character’s skeleton, or wherever the attachment point will be in Unreal. Misaligned pivots cause positioning headaches in the engine.
- Delete history: Apply Edit > Delete All by Type > History to clean up construction history that isn’t needed for export.
Level of Detail (LOD) Models
Unreal Engine supports LOD (Level of Detail) systems where lower-resolution versions of a mesh are displayed when the asset is far from camera. LOD meshes can be generated automatically in Unreal using the LOD settings, or you can create them manually in Maya and export them as a single FBX file containing all LOD levels.
For manual LOD workflow, name your meshes with LOD suffixes that Unreal recognises: MeshName_LOD0 (highest detail), MeshName_LOD1, MeshName_LOD2, etc. When imported together, Unreal automatically assigns them as the LOD chain.
UV and Texture Preparation
UV Layout Requirements
Unreal Engine requires UV coordinates for every mesh. For real-time rendering, you typically need:
- UV Channel 0: The primary texture UV channel. Overlapping UVs are allowed here (useful for repeating surface textures on large meshes).
- UV Channel 1: Non-overlapping UVs for lightmap baking. Every polygon must have a unique UV space; no overlaps. Unreal can auto-generate lightmap UVs on import, but manually crafted UVs give better baked lighting quality.
In Maya, manage UV sets via the UV Set Editor (Windows > UV Set Editor). Create your secondary UV set explicitly, name it lightmapUVs or similar, and use the UV Editor to create a non-overlapping layout for lightmap use.
Texture Resolution and Format
Unreal Engine uses power-of-two texture dimensions (512, 1024, 2048, 4096 pixels) for most efficient GPU usage. Textures that aren’t power-of-two will be accepted but may not generate mipmaps correctly. Export textures from Maya/Substance Painter in PNG or TGA format; Unreal will convert them to its internal DXT compressed format on import.
Skeleton and Rigging for Real-Time
Joint Count Limitations
Unreal Engine supports up to 256 joints per skeletal mesh, though practical joint counts are typically much lower. Console platforms may have stricter limits. More importantly, each vertex can be influenced by a maximum of four bones (by default in Unreal). In Maya, you may have vertices influenced by more bones during the skinning process, but these need to be reduced to four maximum before export.
Use Maya’s Heat Map skinning and then prune weights to four influences maximum per vertex. Skin Weights > Prune Small Weights (with a Max Influences setting of 4) handles this. After pruning, normalize the weights to ensure they still sum to 1.0 per vertex.
Skeleton Hierarchy
Unreal expects a clean joint hierarchy with a single root joint (typically named root or pelvis) from which all other joints descend. Control rig objects (NURBS controllers, IK handles) should NOT be exported — they need to be either separated from the export selection or excluded via export settings. Only joints and the bound mesh should be in the FBX export.
Naming Conventions
Unreal Engine has specific expectations about bone names for its animation retargeting and physics asset tools. The Unreal Mannequin skeleton (the default humanoid skeleton used in many UE games) uses a specific naming convention: pelvis, spine_01, spine_02, spine_03, clavicle_l, upperarm_l, etc. If your character is intended to use Unreal’s built-in animation retargeting or mix-and-match animations from the standard pool, matching this naming convention saves significant setup time.
Exporting to FBX
The FBX format is the primary exchange format between Maya and Unreal Engine. Use File > Export All or File > Export Selection and choose FBX as the format.
Recommended FBX Export Settings for Unreal
- FBX version: FBX 2020 or FBX 2019 are both well-supported. Use a recent version for best compatibility.
- Geometry: Smoothing Groups: ON. Tangents and Binormals: ON. Triangulate: ON (or let Unreal triangulate on import).
- Animations: If exporting a skinned character with animation, enable Animation in the export settings. Set Bake Animation ON with the correct frame range. Bake ensures that driven keys, expressions, and IK solutions are all resolved to direct joint rotations — Unreal cannot evaluate Maya-specific solver types.
- Units: Set to Centimetres. Maya defaults to centimetres; Unreal Engine uses centimetres as its internal unit. Consistent units prevent unexpected scale issues on import.
- Embed Media: Optional — embedding textures into the FBX makes the file self-contained but larger. Many pipelines prefer textures as separate files.
Importing into Unreal Engine
In Unreal Engine, drag the FBX file into the Content Browser or use Import > Import to [folder]. The FBX Import Options dialogue appears:
- Import Mesh: ON for static meshes and skeletal meshes
- Skeletal Mesh: ON for characters and animated assets
- Import Animations: ON if the FBX contains animation data
- Import Materials and Textures: Unreal can create basic materials from FBX material data. These will need to be updated with your actual Unreal materials after import.
- Normal Import Method: Import Normals and Tangents (using the data baked in Maya) gives the most consistent results with your Maya viewport appearance
Iterating Between Maya and Unreal
Iteration between Maya and Unreal is a normal part of asset development. Autodesk’s LiveLink plugin (available on the Unreal Engine Marketplace) provides a real-time connection between Maya and Unreal Engine, streaming animation data and basic geometry changes live from Maya to Unreal without needing to export and reimport. This is invaluable for animation review — checking how a character animation looks in the actual game environment rather than Maya’s viewport.
Summary
The Maya-to-Unreal pipeline requires discipline around geometry conventions, UV layout, joint hierarchy, and export settings, but once these conventions are understood and embedded in your workflow, the pipeline is efficient and reliable. The investment in getting these foundations right pays back many times over across the lifetime of a project, where assets may be exported, modified, and reimported dozens of times.
Build your real-time content pipeline with Autodesk Maya, available from GetRenewedTech for $49.99.
Level of Detail (LOD) Optimisation in Maya
Real-time rendering in Unreal Engine requires models to be efficient — low polygon counts and small texture memory footprints are essential for performance. The detailed models suitable for pre-rendered VFX work need to be optimized before use in Unreal. Level of Detail (LOD) models are lower-polygon versions of the primary model that Unreal uses when the object is far from the camera, reducing GPU workload without sacrificing visible quality.
Maya can be used to create LOD models manually (using Mesh Reduction tools or by manually decimating geometry) or semi-automatically using the Reduce Mesh feature. Each LOD should typically have 50% of the polygon count of the previous level: LOD0 (close up, full detail), LOD1 (mid distance, 50%), LOD2 (distant, 25%), LOD3 (very distant, 10%). These are exported as individual meshes and configured as LOD levels within Unreal’s Static Mesh Editor.
Material and Shader Translation
Arnold materials used in Maya for pre-rendered work don’t translate directly to Unreal Engine’s material system. However, the underlying PBR (Physically Based Rendering) principles are consistent: both systems use metallic, roughness, and normal map inputs in broadly compatible ways. The workflow typically involves exporting texture maps from Maya (rendered to texture or baked in Substance Painter) as:
- Base Color map (the diffuse/albedo color information)
- Metallic map (where the surface is metallic vs. non-metallic)
- Roughness map (surface micro-roughness)
- Normal map (simulated surface detail)
- Ambient Occlusion map (contact shadow information, baked once and reused at runtime)
These maps are then imported into Unreal and connected to the appropriate inputs in Unreal’s Material editor. The visual result closely matches the Maya Arnold render, though Unreal’s real-time approximation of light transport produces slightly different nuances in highlights and reflections compared to the path-traced Arnold render.
Performance Profiling in Unreal Engine
Once assets exported from Maya are in Unreal, use the built-in profiling tools to verify performance. The GPU Visualiser (Ctrl+Shift+, in the Unreal viewport) shows the GPU cost breakdown per frame, identifying which elements are most expensive. Common issues with imported Maya assets include:
- Unnecessarily high polygon counts on background elements
- Oversized textures (4K textures on small props that will never be seen close up)
- Draw call overhead from scenes with many small individual mesh objects (combine static background geometry into larger meshes)
- Missing or incorrectly configured LODs causing high polygon counts at distance
Addressing these issues — which typically means returning to Maya, optimizing, and re-exporting — is a normal part of the Maya-to-Unreal production pipeline. Building a habit of profiling and optimizing assets before they’re considered “done” prevents performance problems from accumulating into an intractable problem late in production.
Summary
The Maya-to-Unreal Engine pipeline bridges two of the most important tools in contemporary 3D production. Maya’s depth of modeling, rigging, and animation tools provides the foundation; Unreal’s real-time rendering and interactive deployment capabilities provide the destination. Understanding the translation requirements between the two — FBX export settings, skeleton conventions, PBR texture maps, LOD preparation — allows artists and technical directors to move assets through the pipeline efficiently and produce the interactive experiences that games, architectural visualization, and virtual production increasingly demand.
For artists and technical directors building a Maya-to-Unreal pipeline, Autodesk Maya is available from GetRenewedTech at $49.99 for Windows, Mac, and Linux.



