Download

Smaller package sizes

For some reason this is something I see scarcely spoken about when it is kind of a big deal dating back to the UDK days. A built/cooked/deployed game package in unreal engine has always had some obscene size to it. Just now building a “blank” project in 4.7.2 makes for a 185 megabyte file. Even the mobile deployed games grow into some obscene sizes around the 40-50 megabyte range.
It seems that no matter how small your game might be it will result in a bare minimum size of around 130-185 megabytes and it appears to be getting worse with each new revision. One would have to do some trial and error on deleting files and testing stability just to cut down on file sizes.
Dynamically linked libraries are 30-47.9 megabytes(PhysX being the largest one) no matter if they are actually used or not. If any aspect of this engine could cut down this minimum requirement it would at least make deploying games in UE4 more appetizing compared to other engines. It seems the few times this gets brought up it gets presented with a rhetoric of “200+ megabytes is nothing!” and no progress is made to make building and cooking more efficient such as determining what third party libraries are actually used in the project or some other method of cutting down on the size of deployed games.
People would try to make a 2D game in unreal engine only to demand their end-users to download a 200+ megabyte file just to play their retro-3d-graphic game in which 40 megabytes of unused dynamically linked libraries are required or even other minimal experimentation with UE4 would result in people discovering the massive payload. A lot of people I know have just lost their passion for UE4 after hearing about how massive these playloads get and how ridiculous it is that it cant recursively figure out what gets used and what doesn’t. The “No starter content” checkbox when creating a new project doesn’t seem to do anything and neither does creating a blank project.

Doesn’t seem to be anything related to this on the UE4 roadmap either so I’m wondering if this is something that is getting seriously looked into.

Some mobile games seem to fall victim to these massive sizes. A few examples:
https://play.google.com/store/apps/details?id=com.epicgames.LuxProtocol&hl=en 44 megabytes
https://itunes.apple.com/us/app/tappy-chicken/id821841075?mt=8 57 megabytes
https://play.google.com/store/apps/details?id=com.epicgames.TappyChicken&hl=en 23 megabytes

Some of the few discontinued discussions I found about this:
https://answers.unrealengine.com/questions/68812/best-way-to-make-your-build-size-lower.html
https://answers.unrealengine.com/questions/144136/how-to-reduce-html5-package-size.html
https://answers.unrealengine.com/questions/150470/package-size-for-c-blank-project-is-699mb.html
https://answers.unrealengine.com/questions/102167/slate-taking-30mb-in-build-size-on-mobile.html
https://answers.unrealengine.com/questions/105454/toooooooooooooo-large-file-size.html

https://answers.unrealengine.com/questions/70842/why-are-android-file-sizes-so-big.html

https://answers.unrealengine.com/questions/185365/reducing-size-of-windows-package.html

Do release builds contain .pdb debugging files by any chance? Whenever I package the game for testing internally, I noticed that the debugging symbols can be anywhere between 200-400MB. These don’t need to be in the shipped version.

With shipping configuration with < 1mb of content for Android it seems to be around 50mb still. There has been a lot of talk (for instance probably some of those answerhub links listed) where people have discovered essentially 15mb of unused engine content is still shipped in the final apk. Even then, that’s not a very ideal package size. It would be nice for the sizes to be reigned back, but UE4 is definitely quite a complex piece of software, and being compiled as C++ binaries can get rather large rather fast.

Really hoping this gets solved. The engine is fairly data-driven so when it comes to deployment it seems to just make a carbon-copy of a deployed-game-template and put your files off to the side for the engine to interpret. There should be a lot of room for optimizations I feel.

Hoping EPIC will give us a solution.Some modules which are not needed will be automatically excluded from the final apk.If it’s hard to implemented the auto part,at least give us a panel to check out the modules we want to exclude.