Does the built-in Water layer, particularly as it exists in the stock Island demo, have any special render handling?
I'm asking because I'm playing with real-time environment mapping (e.g. shiny chrome object) and while I can get cubemap rendering working correctly when I tell the cubemap camera not to render the water layer but keep the water reflection rendering the cubemapped object (meaning the object would show up in the water if it was ever in a position to, but the water doesn't show up on the object), the reverse fails. If I put the cubemapped object on its own layer, mask it off from the water camera/script/shader and try to render the water layer onto the cubemap (even with a custom cubemap shader set to the Overlay queue, and even playing with the camera depth so the cubemap is the last thing rendered before the screen)... any cubemap faces that point towards the water plane fail to render, even if they contain no actual water. It's as if Unity is actively preventing situations that might cause infinite reflection, even if I've manually headed off the possibility in my render order...
When set up in this manner, Unity also throws:
RenderTexture error: failed to retrieve color surface [invalid call] UnityEngine.Camera.Render()
on the reflectionCamera.Render() line of IslandWater.cs
(Unity 2.6.1f3, Pro license, under 64-bit Windows 7; Radeon HD 5850 if it matters)