General Resources on Fbx to and from Maya

Since I started using Unreal I love pretty much everything about it but there is one thing that NEVER works. I have never once finished a character in Maya and been able to export it into Ue5 without 2/3 days of painful testing, retesting, reImporting, adjusting, re-scaling, changing settings, removing parenting, baking animation, un-baking animation, rechecking rig, re-centering character, giving up and exporting alembic, giving up on alembic etc etc.

Can someone point me to a resource which explains what UE5 needs to see in order for it to work. The manuals don’t suffice as they are always based on standard bipeds. Most of my rigs are often not bipeds and all sorts of non standard sometimes non organic animations.

Basically I need to put together a strict list of exactly what to do in Maya to make a rig that will not be rejected by Unreal. Does anyone know of a good youtube tutorial or Epic games tutorial which goes into considerable detail ? Any help would be much appreciated!

Just in case the kind of themes I am talking about are:
Whats the best workflow in Maya to combine the elements of your character into one mesh? (to avoid having a crazy ammount of assets in UE5) Eg can you perform a mesh combine as a final step before exporting?
Should you bake your animations before exporting or just click bake animation on the export options?
How does UE5 recognise the root bone, does it need to be labelled as root? Do you need to select the whole hierarchy when exporting?
Do you need to select your blendshapes when you export or will they automatically be considered?
What’s the best workflow for working in smooth mesh preview mode in Maya and exporting the smooth mesh only when exporting to Unreal?
Do parent constraints not work at all…is it best to parent by binding and then editing the skin weights? For example if your character is carrying something like a sword.
If your character is the wrong scale, should you change the maya export settings or the Unreal import settings? Or the maya units?

Sorry I know that’s a lot of questions… but I thought I’d note this stuff down as it really is the kind of thing that makes using unreal extremely painful coming from Maya. Once the character is imported it is amazing, but if there was some kind of checklist or (list of rules to follow) to use evey time it could save a whole world of pain!

  • Whats the best workflow in Maya to combine the elements of your character into one mesh? (to avoid having a crazy ammount of assets in UE5) Eg can you perform a mesh combine as a final step before exporting?

You can take a look at a Metahuman to create the same setup, meaning a skeletal mesh ( SK ) as the “main” ( doesn’t really matter if it’s boots, hands or something else ) and then have additional SK as child of the main SK, but you also need to do the master pose component setup.
So in Maya you’ll export only the skinned meshes using the same skeleton, and you’ll also import the skeleton the first time you’ll import the SK in Unreal, then for any additional SK you’ll export from Maya ( hat, shoes, whatever ) you’ll assign the skeleton that has already been created.
The AnimBP will be assigned only on the “main” SK, and it’ll work an all the child SK of the main mesh by using the master pose setup.
Regarding performances, if you have a bunch of SK is not a big deal, but if you have a lot ( 30/50 ) different SK, all needed for one body, well that’s not really ideal.

  • Should you bake your animations before exporting or just click bake animation on the export options?

I usually bake the animations before exporting, but I also did it during the export, and for me it works both.

  • How does UE5 recognise the root bone, does it need to be labelled as root?

As far as I know yes, you do need to label the root, otherwise Unreal will import the skeletal hierarchy as it is in Maya.
For example, if you try to import a Mixamo character, you’ll see that the first joint of the hierarchy is the pelvis, so Unreal won’t create a root for you.

  • Do you need to select the whole hierarchy when exporting?

Yes, usually I select the entire hierarchy then Export selected

  • Do you need to select your blendshapes when you export or will they automatically be considered?

If the SK in Maya has blendshapes, the FBX will also contain the blendshapes, but within the import options you do need to flag “Import Morph Targets”

  • What’s the best workflow for working in smooth mesh preview mode in Maya and exporting the smooth mesh only when exporting to Unreal?

Not sure, I guess you can create a custom script that export the smooth mesh only

  • Do parent constraints not work at all…is it best to parent by binding and then editing the skin weights? For example if your character is carrying something like a sword.

You mean from Maya to Unreal? Maya doesn’t carry the constraint within the FBX, and usually in Unreal you don’t create a constraint like you do in Maya, but you simply spawn/attach the sword on an additional joint on the hand ( called socket, created inside Unreal ).
For example, if the sword is on your back, the sword itself will be a static mesh not a skeletal mesh, and what you can do is an animation that reaches for the sword, and when your animation reaches a specific frame, you’ll add a notify that will activate an event, and that event will attach the sword to the hand.
Do not bind the sword to the skeleton, is a waste of performances.

  • If your character is the wrong scale, should you change the maya export settings or the Unreal import settings? Or the maya units?

