Skip to content

Water

The Water component turns an entity into a high quality water surface, a plane with animated waves, refraction, reflection, depth based coloring, foam, and an underwater look when the camera goes below the surface. You drive it entirely from the Details panel, there is no shader to write.

Select an entity and choose Add Component, Rendering, Water. The water is a plane centered on the entity, sized by Extent and scaled by the entity’s transform, so move and rotate the entity to place it. Multiple water bodies in one world are fine.

The surface is generated procedurally (no mesh asset needed), displaced by Gerstner waves, and rendered after the opaque scene so it can refract what is behind it and reflect the sky.

PropertyWhat it does
ExtentPlane size in meters (local XZ), before the entity transform scale.
Grid ResolutionVertices per side of the wave grid. Higher is smoother but costs more.
OpacityMaster surface opacity.

Waves are a sum of Gerstner waves fanned around the wind direction, plus an optional scrolling detail normal for fine ripples.

PropertyWhat it does
Wind DirectionDirection (XZ) the waves travel along.
Wind SpeedScales how fast the waves move.
Wave AmplitudePeak height of the dominant wave, in meters.
ChoppinessGerstner steepness, from rolling swell (0) to sharp peaks (1).
Wave ScaleWavelength multiplier for the wave set.
Wave CountNumber of summed waves (1 to 8).
Detail Normal MapOptional tangent space normal for high frequency ripples.
Detail StrengthStrength of the detail ripples.
Detail TilingDetail normal tiling across the surface.
Detail Scroll SpeedHow fast the detail ripples scroll with the wind.

The water tints the scene behind it and fades from a shallow color to a deep color with depth, absorbing light along the way (so submerged objects darken and disappear the deeper they are).

PropertyWhat it does
Shallow ColorTint where the bed is close to the surface.
Deep ColorTint approached as the water deepens.
Depth Fade DistanceHow far you can see into the water before it reads as deep. Lower it for murkier water.
Absorption ScaleOverall murkiness. Raise it to hide submerged objects faster, set 0 for perfectly clear water.
PropertyWhat it does
Refraction StrengthHow much the surface waves bend the view of the scene below.

Reflections use screen space reflections of the scene with a prefiltered sky fallback where the rays miss.

PropertyWhat it does
Reflection StrengthOverall reflection intensity.
RoughnessBlurs the reflection and softens the sun glint.
Fresnel PowerHigher values reflect only at grazing angles.
SSR Max DistanceHow far the reflection rays march before falling back to the sky.
SSR Step CountRay march steps. Higher resolves more, costs more.
PropertyWhat it does
Specular IntensityStrength of the sun glint and the light that scatters through wave crests.

The sun glint and the subsurface scattering (wave crests glow when you look toward the sun through them) both ride this value.

Foam has two parts, shoreline foam where the water is shallow (near where it meets geometry) and crest foam on tall wave peaks. Foam is off until you raise Foam Intensity.

PropertyWhat it does
Foam ColorColor of shoreline and crest foam.
Foam IntensityOverall foam strength. 0 disables foam.
Shoreline Foam WidthWater depth over which shoreline foam appears.
Crest Foam AmountWave height fraction that foams (1 foams all crests, 0 only the tallest).
Foam TextureOptional foam texture, scrolled with the wind. A procedural pattern is used if none is set.
Foam TilingFoam texture tiling across the surface.

When the camera drops below the water surface, a fog absorbs the view over distance and a subtle distortion is applied, so being underwater reads correctly even when the camera is half submerged at the waterline.

PropertyWhat it does
Underwater Fog ColorColor the view fades toward with distance underwater.
Underwater Fog DensityAbsorption per meter of submerged view.
Underwater DistortionScreen distortion while submerged.
Underwater TintOverall color cast applied to the submerged view.
  • For open ocean, keep Depth Fade Distance low and Absorption Scale high so you cannot see far into the water.
  • For a clear pool, raise Depth Fade Distance and lower Absorption Scale.
  • Reflections only show on screen geometry; off screen the sky is used, so a visible sky (an Environment with a sky) improves reflections.
  • The plane is finite. Size it with Extent and the entity scale to cover your body of water.