Batch edit material

Hi, I am new to Unreal Engine.

I have a tons of materials, each of which has Base Color connected to a texture but other nodes are naked.
I wanted to further develop those materials after imported via FBX, but since they are too many, I started learning Blue Print. But shortly, I noticed that the ndoes that I want to change within Blueprint should be parameterized before they are passed to Blueprint.
They are tons, and converting each node to a parameter one by one is simply painful.
Is there a way to batch edit lots of materials that have similar structures? C++ codes or Bluprint will run after materials are compiled and store to GPU so not for the case, this is my understanding. Is there a way to do scripting/automating generation/modification of materials? Is there a good plugin (hopefully python) in market place available?

Thank you.

Hi,

depending on what you need exactly, you could use one material, configure it with the more complex setup that you need and use material instances to configure the detailed setup that you need in each instance.

If you create instances with the correct names, they can be connected to the objects automatically when importing many FBX objects at once (so the ‘empty’ materials that you mention would no longer be created). For this to work you need to use File->import into level and make sure you point the importer to where your material instances are stored.

Hope that helps.
Warner

I believe the issue here is not about having created materials, but importing them…
when you import a rendering object with materials, the materials will be all created as separated materials, so if you want to change something on them, you’ll have to go editing each material’s blueprint. And the question is how to bulk edit the blueprint on every single material.

I have the same issue. Did you ever find solution to batch edit imported Materials ?

To the best of my knowledge it’s not possible to batch-edit materials in this way.

One can select multiple things in the content-browser, right-click → asset → bulk edit via property matrix and change things that are exposed that way, but if I read correctly you are looking to make changes within each material, not changes about the material-object.

What it sounds like is you have a bunch of individual materials that you want to consolidate into a set of master-materials. IF that is the case you’ll have to make it from the ground up (sorry).

One thing that might work in your favor is if there are material-instances involved. Each instance has a parent in the raw-material-graph it references. It’s possible to reparent a material-instance so all the instances then use the same material. The only downside is that the variables and whatnot in the instance will need to be the same as in the new-parent else they will be discarded…

1 Like