[UE 5.7 Bug] Water Plugin - Landscape_WaterBrushManager never initializes render targets (OwningLandscape null)

Summary

UE Version: 5.7
OS: Windows
Category: World Creation / Water Plugin

When adding any water body (Lake, River, Ocean) to a level with a Landscape in UE 5.7, the Landscape_WaterBrushManager is created in the level but never initializes. All Render Targets remain None and the OwningLandscape reference stays null. The editor shows a permanent loop notification: “Waiting for edit layer resources to be ready for landscape named: Landscape”.

What has been ruled out:

  • Live Coding disabled — no fix
  • Substrate disabled — no fix
  • BlueprintMaterialTextureNodes plugin enabled — no fix
  • Deleting all water actors, saving, reopening, re-adding — no fix
  • New landscape in same project — no fix
  • Landscape size (tested with 505x505, well under 4K limit) — not the cause
  • Shader compilation errors — log shows 100% completion, no errors
  • WaterBrushManager.cpp and WaterLandscapeBrush.cpp are byte-identical between 5.6 and 5.7 — bug is likely in LandscapeEditLayers.cpp side
  • Works correctly in UE 5.6

What Type of Bug are you experiencing?

World Creation Tools

Steps to Reproduce

  1. Create a new level with a Landscape (any size, created from scratch with Landscape Mode)
  2. Enable the Water plugin
  3. Add a Water Body Lake or River to the level
  4. Check the Landscape_WaterBrushManager Details panel

Expected result: WaterBrushManager initializes render targets and deforms the landscape.

Observed result: OwningLandscape is never assigned. AddBrushToLayer / SetOwningLandscape are never called successfully. Render targets remain None indefinitely. All Render Targets are None, Landscape RTRes is 0,0, Landscape Quads is 0,0, Landscape Transform is 0,0,0.

Expected Result

WaterBrushManager initializes render targets and deforms the landscape.

Observed Result

OwningLandscape is never assigned. AddBrushToLayer / SetOwningLandscape are never called successfully. Render targets remain None indefinitely. All Render Targets are None, Landscape RTRes is 0,0, Landscape Quads is 0,0, Landscape Transform is 0,0,0.

Affects Versions

5.7

Platform(s)

Windows

Additional Notes

The root cause appears to be that PrepareLayersResources() in LandscapeEditLayers.cpp never returns true in 5.7 for this setup, blocking the initialization chain that would call SetOwningLandscape on the brush. Since the Water plugin source is identical between 5.6 and 5.7, the regression is on the Landscape system side.

Captura de pantalla 2026-06-18 131549