Performance

Tips and considerations.

Mobile

You can get a mobile demo to test the performance on your own device. If you have more questions about performance, contact me before purchasing!

You can also use the mobile shader variant, included in the 1.1.2 update.

Shader Features

In order to save on performance you can turn off features and they will get compiled out

Lighting

In the Surface and Lighting section you can disable lighting in order to save on performance.

Waves

In order to get good looking waves, your water mesh should have enough vertices. However, too many vertices will result in degraded performance.

Large Oceans

If your game has large oceans where the water plays a prominent role, you might need to do your own optimizations. Some ideas:

  • Instead of making a huge water plane, make it just small enough so it covers the screen and make the water plane follow the player. If you use world space UVs, things will match up nicely.

  • Instead of working with 1 large ocean plane, split it up into smaller tiles

  • Using a tile based system, you can spawn water tiles in/out based on the distance from the player

  • Using a tile based system, you can increase/decrease the level of detail of the water tiles based on the distance from the player

  • Using a tile based system, you can opt for more basic water shading in the distance

Additional Lights

By default, the shader supports additional lights. You can disable this so the shader will only take into account the main light, this will improve performance. To disable additional lights, open the Stylized Water > Shaders > Libraries > Surface and Lighting > Lighting shader subgraph and disconnect the Additional Lights group.

Planar Reflections

This water shader supports planar reflections. These are rendered using a secondary camera and this can be expensive. To improve performance you can do one of 3 things.

  • Don't use planar reflections, don't add the planar reflections component to your camera.

  • Reduce the render scale of the planar reflections

  • Limit which objects are reflected using the layer mask

Shader Graph

Since the shader generation process completely depends on shader graph, there are still some optimizations that they will do in the future that could improve performance.

Last updated