TimurSibatov - Water Dynamics — Interactive Rivers, Waterfalls & Lakes

Most river tools paint a flow map once. When a designer moves a rock, the art and the water disagree.

Water Dynamics simulates the river. A depth-averaged shallow-water solver computes height and velocity along a spline channel. Rocks split the current, submerged stones make it shallower, and the solved flow drives the surface detail, transported foam, impact waves and buoyancy. Move the rock and the water follows.

Built for artists. Window → Water Dynamics opens one panel. Create a river, lake or waterfall in the current level, set width, depth and flow speed in real units, pick a waterbed (rocky, sandy, silty, algae), dial clarity and turbidity, and switch between realistic and stylized looks. Both looks read the same simulation.

What you get

  • Spline rivers with variable width and depth, wet/dry banks and collision-aware obstacles (static collision is captured automatically).

  • - Gravity-sheet waterfalls connected to the upstream river, with landing foam, droplets, spray mist and momentum into the pool.

  • - Physical impacts: thrown objects create expanding wave packets, splash crowns, rebound jets, droplets and mist. Bind OnWaterImpact for your own audio or Niagara.

  • - Transported foam that follows the solved velocity.

  • - Native Single Layer Water optics: IOR/Fresnel, depth absorption and scattering, refraction, approximate caustics on the bed.

  • - Buoyancy component with multi-pontoon displacement and drag; interactor component for kinematic actors.

  • - Blueprint queries: water height, normal, velocity, depth and foam at any point.

  • - Reusable look presets, explicit quality settings and on-screen flow diagnostics.

  • - Lakes and finite oceans with ripples and Gerstner waves.

  • - Full C++ source, 5 Blueprint water presets, 4 look presets and 12 example maps.

Honest scope: 2.5D surface flow on the CPU inside a finite spline domain. No 3D FLIP/SPH volume, FFT or infinite ocean, landscape carving, underwater rendering or network replication. Waterfalls are animated sheets driven by the river, not volumetric fluid.

The gallery and video show the water in a forest gorge dressed with Quixel Megascans via Fab. That scenery is for presentation and is not included; the plugin ships its own example maps with CC0 Poly Haven art.

Technical details

Code modules: WaterDynamics (Runtime), WaterDynamicsEditor (Editor)

Number of Blueprints: 5 water presets (+4 look-preset Data Assets)

Number of C++ classes: 15 classes, 6 structs, 4 enums

Network replicated: No

Supported development platforms: Windows (Win64)

Supported target build platforms: Windows (Win64)

Documentation: https://tsibatov.github.io/water-dynamics/

Example project: 12 example maps inside the plugin (/WaterDynamics/Maps)

Important notes: requires the engine's Procedural Mesh Component (enabled automatically). Tested on Unreal Engine 5.8.2, DX12 SM6, deferred renderer with Lumen. The simulation runs on the CPU; cost scales with river grid resolution.

Support: timatisib@gmail.com