How to reduce your app size?

While Our SDK's includes a number of various neural networks, and technologies that do contribute to overall size, the main reason why your app can be so big in size are effects, unused (by you) features, and debug symbols.

For this reason you can face some issues with CPU, RAM overloading and device overheating. Moreover, App Store for example, can reject your app because of its size.

 

Addressing effect size:

We highly recommend you to store effects on external server, by utilizing our AR Cloud solution for example, and load them from the first app launch. You can load them all or each separately by demand. We store our effects in the folder called “effects” and load them to BanubaSdk during the initialize method - BanubaSdkManager.initialize
In order to load effects from remote server as an option you can archive your current effect in .zip file and send to remote device by demand(for example with a “download” button pressed)
When a .zip file is loaded, it should be extracted and the effect(in our case “Unlucky Witch”) should be added to the ‘effects’ folder.

You can find examples using AR Cloud here:
https://github.com/Banuba/arcloud-android-kotlin

https://github.com/Banuba/arcloud-ios-swift


Addressing unused features:

Using our legacy method would require you to use a repacking script, which was, best to say a bit confusing to some, right now we recommend people use our Github Packages solution for Android and our Cocoapods solution for iOS. These will allow you to only install the features you need, switching from an opt-out integration method into an opt-in.


Addressing debug symbols:

Ensure that you have the latest NDK installed for Android and are building for release on both Android and iOS. This will result in debug symbols being removed from the final package, massively reducing your SDK size.
While we do have the possibility to not include these debug symbols in the build, without them, should an issue arise with our SDK on your side during development - we will not be able to assist you, as your logs will not include any useful information.