Game from Google Play store loads levels very slowly

Hello,

I have my project currently in the beta stage in the Google Play store.

While deploying directly to the device via USB debugging, the game loads level in a matter of several hundred milliseconds. However, certain devices, such as Samsung Galaxy A3, take several seconds to load a level if the game is downloaded from Google Play store.

All the smartphones & tablets I tested on have this issue, excluding One Plus One (bacon). However, bacon has a powerful CPU, so it might be because of sheer performance that it loads fast.

My only guess would be that the phone compiles certain shaders via level loading and does not cache/save it anywhere, so it is all done again after I hit restart or go to other map. I can’t test it however - as soon as I deploy a debug version via unreal Launch button, it works fast on the phone.

The whole game (apk + obb) weigh around 78 MB, and we only use LDR in our project.

Any help would be appreciated.

Small update: I tried packaging the game in a single APK and putting it into the device file system, installing from there. It appears that the usage of OBB extension file slows the level loading (by several seconds). Reducing the game size to < 50 MB is not an option right now.

Update: I managed to get the obb’d version to debug state via direct USB upload. Here is the debug line which seems interesting (it appeared while I attempted to open the map)

Hi Lordink,

OBB in APK means the data is memory-mapped which may be why it is so much faster. Google now allows up to 100 MB for the APK if you want a quick solution.

As for why it is taking so long, based on the message you get about SearchForPackageOnDisk it appears you used a short package name so it had to try to find it which can be slow. Try providing the path.

As said by Chris, google now allows up tp 100MB APK, so try to package without OBB

Hi Chris,

Thanks for the heads up, I deployed without OBB and things load fast now. By providing the path, do you mean giving a path in the Load Level node? And if so, how would the path look like? E.g. my map is here:
Content/Maps/Map1

/Game/Maps/Map1 should do it.