Mask Out Water?

You could use custom depth but it would require splitting the inside of the boat to be a separate mesh since you can only change customdepth per mesh. otherwise the water won’t draw over the outside of the boat either and that will look like the boat is floating. Once you have that, you just check in the water material if the pixeldepth is greater than the customdepth and if so return 0, otherwise return 1.