How can I make this custom shader support shadows?

Daniel Zeller wrote this brilliant low poly shader: GitHub - danielzeller/Lowpoly-Water-Unity: Low poly water with edge/shore blend. Similar to the awesome water in Monument Valley. (a sample project can be downloaded from that link), and I have been trying to have this shader additionally support shadows but to no avail. I have so far tried adding:

Tags {"Queue"="Transparent" "LightMode" = "ForwardBase"}
#pragma multi_compile_fwdadd_fullshadows
#include "Lighting.cginc"
#include "AutoLight.cginc"

in struct v2f {}:


in v2f vert() {}:


and in half4 frag() {}:

float attenuation = LIGHT_ATTENUATION(i);

If anyone could please give me any help with this it would be much appreciated!


Objects in the Transparent Queue (almost always) cannot receive shadows due to the way they are rendered. The only real way you could have a transparent object receive shadows would be to have it use a GrabPass, which is not guaranteed to work, be efficient or produce an outcome without problems of its own.