As the name implies, this is the continuation of SW2, for Unity 6. A fresh slate allowed me to freely iterate, without having to design around stability, as is the case for regular updates. Many things seemed to work well according to your feedback, and have remained the same. Whilst old backlog items and experimental features were revisited and formalized as new features.
I love this asset from the early days and it is really nice to see the new version that supports Unity 6. Is there any rough ETA for the Underwater extension for the new version?
it’s difficult to say! December will be a slow work month for me, so early 2025 is probably a more realistic goal post. I’ve made some promising strides this week, restoring much of the base functionality. But there’s an alternative approach I’m trying, that’ll ultimately be more flexible, so that leaves things very open endedat the moment.
Hi, I am using SW3 with Azure Sky 8 and they work pretty great so far. However, when I change the time, the lighting on the water surface does not seem to correct. I can fix it by clicking “Generate Lighting” button in the Lighting settings but there used to be a button called “Auto Generate” to handle that in the versions before Unity 6. What is the new way to handle dynamic lighting changes now that the button is gone in Unity 6?
The water shader samples environment reflections in the same way standard Unity shaders do. This means that reflection rendering is a scene-wide construct. But this hasn’t changed in Unity 6
In the editor (outside play mode), whenever the skybox or directional light is altered Unity refreshes the scene’s internal reflection probe (hidden). This hidden reflection probe is also what drive the “Skybox Intensity” slider under the scene’s Lighting settings. Without it, indirect light appears pitch black on geometry.
In play mode the probe is never rendered. Because GI (Global Illumination) baking is considered an editor-only feature. So it’s very possible for objects to appear oddly bright, even under night-time lighting.
Updating reflections in realtime is a common problem to solve for any day/night cycle system. Typically, you can create a reflection probe in the scene, and set it’s culling mask to “Nothing”. To emulate a “skybox only” reflection probe.
From that point on, strategically updating this reflection probe becomes the responsibility of the day/night system. That’s kind of a broader subject to look into and I’m sure Azure covers that in some way.
Thanks for the detailed explanation of how it works. Strangely, I noticed that when I manually press the “Generate Lighting” button, the reflections from the directional light don’t render on the water surface when the time changes (directional light intensity and position) correctly. When I clear the lighting data, it works fine again.
If you are using baked lightmaps and a baked directional light, shaders will no longer receive information about the directional light (direction, color and intensity), since in a sense it no longer exists.
I believe to retain (specular) reflections it needs to be set to “mixed”. Not sure if the water surface then needs to be marked as static or not, but this’ll work the same for any other object/material.
Hi, I recently downloaded the Unity6 compatible Curved World update and did the manipulation to integrate it with Stylized Water 3. The keywords appear well in the shader but the surface does not bend. There is no error message, so I can’t find what could be missing.
Have you been able to test the integration of this update?
Followed by uncommenting the lines that read #include "Assets/Amazing Assets/Curved World/Shaders/Core/CurvedWorldTransform.cginc" in all the files in the Assets\Stylized Water 3\Shaders\Passes folder.
After which, the Curved World options appear on the water material.