There's a naked skin, the base skin, with underwear. Then there is a layer for clothing that is connected to the armors, so that when you equip the combat armor, your pants turn brownish and your shirt dark grey. On top of that, two more layers for pants and shirts (I need a third one for shoes) those two cancel the previous one when active. This way you can combine pants and shirt colours and type your own way, and still wear the armor on top. This is how I made it. It's not implemented, because it would require some programming.
Clothing types are these. Tanktop, T-shirt, long sleeve, with short pants, long or medium. Boots or shoes. With different colors for each. Just do the math.
I said before, we need to use textures for default clothing, otherwise the number of polygons to render would be very high. Well forget that. I was not thinking about the DisableSubset function, that prevents a specified subset from being rendered. So I guess it would be ok too.