2D side scrolling game stutter/jerk/lag issue when run on iOS devices

Hi Everyone,

I just want to say thanks in advance for anyone you can provide some help on this we’re completely stuck at the moment.

Project Scenario :
→ 2D side scrolling game with simple 2d sprites
→ Camera is orthographic and stays in its place (camera doesn’t move)
→ My Character (A camel) is also static and does not move.
→ The sprites (Platforms) move from right to left (movement done by script)
→ Project Video is uploaded here (running on iphone5). It clearly shows the small hiccups and jerks.

Issue :
The game works very smoothly on Android devices and Unity Editor (no spikes on the Unity profiler as well)
But, when i run it on iOS devices (iphone5, iphon5s) the motion of my sprites is jerky. Like it will move smoothly for like 1 second and then a small hiccup/jerk of a split second occurs. This results in lag and lagging motion of the game which is very annoying as i am unable to get the right quality for iOS.

Things i have tried :
→ I have studied many possible solutions on various threads and forums but none issue seems to be working for me :frowning:
→ I have tried different scripting techniques like use Lerp function for movement, tried putting the code in LateUpdate and also FixedUpdate.
→ I also turned off vSync in project Quality settings but no luck :frowning:
→ I also tried the movement without the script by making an animation of the sprites to move from right to left.
→ I tried making the project from the latest Unity 5.1 as well but still the same lag :frowning:
→ I tried reducing the sprite sizes to very low (low quality pixels) but still issue prevailed.
→ I also tried to change the camera to perspective view to see if it reduces the jerk or not

I am sure lots of other people around must have faced this issue while making a 2D game of such sort.
I hope someone must have overcome the issue and can please help me with this. This has been an issue with me for long now …

I would really appreciate any help … any new technique in unity or any better optimised logic of making such a 2D game in Unity. Thanks.

Looking forward to everyones input.



Probably not much of a help but from playing around I found that the problem is caused by time.deltaTime. I suppose you are moving the platforms by doing something like this:
transform.position.x -= speed * time.deltaTime;
It is not much of a solution by try changing the code to
transform.position.x -= speed/60;

Hope it at least helps a little bit