Game works fine on computer but lags on ios device. Please Help!


I am making an ios app which works perfectly on my computer but lags horribly when I test it on my ios device (4th generation ipod touch).

It is a simple game with a falling character that must avoid obstacles. If it hits an obstacle there is an explosion. The nature of the game requires lots of obstacles to avoid. I am not using custom meshes just simple Unity default objects.

It uses a virtual joystick to control the character. The GUI object on the joystick lags behind the finger movements.

When the falling character crashes into an object a particle emitter is instantiated to create an explosion effect but the particles lag considerably.

I have remade the game and rewritten the scripts to try to make the game more efficient and it helped a bit but there is still way too much lag. I remade the game in a new project but only added in the essential bits to play the game and it seems that when I add the obstacles into the game the joystick lagging gets worse and the particle emitter explosion affect lags and is very jerky.

I am using Unity Ios (not the Pro version). I am desperate to get this app working on an ios device as I want to put it on the app store. I have spent months trying to solve the lagging problems. I would really appreciate any help anyone can offer.



Use the built-in profiler. This should help you understand why your game is running slowly.

I guess you know that the mobile GPUs have really poor performance rendering semi-transparent particles? Try turning them off and see if it makes a difference.

It can be many things, I would check this post out:

You may want to check the textures on the particle system, as well as the shaders. Some shader are not meant for mobile. If they are using shaders offered by Unity, try the equivalent shaders in Mobile/Particles.

If you get Unity Pro, you could check the Profiler to see what is hogging up all the memory.

You can also click the Stats button on the top right of the Game View window to see how many draw calls the game is using. It’s usually good to stay around 30 draw calls for mobile.