Android .OBB Magic

I have reached the point where my app can no longer fit into 100MB. I have no choice but to figure out how to use .OBB expansion files on Google Play. However I am having trouble locating a recent tutorial.

I found the Unity Help File

However when I read the comments on the store for this plugin it seems obsolete and has issues with newer versions of Unity.

On the other hand I found some posts with people claiming that Google Play now handles the .OBB download automatically and you no longer need this plugin. However that approach seems to have some permission related issues as well a device related issues.

Does anyone have recent experience with .OBB files for Google Play and can they please teach me this magic. I really don’t want to screw this up for my users.

Thank you

1 Like

Anyone?

1 Like

I am having the same problem and I urgently need to publish the application!

Already tried:

  • ‘Install Location’ = Prefer External;
  • ‘Write Permission’ = External (SDCard);
  • Some solutions said to put “android.permission.READ_EXTERNAL_STORAGE” directly in AndroidManifest.xml, but it was already activated (probably due to the previous option);
  • Put the plugin ‘UnityOBBDownloader’, which in theory would be the best option, but without success.

I am shocked that such an important feature is so poorly documented/supported, we must me missing something.

So this is what I found so far using some trial and error.

Google will deploy the .OBB file automatically once you upload it. However their documentation states that sometimes if the OBB deployment fails your app still needs to download the OBB files. So it seems that there still is a need for that plugin.

So I am now working on testing the Unity Plugin but I am worried that my testing devices arsenal is not going to provide good enough test coverage.

It would be awesome to have someone from Unity confirm that this plugin is still supported and has been tested since Unity 4.

I build a new test version with an OBB file and the Unity Plugin from the documentation.

  1. First the new version of my app now requires access to Call ID and Call History, definitely not good.
  2. The app runs fine with the plugin and a “Loading Scene” that checks for the OBB and downloads it. The OBB was already there so really there was nothing for the plugin to do.
  3. As a final test I deleted the OBB file from the phone to see if I can download it. Unfortunately when I did that the app crashed. I can see the download progress screen at 0% then I get the “Unfortunately, AppName has Stopped”

This does not bode well. Anyone from Unity?

Have you entered your App’s BASE64_PUBLIC_KEY into the ‘GooglePlayDownloader.cs’ Script?

Yes I did

After some soul searching I decided that it is much safer to simply do a deep dive on my game’s assets and shrink the APK down to under 100MB. Its probably better for performance anyways to have smaller assets and I was not ready to take such a huge risk on this OBB plugin.

However this is a short term solution, soon I will want to ad more content to my game and I will face the same problem so I would appreciate any help, code, links to tutorials or even a simple confirmation that it still works in 2018.

Hi Ogien, did you manage to find a solution? Or did you go with a <100mb solution?

Avoiding using an OBB is a great solution, if you can make it. Try utilizing asset bundles for delivering additional assets and/or updates.

As an alternative, try using the new Android App Bundles https://developer.android.com/platform/technology/app-bundle/ (should be available in latest Unity 2017.4 too) - it’s a more optimized delivery mechanism, with potential to support more than 100Mb limit.

I have OBB loader in my older game and everything works. But now I need it for another game and OBB loader crashes with this screen: Looking for recources to download.

I waited a day to see if the OBB file just was not ready on Google’s end, but it just keeps crashing. I have done everything just like with the other app that works.

You wrote that “First the new version of my app now requires access to Call ID and Call History, definitely not good.”

My other game that uses the same OBB loader and actually works, gave me very serious warning. If I undersood correctly Google Play will remove all apps that access Call ID and Call History in March 9th!

There is an blog about it:

https://android-developers.googleblog.com/2019/01/reminder-smscall-log-policy-changes.html

“We’ll be removing apps from the Google Play Store that ask for SMS or Call Log permission and have not submitted a Permissions Declaration Form.”

So I quess all the apps that use OBB downloader will be removed soon from Google Play if the developer has not noticed this Permissions Declaration Form. I noticed it myself by accident, no notification from Google. Just this warning that I saw once on the console.

With App bundles now supported in Unity and a 500MB App Bundle Limit is this still an issue (unless your game is larger then 500MB)

It is an issue, yes. (and the 500mb apk thing hasn’t happened yet)

It has not happened yet? I was reading here: About Android App Bundles  |  Android Developers is this not true?

Did you not read the known issues section?

Well that sucks, what is the point of having the 500MB upload limit then :frowning:

It has happened but it is in an early roll out phase where you need to be whitelisted in order to gain approval for 500mb. You have to talk to your google play contact and they might be able to apply on your behalf to get you whitelisted.

  • Improved support for large apps: you can now upload large app bundles with installed APK sizes of up to 500MB without needing to use expansion files. This feature is in early access and we will roll it out to all developers in the future.
1 Like

it’s still not activated. I’ve tried an app bundle upload of 220mb and google rejected it because it was too large.