Ocean Toolkit

The Ocean Toolkit is a code package that brings realistic infinite ocean rendering to your Unity3d project. The water surface is offset according to a custom wave function which can be used to control large scale waves. Small scale waves are realized using scrolling normal maps. The toolkit is easy-to-use and does not require any coding. Works with the Buoyancy Toolkit out-of-the-box.


  • Realistic infinite ocean rendering
  • Customizable wave function that offsets the water surface
  • Small scale detail realized using scrolling normal maps
  • Refraction and underwater light absorption to accurately convey depth
  • Reflections using Screen Space Raytracing or conventional reflection probes
  • Shoreline foam
  • Optional caustics for the seafloor
  • Clean look that fits most projects
  • Can be clipped to a rectangle for lakes
  • Runs well on high-end Android devices (tested on a Moto X 2nd gen using fixed refraction color and low poly screen space mesh)

Current Limitations

  • There is currently no image effect for when the camera is below the water surface