WebGpu interactive water
Real-time interactive water for unity 6.3 URP running on the GPU through WebGPU compute. A modern Unity port of Evan Wallace's legendary WebGL Water, rebuilt and extended for games and the browser.
by AbstractOcclusion
Price History +
Water that reacts. Drop an object in, drag your cursor across the surface, walk a character through the shallows — every ripple is simulated live on the GPU, not faked with a scrolling texture. Built for URP and designed to deploy to the web via WebGPU.
Live WebGPU demo: https://abstractocclusionshowreel.web.app/projects/unity6-webgpu-water.html
Built on a classic, rebuilt for today
The interactive ripple-and-caustics technique here traces back to Evan Wallace's original WebGL Water — one of the most-loved graphics demos on the web. WebGpu Interactive Water is a faithful port of that idea into Unity, then pushed far beyond it: GPU compute simulation, wind waves, volumetric lighting, foam particles and depth-aware shading, all wired into the Universal Render Pipeline.
Key features
- Live ripple simulation — objects, mouse and touch push real waves across the surface, computed on the GPU every frame.
- Analytic wind waves — a sum-of-sines swell layer that floating objects genuinely ride.
- Caustics & volumetric god rays — light shafts with real shadow occlusion beneath the surface. The caustics and shafts now shimmer with the wind-wave layer, so even near-still water gets living structure instead of a static pattern.
- Exclusion zones (in active dev) — drop a box, a hull or any volume into the water and it carves a real hole: the surface and walls cut to the shape, nothing renders inside it, and underwater the excluded volume casts a proper shadow through the god rays and caustics. Built for boats, piers, submerged props and anything that should displace the water rather than clip through it. Still being hardened — the analytic shadow reach was just reworked, so expect ongoing tuning.
- Shore & surf waves (in active dev) — an analytic surf layer that breaks and runs up the beach: uprush and backwash swash, crest and small-wave foam, persistent swash deposits, and optional whitecap flipbooks. Pairs with a terrain bed-depth shoreline gradient that fades naturally into the shallows. The breaking model and front choppiness are still being iterated.
- Water chunks (in active dev) — bounded secondary water bodies cut to any (convex) 3D mesh shape, at any fill level, each carrying pool-grade caustics and god-ray shafts inside the chunk. Multi-level pools and independent bodies drop in the same way. Arbitrary concave shapes (via an SDF bake) are on the roadmap; convex meshes work today.
- Dynamic foam — surface foam shading plus GPU compute foam particles for crests, wakes and shorelines.
- Depth-aware water — per-channel light extinction, underwater fog and tint, and a terrain bed-depth shoreline gradient.
- Any-shape containers — pools, tanks and multi-level bodies using pool walls, mesh-cut chunks, or any custom mesh.
- Multiple independent water bodies in one scene, each with its own settings.
- Web-ready — the full pipeline, including foam and particles, runs on WebGPU compute and is tested and validated in the browser.
Compatibility
- Universal Render Pipeline (URP), min Unity 6.3.
- Desktop and WebGPU browser builds.
- One-window setup via the Water Wizard.
Honest about the limits
This is an interactive simulation, and that shapes what it's best at. It shines on pools, ponds and mid-sized bodies of water, where the live ripple grid has the resolution to look crisp. For very large open water — big lakes and oceans — the surface currently relies on the analytic wave layer rather than a full ripple sim across the whole body; large-scale interactive simulation (via a camera-following sim window) is on the roadmap. If your project is a swimming pool, a koi pond, a flooded dungeon or a harbor, you're in the sweet spot. If it's an open ocean, FFT is implemented but still under active dev.
The newer systems — exclusion zones, breaking shore waves, and mesh-cut water chunks — are the freshest additions and are still in active debug . They work and ship in the demos, but they're moving fast: expect tuning knobs to shift and edge cases to keep getting fixed release to release.
The upside of the WebGPU compute pipeline: it's efficient enough that even low-end phones render it in the browser — foam and particles included — with no heavyweight fullscreen passes.
Rivers are just a pre-state do no count on it RN .
I am a solo dev. Support can be slow but I will always try to answer.
Actively developed. Feel free to refactor , enhance , develop and reshare .