[iPhone 5S] Particle Effects possibly causing a rendering issue on iPhone 5S

Hello,

We’ve discovered an issue in our game that only seems to occur on the iPhone 5S; we’ve tested it on an iPhone 4S and an iPad 4 (Along with numerous Android devices), and haven’t seen the issue on any of them. What happens is that when the player dies, we trigger a particle effect, and then display a UMG screen and start an animation that features a number of elements moving and scaling. On the 5S, however, as soon as the player dies, the game stops rendering new frames, and seems to just flicker back and forth between the last two frames that were displayed. The game is still running in the background, because the advert that we display over the Game Over screen still shows up, and if you tap, you can hit the button that advances to the next screen, causing everything to start rendering correctly again.

The particle effect that plays on death seems to be what’s causing the issue, as we have the ability to turn it off, and we have discovered that the Game Over sequence displays correctly when the particle effect is disabled. This particle effect fires out a number of particles that use a 32x32 texture with a transparency mask applied, the particles are affected by gravity, and collide with the environment.

As we don’t have an iPhone 5S to test on (The issue was seen by a beta tester), we don’t have any way of easily debugging it, so any information would be helpful. If you want to see the issue in action, we can give you Testflight access to the Beta build that the issue has been seen on.

EDIT: This paragraph was in my original post, but we’ve since discovered that it was no longer the case: “It seems most likely that this issue is being caused by the UMG screen (There are several other particle effects that render correctly), but it’s strange because this same UMG widget, and the same animation, is also used for the victory state. The only difference between the two (Aside from slightly different strings we push onto the Text objects) is that we display a different texture on the main image in each case. I’ve had a look at the two textures, and the settings for both are identical. The only difference I can see is that the Death image is 256x256, and the Victory image is 512x512.”

Okay, looking at the materials that are used in this particle system, we noticed that they were set to be Default Lit, whereas our game runs with all lighting turned off, and all materials set to Unlit and emissive. All other devices we’ve tested on seem to deal with this okay, but it seems possible that this is causing the iPhone 5S to freak out. We’ve changed these to Unlit now, and are going through the process of testing it on a 5S, but it will take quite a while, as the Testflight build has to go through Apple’s testing process, which usually takes 8-12 hours.

We’ve tested the fix that I mentioned above (Changing the material of the blood particles from Default Lit to Unlit, in line with the rest of our materials), and can confirm that this is what was causing the issue.

That leaves the question of why attempting to render lit materials in a game with lighting turned off only causes rendering issues on certain devices. I would have expected to see this on other iOS devices and on Android as well.