How do i make swapable armors?

Ok so I want to make an armor system in my game but I have some things in my way. So my character is rigged and it has it’s own animation so if i just slap on the armor then it won’t animate with the character and just stay still. So now I here are my ideas what I could do so you guys can give me some answers and link me with some tutorials and posts.

Should I seperate the bodyparts with (for example: legs, torso, head) and they should have their own rig so I can swap them and will it cost performance? (its a robotic character so it would kinda work)

Or maybe there is a way to share the torso armor bones with the torso bones on the character?

Or maybe there is a better way to do it and you guys could give me some ideas?

One way to do it, would be to have all the different armors on the same character when you import him/her, and then deactivate all of them except the one currently being worn.

You could also separate the armor, but that’ll mean that you end up with one drawcall for every piece of armor, which quickly adds up to a big performance cost.

Having a separate rig won’t be a huge hit on performance, and if you can’t use the first method that i talked about, I would recommend that you do that.

The trick is to rig the armor model to the same skeleton the character uses, and in Unity, when it is equipped, to replace the bones of it’s SkinnedMeshRenderer component with the ones from the character.

Shared skeleton and animation state