create_lake_water_body
Spawn a Lake water body actor in Unreal Engine, optionally link it to a WaterZone, and read back the wave height the factory attached to verify the result.
Instructions
Spawn a Lake AWaterBody actor, optionally link to a WaterZone, and READ BACK the wave height the factory attached (a lake is born with the OCEAN's waves and nothing else reveals it).
Returns: { actor_label: string, actor_name: string, body_type: string, water_zone_label: string, linked_to_zone: bool, affects_landscape: bool, max_wave_height: number (RE-READ from UWaterBodyComponent::GetMaxWaveHeight() AFTER any disable_waves), max_wave_height_on_spawn: number (RE-READ as the factory left it), has_waves: bool, waves_disabled: bool, warning?: string (emitted when a lake was born with waves), requested: { actor_label, location, water_zone_label, affects_landscape, disable_waves } }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| location | No | Optional [X, Y, Z] world location (defaults to origin) | |
| actor_label | Yes | Label to assign to the new water body actor | |
| disable_waves | No | OPT-IN, default FALSE. Sets water_waves = None right after the spawn and RE-READS GetMaxWaveHeight() to prove it went to 0. Use it on any basin shallower than ~5 m: the engine's Lake factory attaches the ocean's wave asset (measured 508.125 uu = 5.08 m of crest), which on a pond a few meters deep breaks the water surface -- crest above the lip of the basin, trough below the bed -- with every property of the actor reading green. | |
| water_zone_label | No | Optional label of an existing AWaterZone to auto-link the body to. If given and the zone is not found, `success` is FALSE (the body is still spawned; `linked_to_zone` says so). | |
| affects_landscape | No | When true the body carves the existing landscape via the water landscape brush; defaults to FALSE (non-destructive) |