Changing Skeletal Mesh for an RPG like system

Hello Forums,

I’ve been thinking about creating an RPG style game with the ability to choose different armor and weapons, and thus, alter the look of the player’s character. I believe I have a good understanding of how this works, but it is as not rock solid as I would like because I still have some questions.

First let me introduce some material I’ve watched in order to learn more about how meshes work and how to add objects and armor in Unreal.

Blender / Equip pants - https://youtu.be/yQ3tBLq3_U0
Maya / Synch Armor - https://youtu.be/bE0g_djR12s
This Tutorial Series itself by Epic - https://docs.unrealengine.com/latest/INT/Videos/PLZlv_N0_O1gbwdyIm78w42fZ1t8dDClsI/FDbpHamn2eY/index.html

After watching these and reading through some of the documentation, I understand that I can add sockets to my skeletal assets in order to equip swords and basically unanimated armor pieces, and that I can create different meshes by selecting and exporting them and the armature/skeleton from whatever 3D modeling program. Then I can use the Master Pose Component to set my mesh according to what item the player would equip.

All these make sense to me but I cant help but think this may not be the best way in order to accomplish this. I keep thinking of how professional games try to accomplish this task. In these tutorials it seems to me that the underlying mesh is still going to be present when the new mesh is rendered on top. Is this statement accurate? Or does UE have some sort of algorithm it uses that will remove any mesh data that cannot be seen?

One that constantly pops in my head is the Witcher 3. Geralt is able to equip all sorts of different armor pieces and equipment. I understand his swords are most likely akin to sockets. But his armor still has me questioning how it is done. I can only guess at how this is done but here’s what I think.

I think that they basically create a naked male model of Geralt. Basically nothing but the skin. Then if its similar to what happens in these videos, they create the underwear for Geralt, then import that as a different asset and use some script/logic in order to show Geralt in his underwear. This process can be done the same for the arms, chest, legs, etc. until all armor pieces are newly created skeletal assets. Then the player can choose to equip them whenever they choose.

The problem I keep thinking is that the newly rendered mesh is now on top of the base skin of Geralt, that still exists. I also keep thinking how each of these meshes would need to be created in way that doesn’t interfere with any other created mesh.

I really want to create a nice implementation for this system and I’m trying to learn all I can about the process.

If anyone can tell me or show me, what exactly happens behind the scenes in these situations, that would be amazing. Thank you.