Tidal 2 URP
New in v2.0

Underwater Rendering

Reworked fog ownership, meniscus, god rays, volumetric lights, and submergence.

The underwater post effect now owns all underwater fog. The from-below surface renders raw into a dedicated buffer and is fogged consistently with the scene - no more double-fog or flicker between the surface and the fog volume. Underwater SSS, absorption, and fog density are tuned by the same material the surface uses, so one material drives both sides of the water.

The underwater stack

Per-body Underwater settings

These fields live on each TidalBody's Underwater foldout. Every quality setting can follow the Render Feature default or be overridden per body, so quality tiers can live on the renderer assets and switch automatically.

Field Type · Default Description
Has Underwater bool · on Master toggle for the entire submerged stack (from-below surface, fog, meniscus, volumetrics, cross-sections). Off = zero underwater cost, including the from-below geometry passes.
Volume Masks enum · Use Render Feature The cross-section mask pass. Use Render Feature Setting / On / Off. Warnings appear on the body and the volume when a volume requests a mask this setting disables.
God Rays enum · Use Render Feature Sun shafts underwater. Use Render Feature Setting / On / Off. The material's God Ray Strength still shapes the look (strength 0 = off regardless).
Volumetric Lights enum · Use Render Feature Point/spot light scatter underwater. Use Render Feature Setting / On / Off.
Volumetrics Resolution enum · Use Render Feature Resolution budget of the volumetric light buffer (longest side): Use Render Feature Setting / Half Screen / Fixed 1440 / 960 / 720 / 480. Fixed budgets cost the same at any display resolution; the buffer never exceeds half-screen.
One material, both sides
  • Underwater SSS, absorption, and fog density are tuned by the same material the surface uses - one material drives above and below the water.

Dry cavities & water cross-sections

Volumes can carve the water into dry interiors or contain it in tanks, and cut faces below the waterline can render the real underwater fog - the foundation for submarine interiors, moon pools, and aquariums.

See Tidal Volumes for setting up EXCLUDE/INCLUDE volumes and the Underwater Mask clip visual.

Underwater particles

Every TidalBody carries an TidalUnderwaterParticlesSubSystem (its own inspector foldout): ambient suspended "marine snow" motes plus rising, wobbling bubbles around the viewer camera while submerged. Fully procedural (no texture or prefab assets) with deterministic positions. Every particle is culled at the water surface via one camera-anchored CPU height query per frame - bubbles pop as they reach it and nothing floats above the waves.

Field Type · Default Description
Enable Particles bool · on Master toggle. Off skips the subsystem entirely.
Radius 2-40 · 12 Half-size of the particle box around the camera.
Mote Count 0-2000 · 500 Number of suspended marine-snow motes.
Mote Color Color Mote tint; alpha controls visibility.
Mote Size m · 0.015-0.05 Per-mote world size range.
Mote Drift 0-1 m · 0 Drift amplitude of the motes.
Bubble Count 0-500 · 90 Number of rising bubbles.
Bubble Color Color Bubble tint.
Bubble Size m · 0.008-0.03 Per-bubble world size range.
Bubble Rise Speed m/s · 0.25-0.6 How fast bubbles rise toward the surface, where they pop.

Particles dim with the sun (via Darkens With Sun on the material) except where point/spot lights reach.

Costs nothing when it can't be seen
  • The underwater stack skips itself entirely when the camera is safely above water with no cut-away in view; the from-below surface passes skip with it.
  • Planar reflections pause while the camera is submerged (nothing samples them there).
  • Bodies with Has Underwater off never pay any from-below cost.

Underwater rendering is installed by TidalRenderFeature. The old UnderwaterEffectFeature was removed - see the upgrade guide. Caustics are visible underwater as a post effect; see Shading & Caustics.