Stylized Water Shader (FREE!)

An Update: Stylized Water Shader (alexanderameye.github.io)

Store Link

If you like the asset, please write a review. It helps me out a lot!

For the past few months I have been working very hard on a stylized water shader for the Universal Render Pipeline. The result is a beautiful shader, which is feature rich and easy to customize.

Manual + Support | Compatibility | Mobile Demo | Discord Support

Twitter

The main focus when developing this shader is to create a shader with a lot of room for artistic freedom and customization. The exposed parameters have been carefully chosen and put into an easy to use custom material editor. A lot of different visual styles can be achieved as you’ll see in the screenshots.

:heavy_check_mark: Built for URP
:heavy_check_mark: Highly compatible
:heavy_check_mark: 100% Shader Graph


• Depth based color gradients
• Surface foam
• Intersection effects
• Foam shadows
• Refraction
• Caustics
• Basic buoyancy
• Basic underwater effects
• Toon lighting options
• Surface specular reflections
• Supports fog and point lights
• Planar reflections
• Gerstner waves
• Vertex color support
• Local or world space UVs
• Orthographic camera support
• Custom material inspector
• Support window
• Full source code + SG nodes
• Extensive documentation/manual

You can check the compatibility page to make sure the shader will work with your project. Also be sure to check this page about performance.


• Water shader
• Foam, surface normals and caustics textures
• Several water prefabs and materials
• Demo scenes

I have put a lot of effort and passion into this asset and I’m dedicated to making this shader as good as I can. If you have any questions or feature requests, please let me know.


You can find an extensive manual here. The best way to contact me would be through discord at https://discord.gg/6QQ5JCc or through email at alexanderameye@gmail.com. You can find additional contact methods under the contact section in the manual.

6 Likes

Looks awesome :slight_smile: I bet you’ve put a lot of TLC to that creation of yours.
I’m interested. Just a question if I may. Is this asset VR friendly?

It seems that shaders made with shader graph will automatically support VR. I can’t test this since I don’t own a VR headset, but I think the shader will work with VR out of the box. Some feedback about this from someone who owns a VR headset would be greatly appreciated.

That would be great if you can look into VR as a supported feature.
I had been meaning to incorporate a cool and lightweight water shader for my project. VR support would be an extra added bonus.
I’ll buy the asset once it’s released in the asset store for my other non-VRprojects. That way I can also sign in as a test subject on VR devices for you if you are interested in allowing external testing to take place.

Hows the performance like for the asset on mobile and PC? Does it hogs a lot of processing power?
Being that it’s Shader graph-based and all.

Thank you

I asked around and updated my previous comment. It seems that shaders made with shader graph should work out of the box with VR. So even though I can’t test this personally, I have reason to believe the shader will work with VR but I can not guarantee this for now.

In order to have good performance on mobile, I have created a mobile variant of the shader that is more lightweight (but with less features). On my own mobile phone I get 60fps with the mobile variant and the lighting option of the shader set to ‘basic’. I have updated the mobile demo page so there is a dropbox link where you can download the .apk file.

https://alexander-ameye.gitbook.io/stylized-water-for-urp/support/mobile-demo

There is also a page related to performance here https://alexander-ameye.gitbook.io/stylized-water-for-urp/support/performance The page is a work in progress and will be finished before release.

You can expect future updates from me focusing on performance and optimization. Shader graph itself also has a few performance-related updates in the pipeline so hopefully that should help as well.

will be available in unity store?

The package was just submitted for review by the asset store team :slight_smile:

Hopefully soon but realistically it will take between 2 weeks and a month to be reviewed. Due to COVID-19 approval times are a bit longer so we will have to be patient.

A website for the asset is now live. Redirecting…
The manual has also been completed. Introduction | Stylized Water

I expect the asset to be live on the store next week.

Alex

hello alex, the link on your webpage to assets store is not work, it transform to home page of assets store, can you rebuild it again or directly post the assets store link on there? thanks!

ooo i get it ,it be reviewed now… cannot wait !!!
very very very beautiful

come to root for you again,
a little suggestion, i think the water is more like the jelly or oil.

Very nice shader!

Do you plan to add an underwater effect for the shader?

Do you mean the water looks like jelly/oil, or I should add the option to make it look more like jelly/oil? In the material inspector there are a lot of properties you can play around with to achieve various styles of water.

Thank you ^^

This is currently marked as in research on the roadmap. I’d like to add it, but I haven’t settled on an implementation yet. I’ll need to do some research, see what works well, but no promises.

1 Like

no i mean i think the water is like jelly/oil now,and i wonder if there is some settings can make it to be very clean,

You can find all of the shader properties here https://alexander-ameye.gitbook.io/stylized-water-for-urp/features/shader-properties. In the ‘surface and lighting’ section you can change the lighting/normals of the water surface.

I’m pleased to say the asset is now live on the store! Thank you for the support so far. I hope you’ll like the asset.

For support you can check out the manual. Especially the troubleshooting section might be of use.

If you need additional help you can always contact me through the unity forums, email, discord or twitter. You’ll find the links in the manual.

2 Likes

Great looking water. Thanks for publishing.
I seem to have a problem rendering what’s labeled as the ‘WindWaker’ variation in the Demo scene. Is it because it’s for mobile and I’m testing on PC?


The other version works great though.

Thank you for the support, that means a lot. Your target platform does not matter, the mobile variant shader should be visible as well.

Does the issue get fixed when you go to Stylized Water For URP > Materials > Mobile and then right click on the Windwaker material and click Reimport? Alternatively you could also try to reimport the mobile variant shader in the same way. It’s located under Stylized Water For URP > Shaders.

I’ve had this issue before where Unity sometimes doesn’t import materials correctly after downloading an asset from the store and I need to reimport them to fix it.

Thanks for your answer. Turns out I bothered you for nothing. I think I found out I produced the problem myself.
The mobile shader seeks for a subgraph under a particular absolute location (‘Assets/Stylized Water for URP’/…).
If the asset is not located where you expected it to be, it won’t find the subgraph and appear pink. Everything else works fine. Changing the location to where the asset wants it to be fixes it.
Maybe it could be interesting to change it to a relative location in the future.

Again, great looking water, thanks.

1 Like

I’ve had that issue as well before. Actually, I am not using any absolute location references anywhere in the asset. I’m not looking for subgraphs through code or anything, the whole process happens in the .shadergraph file. The issue is with Shader Graph itself. Custom function nodes just use an object field where I reference the .hlsl file and subgraphs don’t have any references or paths for me to set, it’s just automatically. Somewhere along the way when moving around nodes, Shader Graph loses the reference and refuses to compile.

Maybe they already fixed this in the newer versions or maybe they will fix this is the future. I hope this gets improved. For now, I’ll mention it in the ‘troubleshooting’ section in the manual. Thank you for sharing the issue you were having!