Using Material Functions with Landscapes

It should control 2 layers just fine. Thats exactly what its for. There is a Top and Bottom (Base). You can never paint the Base with this setup. If you want to paint the base, you erase the top. But you only need 1 “paintable” layer to control 2 layers.

I am guessing you used a “Weight Blended Layer”. Try deleting that layer and making a new one with a new name. This time add a layer blend asset but choose “non weight blended”. All weight blended layers do is try to normalize the layers automatically. So if you have 2 layers, the 2nd layer is always going to equal the inverse of the first layer (aka, 1-x). It makes it so painting a bottom layer has the same effect as erasing the top layer.

it is possible to use weight blended layers using functions like this but it is more trouble than it is worth. Non-weight blended layers make more sense anyways since it implies a physical relationship between layers. Weight blended layers IMO are buggy and just cause problems like above (its probably confused that it has nothing to normalize with or something) so I suggest avoiding them.

Ie, for a standard terrain Rock is the base. Then you have to erase the other layers to “expose” the rock rather than painting the rock. So a terrain with rock grass and snow really only need 2 paintable layers, the grass and snow. Rock simply shows anywhere the others don’t. And in that case you want snow to be top layer since that makes more physical sense.