KWS2 is an advanced physical water solution for Unity. It simulates real flow, interacts with the environment, and helps create realistic rivers and lakes quickly.
KWS2 Dynamic Water System is an advanced physically driven water solution for Unity, developed by
kripto289. Unlike purely visual water assets, KWS2 simulates real flow, interacts with terrain and dynamic objects, and offers a zone-based workflow that lets you create realistic rivers, lakes, and coastal environments in minutes.
KWS2 is a complete rewrite of the
first KWS Water System, with older systems removed or rebuilt and new features introduced for accuracy, stability, and performance. It supports Built-in, URP, HDRP, and Unity 6, and includes a downloadable PC demo showcasing its dynamic flow simulation in action.
KWS2 uses a real-time physical simulation to create believable water movement. It applies flow water equations, FFT-based ocean rendering, collision detection, and terrain sampling to generate realistic surface behavior. Instead of hand-authoring paths for rivers or waterfalls, the system automatically follows the terrain using a zone-based workflow.
Each simulation zone uses its own orthographic camera to read height and collision information. Objects interacting with the simulation, such as boats, rocks, or characters, affect water height and flow as long as they are visible to that simulation camera.
Simulation
- Real-time water simulation using flow water equations
- FFT-based ocean rendering
- Automatic terrain-following rivers and waterfalls (no splines)
- Interaction with dynamic objects, shore response, and obstacle avoidance
- Buoyancy system and height/flow sampling API
- Optional cached simulation (preflow)
Rendering
- Physically based lighting (absorption, SSS, caustics, PBR)
- Volumetric lighting above/below surface + underwater sunshafts
- Reflections: SSR, planar, skybox, anisotropic
- Refraction with dispersion and proper IOR
Effects
- Dynamic foam, splash particles, wetness, droplets
- Optional bioluminescent foam look
- Water-on-lens effects and underwater transitions
Performance & Integration
- GPU-driven mesh generation via Quadtree LOD
- Distance/occlusion-based simulation LOD
- Built-in, URP, HDRP, and Unity 6 support
- Writes to depth buffer + one-click integration with major fog systems
- Tooltips and in-editor documentation
Important constraints to keep in mind:
- Not suitable for extreme-height waves
- Simulation zones are flat (water spreads, doesn’t fall as a volume)
- Overlapping zones don’t blend
- Objects must be visible to the zone camera to influence water
- Steep/vertical geometry may not be recognized correctly
These restrictions help keep the simulation fast while maintaining realistic behavior for natural water bodies.
Similar and Useful Tools
SUIMONO Water System: A well-known water system for Unity that includes realistic shaders, floating object interaction, swimming and underwater effects.
Differences: SUIMONO focuses more on visual water shader features and interactive floating/swimming behaviours, but may lack the full dynamic simulation of flow, terrain-river support and interaction depth of KWS2. It may also be less updated for modern render pipelines.
Dynamic Water Physics 2: A Unity package focused on water-object interaction and buoyancy simulation. It supports any mesh shape, works with multiple water assets, and is optimized for performance.
Differences: Where KWS2 Dynamic Water System emphasises full water simulation including waves, terrain-flow, and render-pipeline features, Dynamic Water Physics 2 focuses more narrowly on realistic buoyancy and physics interaction of objects with water. If you need high-fidelity object-water interaction rather than full surface simulation, this is a strong alternative.
✨
KWS2 Dynamic Water System is now available on the
Unity Asset Store.
📘 Interested in building
your own tools and shaders in Unity? Check out the
Unity Tool Development Bundle, which includes
Shaders & Procedural Shapes in Unity 6 and
Unity 6 Editor Tools Essentials.