Exporting the textures in 1x1 worked flawlessly, thank you!
As for the other problem, I'll elaborate a bit more. We have a character model with 3 main features:
The clothes we want to just render normally
The skin we want to apply a gradient, since it is grayscale, this gradient has values shifted depending on shader values to better emulate different skin tones. The skin must also support freckles and vitiligo, and other potential shader powered features.
The hair just needs the gradient at the moment.
Since we are packing the albedo at runtime, I thought of having a mask that replicates the albedo atlas. Said mask would use one channel for the skin, one for the hair and another for the clothes. Using this mask, we could tell the shader what to do in each part of the model.
This being said, I'm not sure this is the right approach and I think you brought some interesting points to the table. Do you think we could just flax vertex with an ID, being 1= cloth, 2 = skin, 3 = hair, etc. and depending on the ID do the corresponding logic? I think this would be optimal
Regarding the material ID solution I'm a bit lost, I would need multiple material IDs in the same shader, so I'd be in the same problem as before. How to I assign a material different material ID to the skin than to the clothes?