Best workflow for a clothing swap system in UE5? (Blender + Auto-Rig Pro)

Hello everyone,

I’m currently working on a game in Unreal Engine 5 where the player can change the heroine’s clothes.

I’m still learning how character customization and clothing systems work, and I’ve been struggling to understand the proper workflow. I’d really appreciate some advice from people who have experience with this.

Currently, my workflow is roughly like this:

  1. I create and rig the character in Blender using the Auto-Rig Pro addon.

  2. I purchase clothing assets, such as dresses, and fit them to the character in Blender.

  3. I recently wanted to add a school uniform as another outfit.

  4. I fit the uniform to the character’s body in Blender.

  5. Then I delete the character’s body and try to keep/inherit the same armature/bones for the uniform.

  6. I export the uniform and import it into UE5 as a Skeletal Mesh.

However, when I try to use the uniform with my existing character in UE5, I get an error when trying to merge the meshes.

At this point, I’m less interested in fixing the specific error and more concerned that my overall workflow may be inefficient or incorrect.

I’m wondering how other developers normally handle clothing swaps in UE5.

For example, is the recommended workflow something like this?

In Blender:

  • Create and rig the character once.

  • Use the same character skeleton/armature for all clothing.

  • Fit each clothing item to the character.

  • Skin/weight the clothing to the same skeleton.

  • Export only the clothing as a Skeletal Mesh.

In UE5:

  • Import the character body as one Skeletal Mesh.

  • Import each clothing item as a separate Skeletal Mesh.

  • Make sure all clothing uses the same Skeleton.

  • Then use Blueprint to show/hide or swap the clothing meshes at runtime.

For example:

SKEL_Heroine
    ├── SK_Heroine_Body
    ├── SK_Uniform
    ├── SK_Dress
    ├── SK_Casual
    └── SK_Coat

And then in the character Blueprint, I would have something like:

BP_Heroine
    ├── Body
    ├── Hair
    ├── Clothes_Top
    ├── Clothes_Bottom
    └── Shoes

and change the Skeletal Mesh of each clothing component depending on the player’s choice.

Is this generally the correct approach?

Also, should I be using something like Leader Pose / Copy Pose / Modular Characters / Skeletal Mesh Merge for this kind of system? I’m a little confused about which approach is most appropriate.

Another thing I’m unsure about is the Blender workflow.

When creating a new outfit, should I always start with the original character and its existing Auto-Rig Pro armature, fit the new clothes to the body, and then export only the clothes?

Or is there a better way to create and prepare clothing assets so that I don’t have to repeat a lot of work every time I add a new outfit?

For example, would a good workflow be:

Blender
Character + Armature
        ↓
Create/Fit Clothing
        ↓
Skin/Weight Clothing to the Same Armature
        ↓
Export Clothing Only
        ↓
UE5
        ↓
Use the Existing Character Skeleton
        ↓
Add Clothing as a Separate Skeletal Mesh
        ↓
Swap Clothing in Blueprint

I’m currently studying this subject and have been trying to understand it for several days, but I’m still having trouble understanding the correct workflow.

I’d really appreciate it if someone could explain the recommended workflow step-by-step, especially from Blender/Auto-Rig Pro → FBX → UE5 → Blueprint.

I’m working on a relatively small project, so I’m looking for a practical and efficient workflow rather than an overly complicated AAA-style solution.

Thank you very much for your help!

The easiest way to do this is to not make clothing into separate meshes, but instead merge them to a copy of the body (or body part) mesh and swap the whole mesh at runtime. So if you only have full outfits (and not, say leg slot/top slot/shoe slot/etc..) you would attach the outfit to rig in Blender, keep the body mesh, and export the whole group as OutfitName.fbx. Then import to UE using the existing skeleton, and when you want to change clothes in game, use the Set Skinned Asset and Update node in your character blueprint with the mesh component as the target.

If outfits are modular you would repeat the process, but export parts as things like base_torso.fbx and jacket_torso.fbx

For better performance (and avoiding weird clipping issues), it’s generally best to delete any faces on the copy of body mesh which are always hidden by clothes. Probably best here to have a .blend file for each outfit so you can delete more or less body geometry, depending on how revealing the outfit is. If outfits need extra bones (like a cape or whatevs) you should use that rig on the base character mesh too, to avoid bone merging errors.

Also, if you’re using dynamic material instances on the char’s body (for skin tone/tattoos/etc..) it helps to join the outfit to body mesh in Blender before you export it, and make sure the material slots are in a consistent order (eg: body mat at index 0 clothes mat at index 1, and so on), otherwise your blueprint may try to apply body material to clothes or something..

Finally, if your player char is the only one who can change outfits, you might want to check out the Mutable plugin that comes with ue5.5 and up. I has a nice node based workflow where you can assign body slots for individual clothing assets (and tag them with things like Torso.Shirt or .Jacket) and the plugin will bake the meshes out into a single component.

I find this helpful for how to set up skeletal meshes for different body parts:

If you want optimized skeletal meshes (your parts combined into one mesh/draw call) use the Mutable plugin as illspiritx pointed out. It’s more setup but will run faster than a bunch of body parts. It’s epic’s custom built system for what you’re talking about. It can be used for npcs, the example project has npcs, weapon modification and more.