How do I use Water?

Note: The content on this page applies to the desktop editor mode only.

Unity includes several water prefabs (including needed shaders, scripts and art assets) within the Standard Assets and Pro Standard Assets packages. Unity includes a basic water, while Unity Pro includes water with real-time reflections and refractions, and in both cases those are provided as separate daylight and nighttime water prefabs.

Reflective daylight water (Unity Pro)

Reflective/Refractive daylight water (Unity Pro)

Water setup

In most cases you just need to place one of the existing Prefabs into your scene (make sure to have the Standard Assets installed):

The prefab uses an oval-shaped mesh for the water. If you need to use a different Mesh the easiest way is to simply change it in the Mesh Filter of the water object:

Creating water from scratch (Advanced)

The simple water in Unity requires attaching a script to a plane-like mesh and using the water shader:

  1. Have mesh for the water. This should be a flat mesh, oriented horizontally. UV coordinates are not required. The water GameObject should use the Water layer, which you can set in the Inspector.
  2. Attach WaterSimple script (from Standard Assets/Water/Sources) to the object.
  3. Use FX/Water (simple) shader in the material, or tweak one of provided water materials (Daylight Simple Water or Nighttime Simple Water).

The reflective/refractive water in Unity Pro requires similar steps to set up from scratch:

  1. Have mesh for the water. This should be a flat mesh, oriented horizontally. UV coordinates are not required. The water GameObject should use the Water layer, which you can set in the Inspector.
  2. Attach Water script (from Pro Standard Assets/Water/Sources) to the object.
    • Water rendering mode can be set in the Inspector: Simple, Reflective or Refractive.
  3. Use FX/Water shader in the material, or tweak one of provided water materials (Daylight Water or Nighttime Water).

Properties in water materials

These properties are used in Reflective & Refractive water shader. Most of them are used in simple water shader as well.

Wave scaleScaling of waves normal map. The smaller the value, the larger water waves.
Reflection/refraction distortHow much reflection/refraction is distorted by the waves normal map.
Refraction colorAdditional tint for refraction.
Environment reflection/refractionRender textures for real-time reflection and refraction.
NormalmapDefines the shape of the waves. The final waves are produced by combining these two normal maps, each scrolling at different direction, scale and speed. The second normal map is half as large as the first one.
Wave speedScrolling speed for first normal map (1st and 2nd numbers) and the second normal map (3rd and 4th numbers).
FresnelA texture with alpha channel controlling the Fresnel efffect - how much reflection vs. refraction is visible, based on viewing angle.

The rest of properties are not used by Reflective & Refractive shader by itself, but need to be set up in case user's video card does not suppor it and must fallback to the simpler shader:

Reflective color/cube and fresnelA texture that defines water color (RGB) and Fresnel effect (A) based on viewing angle.
Horizon colorThe color of the water at horizon. (Used only in the simple water shader)
Fallback textureTexture used to represent the water on really old video cards, if none of better looking shaders can't run on it.

Hardware support

Page last updated: 2013-05-03