Is there a standard plug-in or code snippet for getting and downloading the obb files before even starting the game?
I’m using blueprints – I’m OK with C++ but generally don’t want to set up build-from-source for Unreal Engine, so if there’s some plugin, that’d be great.
Also, comment from the peanut gallery: I’d think that this would be one of the first things the Android deploy shell would take care of for me automatically, but apparently that’s not happening until 4.8.
Unfortunately, until the 4.8 obb downloader goes into effect, the only way is to package your data in your .apk in order to guarantee that the device has a downloadable .obb. The APKPackaging part in ProjectSettings>Platforms-Android has the most recent instructions for the current release. I hope this helps!
I am currently testing the Beta builds of my game on Google Play. The only solution for now is to pack everything into the .apk file (the option in the project settings) and fit in below the 50MB file size limit. As my game is a very simple project I am currently at 43MB for the ETC1 build, but you do need to delete the fonts from the /Fonts folder before packaging to get that low, just leave the Roboto-Regular in place. You will find a little bit more of info in the thread linked in my signature.
So, if I already have some C++ code in the project, is there something I can add to my app to make sure that the OBB is there?
Like, how do I know what name the OBB is supposed to have, and where do I get it from? Or does this require JNI magic that’s not available in 4.7.5?
Is there something I can backport from the 4.8 branch? (some pointers to file names and branch names would be helpful)
Sadly, I don’t quite fit in the 50 MB limit – the Unreal APK is 30 MB all on itself; my APK is another 50 MB if just building ETC1; 100 MB if building “all.”
I’m using some custom fonts and high-resolution materials for 3D objects (which is somewhat ironic, because the game plays like a 2D game…)
I’ve looked at this, and it seems the “easiest” solution is to update the Java wrapper project. In the main launch activity, first check for the epansion file. If it’s not there, rather than setting up the native code, pop an alert asking the user whether they want to download now or cancel. When they say “download,” call into the downloader library (available in the ADK) to kick off the download and show a progress bar.
It’s a bit of surgery on the Java code, but looks like it can be done. You’d need to check out the code from GitHub to work on this, though.
Since we are talking about the 4.8. will there be a proper way to set the package and application names that are not the same and not reflecting the project’s folder name?
It is a really important thing once your app gets ready for publishing. If you did not plan to include it for 4.8 please do, it really does matter how your icon is signed on the players device. And all the Google Play rules and limitations that apply once you publish your .apk even for alpha testing only, make all this naming problems a major issue at the moment.
jwatte: I’m checking on the status of the OBB download code for you.
rimau: The package name may be changed freely in 4.7.5 in the Project Settings->Android section. [PROJECT] is replaced with the project name, but you may replace this with anything valid now and it will not cause a conflict any more. The project name is used internally in a number of places; I’ll have to investigate what may be done.
Thank you for the info Chris. So all we would need now, besides many other things ;), is to find out how to change the app name as it is shown by the system, both under the icon and in the app manager.