Touchable real-time water — ripples, buoyant interacting objects, god rays and caustics, on the GPU. A native Unity 6 / URP adaptation & enhancement of Evan Wallace's classic WebGL Water — now running in the browser and on budget tablets via WebGPU.
Drag the water to ripple · drag the ball · drag the background to orbit · scroll to zoom. Needs a WebGPU browser (Chrome / Edge, Safari 26+, or latest Firefox) — if the frame stays black, open it fullscreen ↗.
// runs on a budget tablet — live in the browser↑ The live WebGPU build running in a mobile browser on a budget 2026 tablet — a Redmi Pad SE (Snapdragon 4G-class SoC, Adreno 610) — with the GPU heightfield sim, caustics and reflections rippling in real time under a finger.
It began as a faithful Unity 6 / URP port of Evan Wallace's classic WebGL Water (2011) — a 256² GPU heightfield driven by a compute shader, with an in-shader ray-traced surface and caustics projected onto the floor. Full credit for that original design is his.
From there it grew into a native Unity adaptation. The original's analytic shortcuts — one hard-coded ball, a faked pool reflection, a painted-on blob shadow, a hand-typed light vector — are replaced with real Unity rendering and physics: arbitrary objects displace the surface and float with two-way buoyancy, a real directional light drives the water, caustics and URP shadows together, and the look gains god rays and Beer–Lambert water fog.