Better water shader

Right now the water is not great and looks pretty much identical to the unity’s default water shader without including the screen space reflections which only work if you use Temporal antialiasing. Like the water feels really fake since it doesn’t deform stuff underwater it only deforms the screenspace reflection and cubemap reflections but not the stuff underneath it. Which then looks something like this if you look at it at a certain angle

Like the water is barely visible and sometimes you can’t see the water at all. (I’m using the highest settings possible in that screenshot without including ambient occlusion which I had disabled for some reason but enabling that makes no difference)

If you just used a simple bump map it would deform it more realisticly instead of using a shader that will have problems around the edges. Kind of like how it was done in HL2 or GTA V.

This article explains how they did the water in GTA V if you just scroll down a bit it will show up.
It basically just uses a bump map and some other fancy stuff but since you already use screenspace reflections you probably don’t need to do all that other stuff except maybe you need some kind of refraction map to get better fog in the water. I don’t know if this will affect the performance but I’d like to at least have an option to have better water and then maybe lower qualities could use the current water shader.

I agree. I’m sure the devs have a reason though

It could have something to do with optimization but even when you’re playing it with the highest settings possible it looks like this… How can other games have better looking water and they are made for even worse pc’s/consoles. Like even games made in like 2004 or 2009 had better water than what tower unite currently has. So I don’t really know what their reason could be to not have better water.
They did used to have like a water shader that did deform the water properly but it kinda leaked on edges and the reflections were nearly undetectable and at certain angles it also did disappear nearly completely.

It’s a seasonal type of water shader. It does have bump maps and refraction on it, but it’s also very translucent, which removes part of those effects pretty quickly. Our water needs to be clear for fishing.

Throughout the project we have done numerous water shaders to get the ocean looking correct. In Unreal it’s not an easy feat to balance it all. Also, there is a render bug in Unreal that causes the edge leaking that you described that we can’t resolve.


Is there anyway to switch between more realistic looking water with less transparent bump maps etc. but then make it more visible only when you are fishing?
So when you aren’t fishing the water looks more like water and when you do wanna fish it looks more transparent.

Well, I fixed up the shader a bit.

Added in refractions:


It definitely looks better now but it still doesn’t seem to really deform any objects inside the water kind of like it does in source engine’s water.

Also you could just make the fish standout better like maybe highlighting them or something while still keeping the water looking like water.

1 Like