I have indie but understand that when developing with Pro there are elements that can be omitted from the final build in order to reduce the download size of the app.
Is this correct and if so what is possible using Pro to reduce the app size?
Even the most simple games apear on appstore being 15MB or so.
Like FUGUTILT.
15 MB for a game with as far as I see 1 texture for the plate, 1 backdrop and no sound.
I think I’m going to create a small free game and test what it gives. Cannot believe that this takes so much space after UT said that a basic app project is 6MB + assets and scripts.
I’d guess that some files are encrypted within the distribution version and the compression does not work as well with the more random byte patterns of encrypted files.
Pretty strange assumption, given that apples power is 132mb and on the top list since its release
if you want ultra small executables, you have to use xcode and code it yourself. If you use a fully fledged scripting + game engine, expect them to take up a serious amount of space.
the size of the app you are getting is from scripting. Just that you forget that all your scripts get compiled and then put in together with the whole mono lib which must be compiled in as well.
The original question though was is there a benefit to using pro in order to reduce this size and if so what can pro do that indie cannot and what kind of difference will it make to the final file size?
iPhone users can only download files that are less than 10MB zipped. So maybe not so strange an assumption any more given that you are starting with 6MB before you have even done anything.
With iPhone Advanced you can enable the stripping.
So lets say you don’t use physics, then unity kicks that whole part in the AOT step.
We’ve tested that weeks ago on the chat, it results in nearly 50% cut down sizes just enable stripping but I don’t know what has been used.
One of the devs would had to answer what stripping can cut and what not. I would expect that it is able to strip unity engine related things but also whole Mono namespaces not used.
Bytecode stripping removes all unused script bytecode before AOT compiling it. Usually scripts in Unity use only fraction of all .NET libraries, so it can be a huge win. On top of that we have micro mscorlib.dll, which is an size optimized version of core .NET library (reduced to ~0.6MB instead of standard ~2.1MB of CLR bytecode).
Afterwords it’s a work for XCode linker to strip unused code from the executable.
We have plans on more hardcode stripping in the future, where you could define explicitly what modules of the engine you need in the final application.
Has anyone figured out whether the iPhone cellular downloads are allowed/disallowed based on the actual zipped size or the size reported in the App store?
does not make a difference anyway. in most cases the downloads trash themself anyway through cellular and that even here in Switzerland where we have one of the strongest UMTS tech grade.
I only go for downloads on wifi / on my mac