Skip to main content

iOS Packaged Game Size

iOS Packaged Game Size

There are a number of things that affect the size of a packaged iOS game, from the content it references to the build configuration you choose.

Target Configuration

One of the biggest changes comes from targeting the Shipping configuration instead of Development, which saves about 31 MB. The Shipping configuration uses higher optimization settings, and removes debugging symbols and much of the logging and profiling code, resulting in much smaller executable sizes.

Example: TappyChicken

Here are some example numbers from cooking and packaging TappyChicken for iOS in the 4.0.1 branch.
This is listing numbers with an executable that has the symbols stripped.
The overall Shipping IPA is 43.8 MB uncompressed (34.8 MB compressed), which breaks down into:
  • 3.9 MB - Loading screens and icons (about the same compressed)
  • 25.5 MB - Executable (never compressed)
    We never compress the executable since it is encrypted when uploaded to the App Store and will not compress at all there.
  • 10.6 MB - Engine content (4.8 MB compressed)
  • 3.7 MB - Game content (0.7 MB compressed)
The executable is never compressed and the icons/screens are already compressed, but the game and engine content compresses quite well.
We will continue to work on reducing the amount and size of required engine content over time, as well as look at optimizing the executable size.
The loading screens and icons are .png files that you create; you can provide fewer variations (Tappy Chicken has one for all the devices) or use simpler icons to reduce their size further.

Game Content References

The size of game content is entirely in your hands; it ends up very reasonable for a small game like Tappy Chicken but it can easily blow out when you add a bunch of extra content.
It is important to understand that any content referenced in your game will get cooked; some common gotchas are referring to huge otherwise unused textures as the default for a texture sample in a material function or material, or referencing unused content in an disconnected node or unused variable in your blueprint. These count as referenced even if all of your material instances replace them with something else. You can look in the cooked asset folder and if you spot any unexpected assets, use the Reference Viewer to track down who refers to it.
Note: If you cook via the Launch button on the toolbar, only the content referenced by your chosen maps will be cooked, but if you package your project, all of the content in your game will be cooked, even unreferenced content.

Disabling Slate

Content-only projects have a larger executable since they cannot make any assumptions about which plugins and libraries you are using. You can usually shrink your executable a little bit by switching to C++, and disabling unnecessary plugins and libraries at compile time (viaEnabledPlugins and the Project.Build.cs and Project.Target.cs files). However, we have an optimization to remove more than 30 MB of Slate assets in content-only games since they cannot use Slate. If you make a C++ project that does not use Slate, you can save this space by setting bUsesSlate = false in the constructor of your TargetRules class in Project.Target.cs.

Popular posts from this blog

Hidden Wiki

Welcome to The Hidden WikiNew hidden wiki url 2015 http://zqktlwi4fecvo6ri.onion Add it to bookmarks and spread it!!!
Editor's picks Bored? Pick a random page from the article index and replace one of these slots with it.
The Matrix - Very nice to read. How to Exit the Matrix - Learn how to Protect yourself and your rights, online and off. Verifying PGP signatures - A short and simple how-to guide. In Praise Of Hawala - Anonymous informal value transfer system. Volunteer Here are five different things that you can help us out with.
Plunder other hidden service lists for links and place them here! File the SnapBBSIndex links wherever they go. Set external links to HTTPS where available, good certificate, and same content. Care to start recording onionland's history? Check out Onionland's Museum Perform Dead Services Duties. Introduction PointsAhmia.fi - Clearnet search engine for Tor Hidden Services (allows you to add new sites to its database). DuckDuckGo - A Hidden S…

[SOLVED] IDM WAS REGISTERED WITH A FAKE SERIAL NUMBER

[SOLVED] IDM WAS REGISTERED WITH A FAKE SERIAL NUMBER
Good News [May 08, 2015]: IDM developers got smarter, but the crackers are always a step ahead. Follow this article and send an email to uglyduckblog@gmail.com if you are desperate. I can NOT post any crack here for legal reasons. Happy Downloading with IDM. ;) *********** first tip is to use latest crack for idm from  onhax.net idm universal web crack and make sure u are using all latest vers I am sure many of us are too much dependent on Internet Download Manager a.k.a. IDM. The main reason didn’t permanently switch to linux was IDM. I mainly use it for batch downloading and download streaming videos. Till yesterday, IDM was working fine with me (of course with fake serial numbers, keygen, crack, patch etc. which could be found with little effort). But few days ago, with the latest update version 6.18 build 7 (released on Nov 09, 2013) Internet Download Manager was literally had a breakthrough and crushed all the serial numbers, …

Mouse, touchpad, and keyboard problems in Windows

Mouse, touchpad, and keyboard problems in Windows Introduction This tutorial is designed to help you identify and fix common mouse, touchpad, and keyboard problems in Windows. It doesn't cover device problems related to specific programs. Mouse, touchpad, and keyboard problems can have a number of causes: Cables that aren't connected properly Incorrect device settings Missing updates Corrupted or incompatible drivers Hardware problems Check hardware Many mouse, touchpad, and keyboard problems are caused by hardware that isn't set up properly. Here's some information about how to check your device, make sure cables are connected properly, make sure the hardware has power, and check the settings. Make sure cables are connected properly Check that all cables are plugged in to the correct locations. This can include mouse and keyboard, PS2 and USB cables, and, in some cases, external USB touchpad cables. Disconnect USB cables and wait for a short time for the device drive…