Layers might be for you:
BTW, it’s not a blueprint, I used to get them confused also. Blueprint is the code behind the blueprint asset type. The code in a material is just called the ‘material graph’.
Layers might be for you:
BTW, it’s not a blueprint, I used to get them confused also. Blueprint is the code behind the blueprint asset type. The code in a material is just called the ‘material graph’.
How can I address/call a Material and/or Material Instance within a Blueprint, e.g. the Blueprint of another Material?
I am currently playing around with an existing landscape material which uses a layer blend node to combine four material functions and then later adds more functions until the final attributes are complete. Now I wanted to add more materials (into the layer blend), but instead of using functions, I want to add existing materials/material instances. I thought this would be pretty straight forward, but it seems to be more complicated than I anticipated…
(the material functions all output the result of a MakeMaterialAttributes node)
Thank you!
So as far as I understand, there is no possibility, currently?
In the Content Browser, create a new Material Function and copy/paste all your Material Function nodes into it.
This might work for normal workflows, but for working with existing materials, this is a bit counter productive…
I haven’t read the whole thing, but it seems close…
Just in case anyone else has the same question, I try to give the answer I concluded to:
Apparently, this is not possible. There seems to be no wrapper to get a material or material instance in a blueprint. Basically it seems that you need to copy the entire blueprint of the original material and set all parameters as you want (or as they were in a material instance based on this material). The only “solution” would be to create a material function first and then use this function within the original blueprint. But that only helps when you want to use it both as a function and as a blueprint/blueprint instance in another location.
If anyone comes up with a better / more correct answer, please feel free to let me know, thank you!