top of page


A free resource containing Documentation and Workflows for Brushify in Unreal Engine

Adding Custom Materials (e.g. Megascans)

In this article I'm going to explain how Custom Materials can be added to the Brushify - Landscape Auto-Material For this tutorial we're going to be using a Megascans texture that you can download from here: Megascans Texture Download

This procedure can be done on any landscape that uses the Brushify Landscape Auto-Material. In this tutorial we're going to be directly altering the landscape shader, in order to add a new paint layer.

To begin with I'm going to paint a little patch of mud down on the landscape:

The mud layer is perfect learning how to add materials, because it already contains all of the textures we need to add Albedo, Normals, Roughness and Height. So in this tutorial we're simply going to be duplicating the mud layer material functions, and swapping out the textures for our own.

Adding a new Material

So in this tutorial we're simply going to be duplicating the mud layer material functions, and swapping out the textures for our own. To begin with go to Content/Brushify/Materials/Landscape/M_Landscape

When you open that up you'll find this:

Don't let this file with all the complex nodes overwhelm you, we're only going to be modifying a very small part of it in order to add our material. The file we're actually interested in is this one: MF_LandscapeLayers

This file is where all of the material functions are assigned to the landscape. You can see all of Brushify's 11 Paintable landscape layers are assigned to the various Layer inputs. So making our own is really simple, we just need to copy one of the Material functions that are already setup, and modify it so it uses our own textures. In this case, i've just copied the MF_Mud material function, changed the name to MF_Stone

In the Landscape Layer Blender make a new input layer and call it Stone

Now simply hookup the MF_Stone to the Landscape Layer Blend:

In the next step I've also gone inside the MF_Stone and i've assigned Megascans texture to the Detail Texture instead. You can also change out the Macro and Global textures if you wish, but for now lets just focus on the upclose texture.

The same goes for the Normal and Roughness functions. Simply copy the Mud ones e.g. MF_Mud_Normals, then rename them to MF_Stone_Normals.

Remember to go inside the copied functions and switch out the textures for the megascans ones:

Now that's done you should have a new Stone Paint layer that you can paint down. (If this doesn't show up straight away, try to restart your level / editor.)

The new megascans material looks nice, but it's missing displacement.

You can enable displacement in 5.3 by following this article:

And here is the finished result:

So as you can see adding new paint layers is actually very simple. It's mostly just a case of copy/pasting various Material Functions, and hooking up a few things in MF_LandscapeLayers. Once you become more confident with the system, you can also try more complex shader edits, such as adding your own custom parameters, or even deriving textures from other materials.


bottom of page