Attachable/Detachable Armor - Best Practices

I know how to attach models to players using various methods however when designing such a system an idea comes to mind:

Is it possible to take a ragdoll/model who has the same bone structure/naming conventions/sizes and split the pieces up into new individual models based on those bones?

The model of a Storm Trooper or Iron Man are perfect examples that could be ‘split’ into individual pieces, then those pieces could be attached to a player to represent ‘armor’

The entire inspiration behind this stems from the current lack of available models to work as pieces of armor. There are plenty of Ragdolls/Player Models on the workshop that look like someone inside a full suit of armor per se.
This would allow a plethora of different available ‘armor sets’ that can be configured by the player, etc…

The ultimate task at hand is to programmatically slice up a model into it’s individual bones and use Entity:FollowBone() to attach them to the player.

I hope it all makes sense.

I sware I’ve seen a gamemode let you spawn a ragdoll, select a particular piece of the ragdoll, then attach that piece to your player to act as ‘armor’

Suggestions on how this can be accomplished and/or alternatives :slight_smile:

Any ideas/suggestions would be awesome sauce!

I’m not looking for any specific code, only trying to develop a plan of attack

After scouring the forums for a few days I’m drawn to only one conclusion:

Spawn client side ragdolls and parent/bonemerge them to the players so the players basically ‘wear them like a skin’ then hide the pieces of these ragdolls I don’t want to be seen, leaving behind only those the player has ‘equipped’.

If each player can have the following equipment slots:
Head, Chest, Left Leg, Right Leg, Left Foot, Right Foot, Left Arm, Right Arm, Let Hand, Right Hand
That’s 10 slots. The arms and legs could be split into upper and lower leaving 14 slots

So if a player has all 14 slots equipped with pieces from different models, that’s 14 models loaded and parented/bonemerged to the player’s model

This feels extremely hacky and something is screaming ‘performance issues’ at me.

Any feedback?