This was the first ShaderGraph that I built in Unity. It was built to take a break from the intense C# code development of Spartan Swashbucklers, an AI framework that I was building for my MI 431 - Advanced Game Development class in 2023.
Initially based on this video tutorial, I expanded and enhanced the shader as detailed below.
The original shader was designed to be viewed from a relatively close distance, but in the Spartan Swashbucklers project, we needed to zoom both very close and very far from the ships.
The Fade out at a distance section of the ShaderGraph shown below remaps the distance from the camera to the surface of the water between the minimum and maximum "Fade Out" values and uses that to set the opacity of the waves. When fully zoomed out, the entire surface appears to be the color of the dark foam.
Another issue with the original shader was that there was no way to adjust its scale. This made it either much too large or small when placed next to the pirate ships in the project.
I brought in a "Tiling" value that would scale the entire effect. Due to the complexities of the shader, it was implemented across five diverse places in the ShaderGraph (with two shown below).