Unreal Engine 4 Water Feature showing Bright reflection on the water surface (pics included)

Hi fellas, this is here, I have looked all over and can’t find a solution to this issue, OR I may not know if this specific issue has a certain name to it that I need to search for, or keyword, but I’ll explain it here.

I used the new Unreal Engine Water Feature and when I use iPhone 12 Max pro the water looks beautiful, as seen in attached screenshot. But if I use a iPhone thats anything less than the new iPhone 12 Max Pro there is a very very very bright reflection/ white light comming from the water. Any idea what this reflection is called or any keywords I can search to help me with this.

I have confirmed it is indeed coming from the water as I used the same ocean material in another blueprint for water and the bright white reflection came once again.


In case anyone needs to know what water feature im talking about its this water feature released by unreal engine: Water | Unreal Engine Documentation

It looks like a bloom coming from a post process volume or a camera. Not sure why it would only appear on certain phones.

yeah, its any of the older phones before I phone 12. So weird. I even tried on my iPad and I get that really bright reflection.

to me it looks like NaN/infinite values on the shader. different platforms handle NaN values differently - some platforms just render black pixels (like on your first screenshot, on PC it probably looks like that as well) while other platforms can cause extreme bloom or even ‘negative’ bloom (i.e XboxOne)
check for any division by zero on your material nodes (basically add a Max [X, 0.001] node to anything going into the B input of a division to prevent it from being 0), or it’s possible that it’s the result from reading offscreen values from the scene buffer (can be caused by too much refraction - try disabling refraction in your material and if that ‘fixes’ it you’ll be closer to a solution)

Thanks for the pointers. @Chosker I checked the water material, which is the material that came with the water from unreal engines new water system, and I see the following references for material in the screenshot.

now are you saying I should add this nod to anything in the b node?

In the screenshot below is be plugging in the max node to the b slot. But I dont know how to put a variable in there like you mentioned above Max[X,0.00], like how would I add the 0.00, would I change the constant to “0”? see the screenshot below

Thanks in advance for all your help!!!

Also I tried going to disable refraction in my material and it looks like its already disabled, but let me know if this is the right area/setting I should be looking at. Screenshot below:

thanks in advance for any guidance :slight_smile:

so as I said the goal is to ensure no Divide node has 0 in the B input.

  • the one at the top already divides by 1000 (which is not a variable) so you can ignore that, it’s safe
  • the other two with the Max node like you were doing is good. just replace the constant 1.0 that you got there with 0.001 (not 0.00)

for refraction: having that mat instance override check disabled does not disable refraction, it only disables the override in the mat instance, which results in it using whatever was in the parent.
TL;DR - in the material unplug the node that goes into the Refraction output

also this isn’t guaranteed to work, it’s just guesses from experience :wink: