Note: I have not personally tested each of these assets but I have done my best to research and ask around. Please also consider supporting and donating to these creators.
noriben Quest Water (Quest and PC shaders) #
This is a VRChat water shader designed to prioritize lightweight performance and compatibility with Oculus Quest over ultra-realistic visuals. It is considerably more efficient than water shaders that use the so-called grab pass function, typically used for refractive effects.
A unique feature of this shader is that it allows you to manually set the scenes reflected on the water’s surface by specifying a Cubemap. Its operation has been verified in Unity2019.4.31f1’s native environment and it is provided in a .unitypackage format.
For optimal results, it is recommended to use this shader in scenes where both Skybox and ReflectionProbe are configured. The shader has some responsiveness to Directional Light, but it is generally suggested to adjust the brightness using the MainColor, Transparency, and Reflection intensities.
The shader also comes with a special mode called ‘No Directional Light’ which enables it to function properly even in the absence of Directional Light.
Clear-Water #
Untested and may be outdated.
SilVR Water Shader #
Image credit: https://vrcmods.com/item/4270
Download: #
Github: https://github.com/Blake447/SilVR-Water
VRCMods : https://vrcmods.com/item/4270
Setting up the SilVR Water Shader v3.1 for VRChat involves several steps and components:
- Import the VRCSDK: You must import the VRChat Software Development Kit (VRCSDK) before importing the SilVR Water Shader prefab.
- Setup the layers in the VRChat build control panel: Setting up the layers correctly in the VRChat build control panel is crucial for the shader to work properly.
- Use a cubemap for skybox reflections: This is required to make the tree reflection or grey plane issues go away.
- Set the environment layer for parts of the map you don’t want interacting with the water: If there are parts of your map that you don’t want to interact with the water, set these to the Environment layer.
- Change settings when modifying the aspect ratio of the water plane: If you change the aspect ratio of the plane of water, you will need to adjust other settings as well.
- Update to the latest version of the VRCSDK: Updating to the latest version of the VRCSDK will allow you to use and preview custom mirror shaders.
As for the components of the SilVR Water Shader, it’s divided into three parts: a surface, a propagation rig, and a group of legacy components. The Surface takes care of the interaction, and the propagation rig takes care of the rippling effect, utilizing an algorithm referred to as the Hugo-Elias wave propagation algorithm. Each part of the prefab has different components that work together to create the overall effect. For example, the surface has different planes and materials responsible for handling different aspects of the water’s appearance and behaviour. The propagation rig, on the other hand, has components that handle the rendering and propagation of the ripple effect.
Please note that setting up the SilVR Water Shader can be performance-heavy, especially for large bodies of water. Deactivating the surface is not enough; you also need to deactivate the propagation rigs if you want to completely clear up the frames.