In 5.8, weightmap layer allocations of a landscape component leak into its left, top and top-left neighbor components when Edit Layers are merged. Neighbors end up with layers that were never painted on them (all-zero weights). Because the landscape material is compiled per component with all allocated layers, components can exceed the 64 SRV limit ("Shader is using too many SRVs") and fall back to the Default Material. The same content works correctly in 5.7.
This looks like a side effect of CL 53528838, which widened the input area of the persistent edit layer's weightmap render items to (1,-1)(0,0). In ALandscape::PrepareEditLayersMergeRenderContext, the output target layers are added to every component in the input area, not only the output component. They end up in the final layer allocations through ReallocateLayersWeightmaps.
Here’s a work around:
UE::Landscape::EditLayers::FMergeRenderContext ALandscape::PrepareEditLayersMergeRenderContext(const UE::Landscape::EditLayers::FMergeContext& InMergeContext, const UE::Landscape::EditLayers::FMergeRenderParams& InMergeRenderParams) { ... // Iterate on all the required components : for (TConstSetBitIterator It(*ComponentsToIterateBitIndices); It; ++It) { const int32 ComponentToRenderIndex = It.GetIndex(); FComponentToRenderInfo& ComponentToRenderInfo = AllComponentsToRenderInfos[ComponentToRenderIndex]; check(ComponentToRenderInfo.Component != nullptr); #if 1 //work around // In the SpecificComponent case (asymmetric input/output areas), skip neighbor components that are only part of the input area. const bool bIsOutputComponent = (OutputWorldArea.GetType() != FOutputWorldArea::EType::SpecificComponent) || (ComponentToRenderInfo.Component->GetComponentKey() == OutputWorldArea.GetSpecificComponentKey()); if (bAffectsOutputLayerBitIndices && bIsOutputComponent) #else if (bAffectsOutputLayerBitIndices) #endif { ComponentToRenderInfo.TargetLayerBitIndices.CombineWithBitwiseOR(OutputLayerBitIndices, EBitwiseOperatorFlags::MinSize); }
I attached the repro in this ticket to skip step 1~4.
Component A has 10 weightmaps, so it triggers “Shader is using too many SRVs: 68 (only 64 supported)” error.
see attached layerusage_actual.png
Each component has only 5 weightmaps.
see attached layerusage_expected.png
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-402265 in the post.
| 0 |
| Component | UE - Graphics Tools - Terrain - Landscape |
|---|---|
| Affects Versions | 5.8 |
| Target Fix | 5.8.5 |
| Created | Oct 13, 2026 |
|---|---|
| Updated | Oct 19, 2026 |