Hello,
We’re struggling with an issue. Our game is a fast paced 3D arcade game. When built for iOS, we’re experiencing some major hiccups which pause the game for about half a second or even more. That ultimately causes player-death and GameOver because the game is so fast-paced and difficult.
Here’s some info:
- it happens about 2-5 minutes into the gameplay (one level lasts about 2 minutes only)
- it can happen again after loading another level or in the same level
- it doesn’t happen in a specific location/time in the level, it’s random
- it happens only on iOS devices, we’ve tried android and playing in the editor, all goes smooth
- it’s driving us crazy!

Unity version: 5.2.1f1
Xcode 7.0.1
iOS 9.0.2
Device: iPhone6 (it happens on other iOS devices from iPhone4 onwards but the profiler screenshots are for iPhone6)
Naturally, we profiled the spikes, thinking it would help, but then it got really weird.
First time we caught it, it was - batch draw dynamic -. We really don’t use much dynamic batching, it only saves us 4 draw calls in the profiled level. here’s the screenshot:
Then, we tried again and this time it was static. Note the hugeness of the spike. Please ignore the violet spike that comes afterwards, that’s the player-death, game-over which triggers loading another scene.
Then it was physics ![]()
Then we tried turning off the dynamic batching and turning off “Optimize Mesh” in import settings of our FBXs. The spike was a bit smaller this time but it didn’t help much.
Can anyone help us here? Did anyone see anything like this before.
It’s insane that the game runs so much better than 60fps and then BAM! a huge spike like that.
Again, this doesn’t happen on Android(way weaker than iPhone6) or in Editor.



