Shore detection for water surfaces

there’s other threads that cover this, did you try checking against the distance field?
atm it’s unclear to me if a landscape will generate a usable distance field, but for UE4 it’s becoming the preferred method.

a topdown capture would work for static stuff but anything that moves will have no effect. which is the nice thing of the other methods.

going for the depth fade method requires soft slopes under the water, yes.
if you end up going that way you can still make it work: you should make sharp cliffs become soft slopes as soon as they go underwater.