I want to add several textures in a master material and create 1 material instance to control the textures

Hi guys, I am new and I am trying to create a material for a very specific task.

We have a character that has 5 different elements ( body suit, helmet, cloth, upper body and lower body)

So each skin have 5 different elements and each element needs a specific texture. We have 5 different skins with the same variations each skin

What I had in mind to do is the following:

Create 5 master materials, one for each element that we need. In each master material I want to add all 5 different variations of textures as parameters. For example in helmet master material I want somehow to add all the helmet textures for the 5 different skins and make them as parameters. When I am done, I have in mind to create an instance material of this helmet material that will allow us very fast to select which version of textures to enable

I don’t know if it’s possible and if I can do it. I wanted to avoid to create 25 instances to cover the 5 different materials for each skins x 5 different variations. I want to create 5 master materials and 5 instances to control all versions of each material

Any ideas would be highly appreciated

If you have the same setup for the 5 pieces you can make a single master material. If they’re really different, you can make 5 materials as you said.
For the skins you can use structures or any other way you prefer to store the variations for each skin set, and change them dynamicaly in Blueprint by creating a Dynamic Material Instance for each piece’s material.

Hi Grim,

first of all thank you so much for your reply.

Yes the 5 pieces are the same. They dont change per skin variation. I will study what you have sent. I am very new to UE5 (3 days) but what you have sent makes sense. I will try to study each element and figure it out because I am not very familiar to material functions. Thanks again

Assuming your armor pieces are Static Mesh Components (SMC) you can Create Dynamic Material Instance from the materials of each SMC and promote them to variables. This way you can change the variables in runtime and that would automatically update the material on the meshes.

For the structure you can make something like this
image

Using Texture2D or whatever parameter you want to change.
Then create a Data Table from this structure for each SMC, that way you can have a name assigned to your skins.

Then create the variables for your Data Tables in your BP and get the data like this

This of course is not the only way to do what you want, but this is what I normaly do in this situation.

1 Like

Your comment is so helpful! Thank you so much for taking time to guide me like that. I will study all these in depth and jump in to recreate it