Water Caustics Effect for URP v2

‥∴∵ Thanks 500+ downloads ∵∴‥

This asset makes it easy to add beautiful caustics essential for realistic water rendering.


➡ Manual PDF

This asset contains two modules:

a Texture Generator and an Effect.



1. Water Caustics Tex Generator [ URP / HDRP / Built-inRP ]

• Generates rich, realistic animated caustic textures at runtime using a Compute Shader to simulate waves and light refraction.

• Supports both realistic and cartoon-like styles.

• This module works with all rendering pipelines.

• All parameters can be controlled via script.

• [Features] 4 Wave Layers, 3 Drawing Styles, Chromatic Aberration, Blur, Directional Blur, RGB Color Shift, Gamma, Brightness Adjustment, etc.



2. Water Caustics Effect [ URP(3D) only ]

• Applies caustic effects using the camera's depth and normal textures.

• VR supported.

• Supports Forward, Forward+, Deferred, and Deferred+.

• All parameters can be controlled via script.

• Can also be applied individually by embedding a Custom Function in shaders. This method works for materials not rendered in the depth texture, such as transparent materials. (Supports Shader Graph, HLSL, and Amplify Shader Editor.)

• [Features] Range control with Rectangle/Image/Stencil masks, attenuation by depth and distance, random texture tiling, texture rotation, RGB Color Shift, transparency effect, render timing adjustment, etc.



[ Unity 2020.3 LTS or higher supported ]

[ PC / MAC / iOS / Android / Switch / Quest2 tested]

[ DX11,12 / Metal / Vulkan / OpenGL / GLES3.1 supported ]

※ Tested with Unity 2020.3.20, 2021.3.45, 2022.3.22, 6000.0.54, 6000.1.14, 6000.3.10, and 6000.4.0.

※ WebGL is not supported because Compute Shaders are not supported on WebGL.


※ All source code is included.

※ If you encounter any issues, please first check the Troubleshooting section of the Manual PDF. If the problem is not resolved, please contact me by following these instruction. I will do my best to help as quickly as possible.


Email: support_asset@hacoapp.com

X: @m_hakozaki