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.
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.
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
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.
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.
very interested if you found a solution to this issue… was it in fact texture size ?
Do you have MIP MAPS on ?
Are you using any cube-maps? I don’t know about Android, but at least for iOS there is a bug and these textures are saved (And loaded into memory!!) uncompressed, even if the editor reports a compressed size for them.