Why is my android build larger than the source content?

Is there any way to make android builds smaller? In case anyone’s ever tried building Tappy Chicken for Android, you’ll notice that the total size is close to 100 MB, which is a lot more than the 21 MB of the project folder. I think the extra ~70 is coming from the engine including every component it has into the build, but since most of it’s probably never used (who uses real-time reflection in a 2D sprite game?), isn’t there some way to strip some stuff off and make the build smaller?

When you’re packaging, are you choosing “Android”, or one of the specific texture formats (eg. “Android (ATC)”)?

Good point! I tried ATC, and the build size was reduced to ~35 MB, which looks much better. However, with Unity I used to build my game without changing the texture compression method, and it didn’t have any sort of impact on the size of the built package. Do I have to specify compression formats in UE4?

Sort of. Picking the plain “Android” setting cooks out each of the different texture formats, ensuring the broadest compatibility at the price of longer cook times and larger app sizes. Selecting the specific texture format supported by your device will cook faster and result in a more streamlined APK.

Looking at the documentation for the workflow you’ve used previously, it appears that their default behavior is to use ETC for most textures, as it is supported by all Android devices, but does not support alpha channels. We support ETC as well, but recommend using the device-specific format when possible

Well, nobody said anything about it, so I just took it for granted I guess. Thanks for the info :slight_smile:

To put it as a more formal answer:

UE4 gives you the option to package each texture format individually, or you can package them all together. Packaging all together will give broader compatibility at the cost of slower iteration and larger apps. The ETC1 format will work on all Android devices, but does not support alpha channels.