I have a few years of experience in mobile games using Unity, and I intend to apply all the techniques I have learned so far that have been successful in optimizing my own mobile games, such as:
- Using Unity's profiler to detect the parts of the project with most impact in performance
- Detect the largest assets when performing a build
- Reducing image/audio size with minimal effect on quality
- Caching specific values that are used often and create garbage, such as functions like GetComponent
- Reducing the time on each frame (i.e. increasing FPS) by moving operations in the Update cycle to less frequently called functions, using InvokeRepeating; Moving these functions must not break the game logic in any way
- If possible, using Coroutines to ease work on more demanding tasks that do not need to be done in a single frame
- Tweaking build settings
- Performing many more possible optimizations based the type of project
NOTE: I do not have any iOS device, so I cannot test the App unless you allow me to use a trusted friend's device. Even if I cannot test it in iOS, almost all these optimizations are platform independent, so I believe it will not be that important.
Hope to hear from you soon!
Cheers!