how to combine two landscape materials

So this is what is ultimately going out to the shader:

That node that says ‘BaseColor’ (in blue) then hooked to the ‘Base Color’ node on the right is what is going out as, well, the base-color, the RGB of what you are seeing. The one hooked to Metallic, the same, Roughness, etc; anything that has something plugged into it is being used. That node they are plugging INTO is the output node of the entire shader, so whatever ends up being plugged into that is what is ultimately included in the compiled shader.

That being said, it looks like there are lots of textures at play, you are likely looking at combining/packing a few of them… As for the logic, the rough 10,000-meter view is that the set of things that drive the basecolor path, for each material, would need be merged. Same for Roughness, Specular, etc. As well, to make it even more complex, each of those logic-paths might intersect, it can very from shader to shader as it’s all up to the artists to decide what means what, if a texture gets used for both Roughness AND Specular (as an example, not a rule!), or if there are other sharing/trade-offs at play. There’s no ‘correct’ way to write these things, it’s mostly art.

If you right-click that blue BaseColor node and pick select upstream-nodes, you can see what ends up feeding into that particular node, so you can a least work towards isolating particular maths. Otherwise what you are asking about is something moderately-advanced as you are looking to break down both shaders and combine them vs making a brand-new one. Dipping-in to someone else’s code is always a trick-affair.

Specifically in terms of sharing, we can see how this same texture is apparently the height for both rock and dirt (grainy pic, assume that is what the labels say):

To my way of doing things, that’s…odd. I’d be using distinct heightmaps for each layer, distinct basecolor and the like. Here it seems there is a lot of sharing, so that’s just going to add complexity :frowning: