Stylized Water 2 documentation

Stylized Water 2

Stylized Water 2
Author: jonathan
Version: 1.0.6
Dated: 22 Sep 2020

2.Compatibility #

Unity version

Minimum required version is Unity 2019.3.7f1, compatible up 2020.2. Works in 2021.1a6 so far.

Beta and Alpha versions may work but will not be eligible for support, these versions are for beta and alpha testing as the name implies. Once a release version is available, the package will be re-tested, and an update may follow with any required changes or fixes.

Scriptable Render Pipeline
Only compatible with the Universal Render Pipeline, minimum required version is 7.4.1 (available in 2019.3.7f1+). HDRP support unfortunately cannot be added, since this practically requires a complete overhaul, resulting in a new asset altogether.

Tested URP versions:

  • 7.4.1
  • 7.5.1
  • 8.1.0
  • 10.2.2

Please note that changes to the URP shader libraries are undocumented, meaning preview versions can break the shader. Unless a maximum version is stated here or on the store page, it is compatible with all higher versions of the URP.


The minimum hardware requirement is a GPU compatible with OpenGL ES 3.0, this inherently excludes any devices equipped with a Mali T400. Devices released after 2012 support this. Or typically an iPhone 6s or newer. Vulkan is also supported.

On older devices, the waves feature starts to loose precision after the devices runs for a while. As a result, the waves turn more pixelated over time. On a device equipped with a Ardeno 330 (mid-2013) this took about 1 hour before it was noticeable. On a Galaxy s10, this didn’t occur after several hours. Other features aren’t affected by this due to an optimisation.

Desktop VR
The shader has been tested using an Oculus Rift. VR-specific code has been implemented into the shader and is activated automatically if VR is used. The Multi-pass, Multiview and Single Pass Instanced rendering techniques are all supported. As a means of optimization, orthographic camera’s are not supported when VR is used.

The “Shared depth buffer” option must be disabled in the Oculus XR settings, otherwise the water effects appear to lag behind the headset movement.

Planar reflections are not supported, regular reflections from the skybox or reflection probes work fine.

Oculus Quest

Multiview rendering must be used, otherwise the water effects appear to lag behind the headset movement (issue with how the depth texture is rendered).

There’s a bug in OpenGLES 3.0 which severely affects transparent materials on Quest. When MSAA is enabled, they will either appear invisible or show blocky artefacts, depending if post processing is enabled or not. This means MSAA with transparent materials (such as this shader) aren’t supported on Quest.

As a rule of thumb: If a simple transparent plane works in your project, the water will also render correctly.

Planar reflections are not supported, regular reflections from the skybox or reflection probes work as expected.

Compatible with both OpenGL and Metal.

Tested via an external party on Playstation 4 (dev) and Xbox One X (UWP), where no graphical or performance issues were encountered.

Shader runs without any issues on Nintendo Switch. With all features enabled, the shader does not incur a noticeable performance hit (even in handheld mode).

Fog post processing effects

See this page for a list of compatible assets.

Typically, any third-party fog/volumetric lighting solutions will ignore the water, which is applies to all transparent materials in general. If this is the case, please get in touch so that I can investigate integration. The shader is set up in a way that easily facilitates this.

Support for Massive Clouds is unfortunately not possible, since the asset does not contain any reusable shader code for transparent shaders.

Yes No Suggest edit
Last updated on December 22, 2020
2 of 2 users found this section helpful
Suggest Edit