Complex UV Requirements

I have a situation where I need to produce a highly modifiable character where many segments of the body have their own custom diffuse + specularity(alpha) and parallax normal map when needed. To do this I created multiple UVs on three meshes. The eyes are seperated from the rest which are all one one mesh: Head, Lips, Nails, Upper Torso & Lower Torso. I could get away with merging the upper/lower torso and/or head UVs since all would theoretically change together but am shooting for high quality.

So I split the Head & Upper/Lower Torso in to three images to allow for individual tatoos/scars by region as well as makeup. Additionally, I am going under the assumption that by working on 3 seperate 4028x4028 images scaled down for various quality settings it would allow for good “future-proofing” of the assets over at least the next few years as technology increases without having to reinvent the wheel since I work at such extreme resolutions anyway. I figure that 3x1024 2x512 and 1x 256 should make for a decent modern computer.

The problem comes in when I import the character in to Unity. Firstly it imported all of the “UVs” as “Materials” I believe. No image was assigned to any of the material’s shader values. Each had the name of the associated UV so I assigned each image to the respective slot. The result was a disaster. One out of all the parts of the body mapped properly the rest were using the wrong image & the wrong UV map.

So I came to the forums/answers site in search of a solution. I found: can you use 3 or more UV sets - Questions & Answers - Unity Discussions

But I cannot make heads or tails of how to accomplish this. I am not a coder I am an artist just trying to preview my work before I send it off to my team and I am glad I did because this thing is a mess. Does anyone have any suggestions on how to solve this problem? Will a custom shader do the trick? Or will I have to segment each UVset to it’s own object and add them as elements to an object in 3d studio max? or worse separate objects altogether? I am working in 3D coat to produce my main topology and diffuse/specularity detail. And have no issues bringing the model from 3d Coat → 3D Studio Max.

Any help would be greatly appreciated. Thank you.

So let me get this straight. You have one mesh (+eyes), and you want to have three different textures, but you don’t want to switch them in one go, but separately, for example using the head of texture1 while using the body of texture2, right?

It should be possible to write a custom shader, if you know how to (or someone who does) or with Strumpy’s Shader Editor. Either one that uses different UV sets or one using masks to use separate parts of different textures with a single set of UVs.

Personally I would simply use a Multi/Subobject-Material in Max, and then use 3 different Materials in Unity. One single set of UVs.

Close. One mesh + eyes, with a custom image for each “Eyes, Nails, Lips” also “Head, Upper Torso & Lower Torso” that’s a total of 6 images on 3 mesh objects. So that puts “Nails, Lips, Head, Upper/Lower Torso” on one mesh.

Glad to know a custom shader is possible… So I just need to figure out how to get one created some how lol. I looked at that example but I have no idea where or how I would edit a shader to allow this to happen.