Can't find OBB when downloaded from Play Store on some devices (4.3.1)

This issue has been covered many times in the past, but we’re experiencing it with the app we just released to the play store (Jetpack Cat).

Some devices (Nexus 4, Samsung Galaxy S3) will clearly download the apk and obb file when installing from the Play Store, but it will hang at the end of the first scene because it won’t be able to find the obb (“Level ‘1’ couldn’t be loaded because it has not been added to the build settings” in logcat). According to a post by eriQue in this topic, it seems that if you’re using 4.x, the obb downloader from the Asset Store shouldn’t be necessary. Plus, it’s obvious by the amount being downloaded that the device is clearly retrieving the obb correctly. The only other solution I can find is that we need to rename the build files (both the apk and the obb) to use this format:

main.<version>.com.<companyName>.<packageName>

I’ve ensured that the bundle identifier, version, package name, etc are the same in Unity’s settings as they are in AndroidManifest.xml, along with following the naming convention above, but the issue still seems to persist. Can anyone shed some light on this?

Is it possible that this has something to do with storage location? The game has this issue when the installLocation is set to both auto and preferExternal in AndroidManifest.xml.

Try either of these two things…

In Player Settings, change the Install location to Force Internal and Write access to Internal only

To get it working with external access (i.e file read and write), I would suggest try adding the android.permission.WRITE_EXTERNAL_STORAGE permission to your Android manifest. (Although I haven’t confirmed if this works). But my guess is if you don’t have this permission, and because the files being accessed were in the OBB in External storage (default player setting), they weren’t found.