[Material] Is there a way to optimize this?

I am trying to allow the player to add personalized details to their character like war paint, freckles, scars, and tattoos.

I have currently implemented a way of doing this that takes the feature you want to add and allows you to scale, rotate, and position it then lerps it back to the base texture using the alpha as a mask.

This works well, and gives a good result, but it is definitely not optimized.

The textures are separated into individual files which isn’t ideal, but I don’t know how to use an atlas. Ideally I would have 3 textures 1 containing all skin cosmetics, 1 for all damage cosmetics, and 1 for all paint/tattoo masks. but I don’t know how I would target cells of the atlas independently of each other and perform my transforms

The system currently has 10 “slots” which I toggle by setting their scale to 0. This is aesthetically right, but I’m sure there is a better way to add or remove instances of the textures on the fly

Finally I want to allow players to make complex paint designs out of the prefab shapes if they want. is there any way to allow them to save their shape patterns to a new texture that can be replicated over a server so that they don’t need to use say 20 layers for their cool looking war paint.