How to use material functions to make landscape layer?


I want to paint my landscape using the Material Layer Blend node, however, it requires you to make your material WITHIN that blueprint or at least in a function that you call upon. Now, the thing is, I could make a seperate material for every single layer of my landscape material but that would literally take hours because I want to have a lot of layers (like 10-15)

I use Quixel mixer, bridge and megascans, hence why I need this. When I import my materials from Quixel Bridge, it imports all the relevant maps and a ready to go Material Instance that is linked to a master material that I can edit.

If only there was a way to use those automatically generated material instances that are linked to the generated master material IN my OWN Landscape material, then I could use landscape layer blend node to make my landscape layers.

Does anyone know a better way to make landscape layers from instanced materials?? I really don’t want to spend hours moving stuff from content library to the blueprints for 15 materials. How do I use material functions to make my landscape layers?

The master material blueprint looks like this:

The material instance settings for each specific material that is automatically imported looks like this:

Thank you for your help

Create a new material function for each layer and then copy/paste the nodes into them from the auto-generated materials
Then create a “Make Material Attributes” node and connect the appropriate networks.
Then in your landscape material create a “Material Function Call” node for each layer you want and point them to the material functions you just created.
Connect that MFC to a break material attributes node and you will be able to drag out the networks you need for each layer.
Check out the documentation for layered materials:

When you make an instance out of the new landscape material you created using functions, the parameters from all the included material functions will be exposed so take extra care when naming parameters for each layer as identical names from multiple functions that do different things will only show up as one parameter and will all read from that value in the instance.

Thank you so much!

You’re welcome! Always glad to help.

Hi, I’m having a similar issue but I need a lot materials to have similar parameters exposed. Is there a way to quickly rename parameters or add prefixes/suffixes?