Hi there,
we’ve encountered a bug that’s preventing us from shipping our game. For some reason, there’s a white sprite that appears on certain iOS devices anytime an object is obscured by another object.
In thisfirst image, you see the ship approaching a bridge.

And as the ship goes under the bridge, a white sprite appears. This happens anytime the ship is obscured by another object!

Here’s some additional info:
Unity Version: 5.1.0f3
XCode: 6.4
During our tests, we found that this bug occurs on:
- iPhone 6 (iOS 8.4)
- iPhone 6 plus (iOS 8.4)
- iPad Air 2 (iOS 8.4)
But it doesn’t happen on:
- iPhone 5s (iOS 8.2)
- iPad Mini (iOS 8.4)
- PC builds are fine, this is purely an iOS issue.
Also strange is that if the shadows are disabled, this problem goes away!
We tried enabling/disabling everything we could think of but nothing seems to work. And this white sprite doesn’t exist anywhere in our build. It only seems to be happening on newer iOS devices.
Thanks for any help!
Random guess - It looks like a visible reflection probe. Do you have a reflection probe attached to the ship?
Thanks for your suggestion but we’re not using any reflection probes.
Although I can’t really guess what the specific issue causing this could be, it looks like your issue is limited to A8 devices so it could be a bug with the GPU driver. Might not be able to do much until Apple fixes it except explicitly disable shadows for the affected devices.
You could look at which graphics API each build is using. The bug may be limited to a certain graphics API (like Metal or ES3.0), and forcing the device to use a different one may avoid it. You can check out this thread here, if you haven’t already, to see how to tweak the API selection.
1 Like
Thanks for your reply, CaptainScience. That’s a good idea except we can’t really ship this game without shadows - the gameplay depends on it.
The one thing I should have pointed out is that we’re using a Legacy Shader (“Legacy Shaders/Self-Illumin/Specular”) instead of the Standard shader only because of how much of a framerate boost it gives us on older iOS devices.
Reverting back to the Standard shader makes this problem go away but then we also loose our rock solid 60fps.
Someone suggested that we disable the HDR effect on the Camera to see what happens. When we did that (still with the legacy shader), the big white sprite went away and was replaced with a very small square, a few pixels across.
So now we have a decision to make: loose our HDR effect and live with this small square anytime the ship gets obscured by another model or revert back to the Standard shader and loose our 60fps framerate on lower end devices.
We’ll probably go with the former.