As a Roblox developer, it is impossible to create customizable mesh deformation characters by colouring and layering textures.
I am the owner of a game called Felandia (✨[QOL update!!] Felandia - Roblox). In Felandia, users can customize their character by changing colour, markings, eye type, and more.
As you can see in this image, the amount of character customization is significant. However, it is impossible to do the same with mesh deformation characters. I believe that it is important to incorporate mesh deformation into Roblox games because this is the future of the platform. There are also performance benefits that come with mesh deformation rigs (no hidden vertices from parts clashing into parts, there would only be one Meshpart).
Currently, the only way to apply a UV-mapped texture onto a mesh deformation rig is by changing the TextureID or SurfaceAppearance ColorMap. Both options do not allow you to change the colour of the texture (think: Decal Color3 values allow you to change the colour of white images in-studio) or allow you to layer multiple textures ontop of one another. This restricts the mesh deformed character’s colours to being what’s on the ColorMap image, thus, restricting all customization in-general.
This is a dog model I created for RDC 2022 Gamejam. It uses a SurfaceAppearance ColorMap in order to display it’s texture. If I wanted to colour the white part of the dog brown (for example), I could not since there is no way to adjust the Color3 value of textures in-studio (and it’s a hassle to create hundreds of images for every single colour possible). Additionally, if I wanted to change the white part and the dark part of the dog separately, I could not since there is no way to layer each texture individually. Below, I attached an image for what it could look like if I were able to colour each part individually.
A solution for this problem would be either to introduce ZIndex and Color3 properties for SurfaceAppearances or allow Decals to use UV maps (since Decals have ZIndex and Color3 properties). That way, the ZIndex order can look something like this:
The ZIndex order would look something like this:
1 - Base Colour
2 - Underfur
(any player-chosen markings would go in here)
3 - Eye Whites
4 - Eye Colour
5 - Pupils
The user could colour each texture individually, resulting in customizable mesh deformation characters.
If this issue is addressed, it would improve my development experience because I could create a mesh deformation game similar to Felandia, but without the lack of real-time customization. Mesh deformation is the future of Roblox, and I’d love to make an experience that’s also competitive off-platform (blocky rigs turns down an older audience).