Water can sporadically disappear in World Partition maps that have multiple spatially loaded AWaterZone actors.
FWaterViewExtension::UpdateGPUBuffers() builds the WaterZoneData and WaterZoneViewData arrays densely by iterating FWaterBodyManager::ForEachWaterZone(), which skips free slots. The shaders, however, index these buffers by the sparse WaterZoneIndex, which comes from a TSparseArray. When zone indices are not tightly packed, zones read the wrong zone's data, or read past the end of the zone section.
The issue is still present in UE5 Main and UE6 Main.
Add a MaxWaterZoneIndex() helper analogous to MaxWaterBodyIndex().
Result: water in the remaining zone(s) renders incorrectly or disappears.
Expected: water renders correctly regardless of zone streaming order.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-402764 in the post.
| 0 |
| Component | UE - Graphics Tools - Terrain - Water |
|---|---|
| Affects Versions | 5.7.4 |
| Target Fix | 5.8.5 |
| Created | Oct 14, 2026 |
|---|---|
| Updated | Oct 19, 2026 |