Unaccounted contribution to iOS File Size in Editor Build Logs

I know this is yet another post on iOS File Size.

I’m trying to understand the breakdown that is in the Editor Console log:

Build Report
Uncompressed usage by category:
Textures      216.4 mb   24.0% 
Meshes        0.0 kb     0.0% 
Animations    806.1 kb   0.1% 
Sounds        14.7 mb    1.6% 
Shaders       0.0 kb     0.0% 
Other Assets  2.1 mb     0.2% 
Levels        525.6 kb   0.1% 
Scripts       409.9 kb   0.0% 
Included DLLs 1.2 mb     0.1% 
File headers  301.5 kb   0.0% 
Complete size 901.6 mb   100.0% 

Used Assets and files from the Resources folder, sorted by uncompressed size:
...

I’ve spent some time reducing the size of the Textures in my game, and have brought it down to 24% of the total uncompressed size.

As you can see, the rest of the line items only add up to ~2% of the total size.

What is contributing to the remaining 74% of the uncompressed file size?

The complete size represents everything Unity ads into your Xcode project. Editor code, dll’s, used libraries, etc.
If you create an empty Unity project and compile it for iOS the resulted Xcode project will have over 500MB. If you compile this project, the resulted ipa file will be under or around 20MB.
If you want to reduce the size of your project, try to remove any unused plugins / sdks, change the compression of the textures, disable the mipmap if you don’t need it, use texture atlases, using textures that have the size power of 2 will be better compressed (512x512, 1024x1024).

If you want to reduce the size of the Xcode project and the build time, you can check “Symlink Unity libraries” in Build Settings - this will not copy the unity files into the build. In this case you’ll be able only build the Xcode project on the same pc you made the Unity build (because the unity libraries are referenced through absolute path).