Why are android file sizes so big?

I have a small game ready for android however its a nightmare getting it to the play store.
The main issue being the HUGE file size of the .obb expansion files. I have got any of the starter material in my project and in fact my entire content is just over 10 mb, so why is is my .obb coming out at well over 100mb?
As you can see this is a huge problem for us looking to move to ue4 as nobody browsing the play store would download over 100mb for a small game that’s much like tappy chicken.
Im completely stuck here as ive no way to reduce my assets or sizes, and i cant release game so large in size. the thing that bugs me is the same sized project packages way less than 10mb on other engines such as Unity. Is this extra size due to blueprints?

p.s if its any help im getting this pop up with google play when uploading my apk and .obb http://i.imgur.com/KJKu3wD.png
What is making my build so big and how can i reduce it?

Ive just packaged a new project with no starter content, deleted the basic assets such as lights from the scene, and this still comes up 20 mb for the apk, and another 26-27mb for the obb! its way to big

1 Like

No real answer? So unreal isnt capable of outputting small sizes?? Is unity the better way for that?

I managed to get the OBB size reduced a bit by manually deleting some slate folders from the engine folder before exporting as ETC1 (remembering to back them up and replacing them - else UE4 will no load the next time). There was also a ini setting that can be changed for another 3-5meg. Both of these tips I got from this thread:

and I managed to get my game down to 35meg:

:slight_smile:

Also remember when ticking ‘For Distribution’ and selecting ‘Shipping’ after deploying the APK size drops to 15meg (from the 20 you get with all the developer debug stuff still in it).
So my OBB which has a bit more than Tappy Chicken in it is 20meg and I got this by:

Deleting these engine 2 folders remembering to back them up and replacing them - else UE4 will not load the next time!:

Engine/\Content/\Slate/\Fonts

Engine/\Content/\Slate/\Common

and changing

+ContentDirectories=/Engine/MobileResources

to

-ContentDirectories=/Engine/MobileResources

in BaseEditor.ini in Engine/\Config

Hope that helps you as well!

When doing this with a blank project I got around 30meg total (APK and OBB)! :wink:

2 Likes

Would be great if someone from Epic could take a look at this and put this kind of info into the official documentation, maybe even take it further.
Decereasing the Android packge size is an important issue, and it looks like there can be do quite a lot of progress done in this area.

Push… Same problem … no answer from unreal support?

File size just grew almost 15-30meg more in 4.7 :frowning: and yet TappyChicken 4.7 in the play store seemed to have gotten smaller - would be great if Epic could tell us how that was done … Even more important now since the OBB file support does not work in 4.7 so your APK must be less than 50meg to upload to the play store!

Thanks! Just got the .obb down by 20mb

@aussieburger I have followed your posts about size reduction successfully with 4.6.1, when I migrate my project to 4.7.2 the size keep unchanged (currently 38mb my shipped game) . Maybe there is something that your project is using. Mine is full paper2D, all sprites.

1)Open Project Launcher

2)Add new Custom Launch Profile (name what you like)

3)Project → Navigate to your project.uproject

4)Build the first time (you can disable afterwards)

5)Cook for your texture of choice + localization (ex:en_US) and in additional cook options add the following: -clean -stage -pak -compressed -prereqs -distribution -nodebuginfo (as is)

6)Package and store locally (The output is your project’s binaries/android/ ignore the .so file)

7)Disable deply and launch (Unless you want to direct test your App but its much much slower just package and manually pass it to your device)

I guess that’s because its easier to ship small mono+unity framework on android than the entire unreal engine. Also i am looking for an answer too…

I’ve started developing for Android with Unreal…and the file size is way too big…(4.7.6)
Is there anywhere a “bat” file could be injected into the build process to remove the unwanted files ?

UE 4.9 will include support for an optional packaging blacklist per platform and build configuration. Any files included in the list will be omitted from packaging.

If you want to try it now, it is checked into the master branch:
link text

Create a text file:
[Project]/Build/[Platform]/PakBlacklist-[Config].txt

Any file starting with each line in the file will be omitted (example):

../../../Engine/Content/Slate/Fonts/
../../../Engine/Content/Slate/Common/
../../../Engine/Content/EngineDebugMaterials/
../../../Engine/Plugins/Runtime/LeapMotionController/

Could you please example a little clearer how this works? What do I actually call the PakBlacklist txt file? What word goes in [Config]? And the body of the text file, is it really just “1. …/…/” ect?

I’m doing blueprint programming, so alot of these means of conveying information are foreign to me. I get the feeling you’re showing script for C++ code, but talking about a Text file ini.

I can’t even find this “Slate” file people keep talking about. My project is just 2MB’s over the 50MB limit for Google Play, even with Shipping and Distribution checked.

Could you explain your post further? My Epic Games Launcher has nothing in it at all that says “Custom Launch Profile”. How do you cook textures and where do you get the option to add those text options? When I make an APK, it’s just a menu option I click, not a command line thing I start up.

I am also interested in how to do this. The link you gave seems to be dead now, so is it still possible to blacklist items?

Also, where would I place this text file, and, as asked, what would replace “[Config]?”

Do you know which files would free up the most space if I were to omit them? I manually deleted Slates/Fonts and Slate/Common (and then replaced these after packaging) which helped shave off a few megabytes – are there any other folders that would help reduce the size of my game some more? Thanks!

Here is the official documentation for reducing APK package size.

https://docs.unrealengine.com/latest/INT/Platforms/Android/ReducingAPKSize/index.html

About blacklist: https://docs.unrealengine.com/latest/INT/Platforms/Android/ReducingAPKSize/index.html#packageblacklist

In my case My obb is just 10mb. Still my apk package itself to 60mb after doing all the trickery. I think Engine C++ classes are getting bigger with new updates. And we can’t remove anything from that unless we do it manually from file explorer which is tideous.
Unreal 4.26.2

T be honest, it is easy to manage but I’m doing blueprint programming, so a lot of these means of conveying information are foreign to me. I get the feeling you’re showing script for C++ code, but talking about a Text file ini. You can [check here][1].

[1]:

I am using blueprint scripting only. UE4lib.so file is itself 47mb. The link you have given seems unrelated to topic.