UE5.8 material "Landscape Layer Blend" broken

Summary

UMaterialExpressionLandscapeLayerBlend gives vastly different results in UE5.8 than in previous versions of UE. I believe this change caused the blend math for various properties to break. https://github.com/EpicGames/UnrealEngine/commit/5fb68c7cd7df1fcfeee60b27ea35b9962509da57

What Type of Bug are you experiencing?

Rendering (Graphics / Niagara)

Steps to Reproduce

  1. Create a new, Blank project
  2. Open M_ProcGrid
  3. Create a “Landscape Layer Blend” node, and add a single element to the Layers array
  4. Hook-up the MaterialAttributes inputs/outputs

Expected Result

“Blending” a single layer should just output that layer, unchanged.

Observed Result

The landscape looks significantly different.

Affects Versions

5.8

Platform(s)

Windows

Upload an image

I’m experiencing the same issue after upgrading from 5.7 to 5.8.

This can also be seen directly in the Material Preview. It seems to happen when Material Attributes are connected to the Landscape Layer Blend input.

My workaround was to avoid using Material Attributes there and blend individual properties, such as Specular, separately through Landscape Layer Blend instead.

When upgrading a copy from 5.7 to 5.8. The landscape in 5.8 seem to set a fixed specular value on all layers or something. Changing specular value in any layer does nothing.

My Environments were looking a little pale too after upgrading the engine to 5.8 so I immediately suspected it to be a specular issue. I did some testing and its doing exactly as you say. My Specular values are being blown out on all the Layers in the node.

Chiming in to say the exact same thing.

Blending using blend material attributes looks totally different to using landscape layer blend, even with a single layer outputting, you can see all the results are whack in buffer vis (specular is 0.5 even tho I have reduced it in the material function.

Just saw this thread a moment after making my own haha.
In my case, the Landscape Layer Blend node is not outputting anything attached to it - the landscape remains gray.
Here’s my thread: Nanite Landscape does not show layer blend materials

Btw, my 5.7 landscape uses blend method “weight blending(Legacy)” in LandscapeLayerInfoObject asset. Tried using “advanced weight blending”, but painting with that looked kind of washed. So I painted all layers with “legacy” instead. I have only 32 gb ram, can not “save” all 260 chunks at once (because editor crashes). I could rebuild and save 10 at a time then restart,10 at a time then restart,10 at a time then restart, 10 at a time then restart. It would take me a week just to check if rebuilding all chunks would “fix” the landscape.

We’ve had this happen to our game as well (in packaged builds specifically).

It’s super weird because I applied the material we have to a fresh landscape, painted away, and it seemed to work totally fine when packaged, but the landscapes for our actual game build were all busted.

So it might actually be a combination of that code in the github commit, and somewhere down the chain where its making decisions about what layers to include for each landscape component.

EDIT

Extra thought: Our landscape has come through multiple versions of the Engine (I think the specific one I’m working on was originally imported in UE5.5). So its been in 5.5, 5.6 and 5.8.

EDIT 2

I spoke to one of our artists, its not just broken when you try to blend Material Attributes connections, its broken even if you just try to blend vectors and scalars etc.

In 5.7 I enabled in default engine configuration settings nanite tessellation. The landscape material kind of not use it but it is there (displacement). Don’t remember if I enabled nanite tessellation in 5.8 default engine configuration

r.Nanite.AllowTessellation=1

r.Nanite.Tessellation=1

Maybe if I enabled it in 5.8 too the landscape would be ok.

using this ticket number me and my colleagues could not really find a corresponding UDN ticket. What kind of number is this and how would it help us keep an eye on this issue?
thx

1 Like

UE-386355 is ‘Closed’ as ‘Fixed’.