How should i approach character customization?

I have my model texture painted, But what i want now is to give the player the chance to… lets say change the color of the hair or the color of their clothes, etc.

The simplest way i can think of is to have different texture paints, so they are assigned accordingly to what the player selects…
Is there a more efficient way to do this? in order to avoid the need to paint different textures…

The texture paint looks similar to this(every component of the model is painted on 1 image)

If the hair texture is its own material, simply make it white and grey monochrome, then change the color of the material within the UI, that way you only have one texture, and you can make it a color wheel instead of swatches.