I usually import a Mannequin and a cube inside Maya, just to have a frame of reference.
Do not change the scale from the import window, it will mess up the AnimBP usage, I saw lots of people complaining about this.
If you need to scale a character do the following:

  1. ( In Maya ) Scale the root as you need
  2. Select the character mesh, then Ctrl+D to duplicate it ( so this is a copy without the skin weights )
  3. Select the character mesh, save skin weights or use Deform>Export Weights, since it gives you better results.
  4. Delete the skinned skeletal mesh
  5. Freeze scale on the root joint
  6. Delete history on the copied character mesh
  7. Bind the character mesh to the skeletal hierarchy
  8. Import skin weights

Regarding animations, in general it is better to create a script that bake the animation to the skeleton, then remove all constraints from the control rig, and export the data, but it is better to do this via reference, since if you accidentally save the now unconstrained animation, well, not good, so be careful with that :smiley:

1 Like

Wow thanks so much for all the answers!

As for the SK setup, I will take a look at how the Metahumans are set up…good idea. If you have legs/body/clothes as separate meshes in maya would you usually combine the meshes in maya first?

For the smooth mesh preview I really meant just smoothing the mesh in general. I usually work low poly and like to keep the maya scene low poly and use ‘smooth mesh preview’ to see how it smooths. But I am having problems with smoothing the mesh before exporting and I really need a better workflow for this. For example you have to smooth the blendshapes too and this can cause issues. Sometimes they break. I’m not sure whether to smooth all the meshes before exporting or work in maya with high rez meshes. Or can you smooth them in Unreal?

As for the parents i see what you mean about using sockets. I’ve done this before and this is fine, but sometimes it’s easier to animate these elements in Maya. Maybe better just to do it in Unreal. Need to get used to doing it that way!

As for the rescaling method that’s extremely useful… I’ve done something like this before but always forget the process!

The things to bear in mind before building your character in Maya for export to unreal are:

  1. Smooth Mesh Preview. If you are using blendshapes it’s a world of pain to build your character low poly and up rez upon export. The blendShapes just break. Be prepared for some pain.
  2. Character scale. If you want to rescale a character forget it. Unless you build it exactly the scale you want it (and how would you know in advance?) you may well face lots of problems with physics etc.
  3. Combining meshes. It’s a lot easier to build a character with separate meshes so you can adjust the skin weights seperately etc. in Maya. But beware it’s extremely painful trying to put those meshes back together in Unreal. It seems quite unpredictable…sometimes they come in combined and sometimes separated. The fbx setting names are so confusing you are really not sure which setting combined them!

Is there anyone out there that can suggest a workflow for smoothing meshes? I just need the ability to swap between hi poly and low poly meshes. I want to work low poly in Maya and export in UE5. I’ve spent a full day trying to figure this out. You export the rigged character low poly and it works. You smooth the mesh, export, and the fbx is still low poly. You delete the non deformer history and the mesh becomes unbound. Am I doing something wrong?

1 Like

To reply to your questions:

  1. That’s normal, usually you do the other way, meaning that you first develop your high poly version, then create low poly version, low poly blendshapes tend to be more accurate.

  2. Yep, scaling in Unreal is something you should avoid

  3. I usually have the entire character skinned in Maya, then I separate them by materials while keeping the skin weights, then I export each skeletal mesh separately, and import them in Unreal one at the time, making sure to import the skeleton once ( during the first imported mesh ) and then assign the same skeleton for the other imported SK.

Workflow for smoothig meshes: Use Edit > Delet by Type > Non Deformer Hystory, it’ll keep the skinning and remove the smooth mesh operator.

Anyway as mentioned above, it would be better to work on the high poly mesh, then create the various LODs for the SK.

1 Like

Also my blendshapes work perfectly in maya and when i export to fbx i get a warning that the vertex counts do not match. Very frustrating. I’ve re-made the blendshpaes on a single character around 10 times today :frowning: As soon as you finish sculpting the new blendshape the mesh becomes instantly unbound and you lose both your skinning AND your blendshapes. All this for a simple rig that took 30 minutes to make!

  1. I usually have the entire character skinned in Maya, then I separate them by materials while keeping the skin weights, then I export each skeletal mesh separately, and import them in Unreal one at the time, making sure to import the skeleton once ( during the first imported mesh ) and then assign the same skeleton for the other imported SK.

Once imported, how do you combine the seperate meshes together? They have the same skeleton applied but are still seperate files…Ah yes i see, simply dragging it into the Blueprint in the outliner seems to work

Workflow for smoothig meshes: Use Edit > Delet by Type > Non Deformer Hystory, it’ll keep the skinning and remove the smooth mesh operator.
It won’t work for me.
If I delete the history, by type or not, the skin binding information will be deleted too.