- Home /
iOS vs Android build
I have a question about how Unity3D compresses and builds Android and iOS applications. The app I'm working on is much larger in size on the iOS device in comparison to the app on the Android device.
I have set all the texture format settings to RGB Compressed PVRTC 2 bits, but my application on the iOS device is still 74,7MB while the Android's .APK file is 16,8MB.
Does somebody know what the reason of this large difference in size is or how I can reduce the size for especially the iOS app.
Did you ever find an answer here? Having a similar problem.
iTunesConnect estimates app size as 77mb and an install size of 158.
On iPad my app is 160mb, so real close to the estimated install size.
For android, apk file is 60mb (as seen in Windows) and on the Android tablet, Internal Storage shows 80mb.
So my iOS app is double what my Android app is. What gives?
Also, I used compressed atlases for all my texture so I'm now sure why there would be a disparity like this...
Answer by kromenak · Mar 13, 2012 at 05:03 PM
At first looks, the problem might be related to ETC vs. PVRTC compression. Android uses ETC, which works pretty well in a lot of cases, but iOS uses PVRTC, which requires the texture to be a square, power-of-two image. If your images aren't square and power-of-two, they could compress fine for android, but not compress at all for iOS.
An easy way to evaluate whether you are adding more stuff to your iOS build somehow is to check out the editor log after creating a build. You can do this by clicking the "Editor Log" button in the Console window. While creating a build, Unity will log a bunch of data there, including a percentage breakdown of assets in the build and a comprehensive list of all assets included and their uncompressed file sizes.
If the same assets are included in both builds, I would lean heavily towards a compression issue.
Answer by kfeudale · Sep 19, 2012 at 10:50 PM
I have the exact same problem but even worse. Android build is around 16mb and runs great and looks great. Iphone build is 124mb for the exact same thing! ITS SOOOO FRUSTRATING! THEY CAN"T BE THAT BIG A DIFFERENCE!! I have done all optimizations that everyone recommends. Mipmaps off, pvtrc 4bit, power of 2 textures, armv6 only, audio set to max compression, its makes no sense!! Sorry to rant but this shit is killing me.I will post if I find any solution for myself.
Best of luck
So, with the new XCode and iPhone 5, they are dropping support for AR$$anonymous$$v6. So, you'll have to use AR$$anonymous$$v7 - not that this should make a difference in your build size.
After making a build, have you checked the editor log? The log will include a complete breakdown of all the assets being included in your build, sorted by file size. I imagine that this will get to the root of your issue very quickly.
Only other things I can think of off the top of my head is using a ridiculously large icon/splash for iOS, or maybe using a different stripping level in the player settings.
Answer by DMTSource · Nov 20, 2013 at 07:58 AM
I went though this problem bur it turns out there actually was no issue.
I am using Unity 4.3 to move my Android game over to IOS. I noticed in the Usage panel in Settings that my app was using a huge ammount of disk space! Instead of the 36MB on android, it was installing at over 200MB and then tacking on an additional 20+mb of data somehow.
This really bothered me and I began seeking posts like this. I attempted switching from automatic compression to PVRTC and other things to reduce the file sized. But these changes only seemed to make things worse, I concluded the default settings were good enough and just went for it with a massive file size.
However, and this is the big point, when I Archived my xcode project to make a distribution build I clicked on the Estimate Size in App Store. This then reported that my app would be around 65 MB. I guess the development build is just way bigger in xcode? Make sure to check your estimated sized when archiving/publishing.
Answer by sjefke31 · Mar 14, 2012 at 12:22 PM
Ok, I set all my textures to 64x64 or 64x128 etc... but my app is still 73.0MB. So the app is reduced with 1.7MB. That's not enough.
I think the size of the app is due to the size of the 3d models. But then, what is the reason that the Android version is so much smaller in size when compared to the iOS version.
You can also check out the Target Plaform in Player Settings. You can select armv6, armv7, or both. Selecting both will increase your app size, though I'm not sure if it would add an extra 60$$anonymous$$B or so.
Answer by Mickman · May 25, 2012 at 11:13 AM
very interested if you found a solution to this issue.. was it in fact texture size ? Do you have MIP MAPS on ?