Stylized Water Shader Tutorial with Unity3d and ShaderForge (And ASE(?))



Hi there!!

At first, i dont fully call this water “Stylized” because it depends a lot on how its used, what foam is used… So i will call it simply water shader : D

A few days ago, the fifth parof my water shader tutorial was released.
I know the tutorial isnt finished, but the things left are custom editor and some polish, so i think that you will be perfectly able to make the water shader with the first 5 parts : )

There are currently 5 parts(will be updated when 6 is out):

  • Colors
  • Waves
  • Foams
  • Realtime Reflections
  • Custom Lightning, Surface , lights and refractions options
  • Custom Editor part 1
  • Custom Editor part 2
  • Custom Editor part 3
  • ASE,ShaderGraph port (soon?)

This will be the result:

And for more info, i have a post explaining the thing and with the links for it:

PD:Sorry if some things arent explained very good, sometimes i explain myself a bit weird and im learning on how to do it better xD

PD2: All parts are out! im preparing the ASE and ShaderGraph parts but im giving now prior to the next big tutorial :stuck_out_tongue_winking_eye:

Have a good dev!!


I saw your Nice Water Shader in Artstation the other day.

I dare you to recreate it in Unreal Engine (so Unreal users can enjoy the shader too) :new_moon_with_face:

Thanks for sharing, looks nice. Have a good dev too!


Soooo cool ! Thanks for sharing ! I will reproduce this with Shadergraph using your tuts.


That’s so cool !
Unfortunately Shader Forge is no longer update and is odd, I will try to recreate this on Amplify shader :smiley:
Thanks ! :slight_smile:


True, but im using Shader Forge on tutorials because its free, but i really want to use ASE xd


Part 6.1 is out, started explaining and doing the custom editor and undo actions.
ALSO, because ive updated ASE, and loved the new changes, Im planning to do a Bonus part for ASE users ;D


I wish we had another way than depth test to make shorelines (like SDF meshes). We can see that when there is no object behind the shoreline (or too deep), it doesn’t appear. It’s “ok” for the most part, but not ideal.


Ho I see, yeah I love when things are free too hahah if I use ASE it’s because my company buy it for me XD


Hello, thank you for this tutorial.
I making it in Amplifier Shader Editor by myself.
I’m at the part 3 in the tutorial.
that interests somebody to have the nodes for Amplifier here? if I can help a little bit I would be glad.

I just don’t know how to get the Slider node in ASE. I put only float1 because I can slide the values into the editor then.


The Slider on ShaderForge is the same as the Value but with the attribute of Range between two designated numbers.

This Slider can be achieved with a simple float in ASE, you simply have to give it a min and max numbers for the Range



oh!! I learnt something new.
thank you very much !! for the quick answer and the really great explanations in your tutorial.
gif help a lot !


that’s me again.

In the 4 part of tutorial, I did everything before plug the turbulence to my reflection node.
I have the water script in, the Lightning color multiplied with all things but I get my reflection in the left bottom corner of the screen.

like this

I think it’s about screenPosition node but I put in the UV in the ReflectionTex and changed it to “Screen”. Maybe Screen isn’t as SceneUV. Because I have the reflection on my Screen as a UI.

I’m searching where I missed something.
if somebody knows why and could help me, I would be really thankful.

thank you for reading.


The parameter “Type: Normalized” should work as intended.

Have a good dev!


thank you very much!!
I could check by myself sorry…
I thought normalized meant “Normal” vector purpose. that takes quite sense if a normal vector is a perpendicular vector on a surface.

that’s working fine now :smiley: