How can I generate lakes procedurally in UE 5.3 ?

Hi ! I am still pretty new to UE so excuse me in advance if I say something wrong about the engine.

I am basically trying to generate lakes procedurally on a landscape (which is flat for now) using the water plugin. For now, I just want to generate a single lake by giving an array of points where the spline defining the lake will have to pass by, but I encounter some main problems:

  • First I cannot just make a water body lake spawn from another blueprint, since the landscape seems to be generated BEFORE BeginPlay is called and there is thus no change on the landscape when hitting play. I somehow managed to spawn a lake (with its basic shape, made of a 3 points spline) using a Python script, which may be a backup solution but is not ideal at all.

  • Even though I manage to spawn a lake, I cannot find how to modify its spline and update the landscape afterwards, even through my Python script.

Do you know any better way to fully generate a lake/water area from scripting ? I cannot find any documentation or topic to help me. I assume the water plugin is not made for this kind of use, but I would really like to use it this way since it is really well-made, realistic and is really simple to use with the UE landscape.

Thank you for reading !

Hey there @Real! Welcome to the community! Generally the water plugin was not originally meant to be procedural. It’s meant to be locked in by compile time just like landscapes (especially due to the landscape integration). However, you may be able to dig into the source for the water plugin to see where it updates the location data for both the landscape brushes and water visuals.

Alternatively, some changes that let you adjust the water body visually (but without the physics or post process material) were being discussed here: