Real Underwater puts the camera in the water in Unity 6, in Built-in, URP 17 and HDRP 17: tell it where the water is, and everything below the surface becomes water - the colour absorbed channel by channel with distance, murk closing in, god rays raked down from the surface, caustics on the floor, bubbles rising past the lens, and the surface cutting the frame in half when you swim up to it.
New in 1.1: the water surface itself. An optional runtime surface with three behaviour profiles - Still, Calm and Ocean - on one rendering engine: Gerstner waves on a tessellated mesh, animated ripple normals, Fresnel reflection of the scene and the sky, refraction from above and from below, sun glint, foam on fast crests and along walls, spray where the surface moves fast and floating bubbles where it is slow. The same waves drive the waterline and the submersion test, so the surface you see and the water you are in always agree.
Generated detail. Bubble emitters anchored in the world - vents, regulators, cracks in a hull - where every bubble is a frame of a generated sprite sheet with a normal map, so the glint on it is your scene's own sun; a diver's breath rising past the lens; a looping caustic flipbook that lands only on lit floors; screen-space sun rays cut by the surface pattern and stopped by geometry; soft algae, moss and small corals standing on the sea floor.
The sound of being under. The plunge and the gasp on the crossing, an ambience and a deep loop that grows with depth, a low-pass and a reverb on the listener - steered by a 16x depth probe of the frame, so a cave sounds enclosed and open water sounds open. Emitters play 3D bubble loops.
One script is the water. Real Underwater Volume is a box that is the water: pick a preset and the quick options follow from the box's size. Twelve presets - Ocean, Tropical Lagoon, Lake, Swimming Pool, Swamp, Harbour, Cave, Shallows, Deep Dive, Ice Water, Stylized Ocean and Stylized Lagoon - are .json files: edit them in the Presets window, copy them between projects, load them at runtime.
It works on top of the water you already have. Real Underwater renders the water you are in, not the water you look at, so it does not care what draws your surface: Crest, KWS, Stylized Water 3, Oceanis, a Unity plane or your own ocean. Use its surface, or switch it off and keep yours.
Light that behaves like light. Sunlight is refracted into the water with Snell's law, and the god rays, the sun rays and the caustics are read from the same refracted sunlight - so the shafts in the water and the pools of light on the floor agree with each other and with the sun. Look up and the world above squeezes into the 97-degree Snell's window.
Three pipelines, one system. Built-in, URP 17 (Render Graph) and HDRP 17 (Custom Post Process) share one shader body and identical settings. The Setup wizard installs the renderer feature or custom post-process, generates the pipeline wrappers and creates the preset profiles.
In the box
Fullscreen underwater effect for Built-in, URP 17 and HDRP 17 (Unity 6000.3)
Runtime water surface with Still, Calm and Ocean profiles: tessellated Gerstner waves, ripples, reflection, refraction, foam, spray, floating bubbles
Real Underwater Volume (one script on a box) and IRealWaterSurface with plane, box/sphere volume, height-map and scripted providers
Bubble emitters, breath bubbles, caustic flipbook, sun rays, sea-floor growth, waterline, Snell's window, absorption and murk, depth grading, suspended matter, refraction wobble, depth blur, wet lens
Underwater audio: eight clips and a depth probe
Twelve .json presets and a Presets window; 109 controls in fourteen groups
Events for gameplay: OnSubmerged, OnSurfaced, Depth, IsUnderwater, plus a component that exposes them in the inspector
A before/after split for your own comparisons (RealUnderwaterRuntime.SetComparisonSplit)
Setup wizard, bakers, debug views and per-layer switches
Three sample scenes: Reef and Pool with baked lighting, and a G
Description sourced from the Unity Asset Store listing.