Summary
When using Mesh Terrain, if you put a MeshPartitionResource and MeshPartitionChannelSample node inside a Material Layer Blend, the result is always 0. The setup works if the nodes are used in the material directly instead of the MLB asset.
This means material layer blending is impossible with Mesh Terrain. A material must instead hoist all layer definitions and blend logic into the material itself, bypassing Unreal’s layer system entirely.
What Type of Bug are you experiencing?
World Creation Tools
Steps to Reproduce
- Make an Open World level. Add Mesh Terrain and assign an MPD that has a channel (e.g.,
Dirt) and a material with at least one layer (not including the Background layer)- Important: the layer MUST have a Material Layer Blend (MLB) asset assigned.
- Add a brush modifier and paint
Dirtonto the terrain. - In the MPD material, pipe
MeshPartitionResourceintoMeshPartitionChannelSample(Channel =Dirt) and then into Base Color. The painted area will be visible. - Now put that same
MeshPartitionResource+MeshPartitionChannelSampleinside the MLB asset. Connect it straight to the blend’s Alpha. Assign the blend to a layer on the instance. The painted area will not be visible.- Note: this matches the example shown in the Mesh Terrain docs.
Expected Result
Mesh Terrain channel sample data should be returned when when using the MeshPartitionResource + MeshPartitionChannelSample nodes inside a Material Layer Blend asset.
Observed Result
Mesh Terrain channel sample data is always zero inside Material Layer Blend assets.
Affects Versions
5.8
Platform(s)
Windows
Video
Additional Notes
The attached video demonstrates:
MeshPartitionChannelSampleworks when used directly in a material.MeshPartitionChannelSampledoes not work when used in an MLB asset.- Sanity check: MLB is configured correctly.