This is a refined repost of my initial suggestion in 2022. If you wish to see, please follow this link:
I also believe that this post covers the same topic: Add ZIndex property to SurfaceAppearance - Feature Requests / Engine Features - Developer Forum | Roblox
Currently, it is too difficult as a Roblox developer to create customizeable characters using SurfaceAppearances. To create a customizeable character where you can customize different coat colours, patterns, etc. it requires you to take one of two approaches:
1.) Splitting parts, which results in visible seams within the mesh, multiple ngons (in certain instances), and a messy, destructive workflow where re-weight painting etc. is not possible without re-combining the mesh and splitting it again.
Split mesh example, where you can see visible seams within the mesh (note the little sand-colored pixels, this effect becomes even more apparent when the mesh is deformed or with a non-flat texture.
2.) Layering pieces ontop of the base model to give the illusion of the model having markings
Layering pieces example from Warrior Cats: Ultimate Edition , note the floatiness of the mesh, as well as the addition of more triangles to add markings.
To fix this, implementing the ability to add multiple ColorMap texture SurfaceAppearances with a ZIndex feature is the way to go.
My project, Wolf Story
I am creating a project called Wolf Story with @iiau , and due to the destructive workflow and overall “wonkiness” of implementing customization features, we have decided to go with a “skin” system, where you can select what coat you want your wolf to have, and then can change its color based on the newer SurfaceAppearance Color3 option.
Two different Color3 values, first being 255, 255, 255, and the other being 255, 234, 193
Using this approach, however, we are unable to attain the level of customization that games such as Warrior Cats: Ultimate Edition has. What if somebody wants to colour the underfur (the white components) of the wolf a different colour than the body (gray components)? By using Color3 on SurfaceAppearances, you’re able to get the entire wolf to have a “brown” tint, but you’re unable to leave the white parts the way that they are, as they also receive this tint.
By having multiple SurfaceAppearance ColorMaps (with transparent backgrounds on where the markings shouldn’t be), and a ZIndex feature, it’d be possible to layer these markings ontop of each other, allowing the user to customize their wolf exactly the way they want it.
With this feature, you could also achieve different effects like easily being able to put moss on trees without making two different bakes, creating different “makeup” options for custom humanoid models, and much, much more.
I’ve been wanting this feature for years. Please Roblox, allow me to create my dream game. ![]()



