The OBB file was added to the Google Play Console version accordingly as an expansion file. I can see the difference when downloading the app from google play (it goes from 50mb without it, to 300mb with it).
I have found a way around this issue, is not the perfect solution but it might work for you, depending on your game.
I have had the same issues when trying to upload to Google Play.
and getting no.OBB Key Found.
My. APK file was 45MB and the.OBB 125MB
After discovering that Google Play has an application size of 100MB, I thought that maybe the error was coming because my .apk + .obb file was exceeding 100Mb
This is how I solved this issue
I had to go into my game and optimize every single texture I could, and deleting unnecessary animations, audio, and other assets.
I have used Texture size : 256px X 256px and for phone I think it looks great.
I also had to check the settings
Package game data inside the .apk? (true)
I was able to export a 99.6MB .apk file and then I uploaded it to Google Play.This had fixed the OBB Key Not Found for me. I was able to download the game from the store and play it perfectly.
Other Settings to help with Optimization
Package Settings-> Create Compressed cooked packages (true)
Android-> Force small OBB Files (true)
I have tried exporting the game without the game data inside the .apk and even both files not exceeding 100MB I could not make it work on Google Play.
Therefore I would recommend having the settings,
Package game data inside the .apk? (true)
Of course, feel free to test with different settings.
If anyone finds a better alternative please share here, as I think this error could be from something else.
Just sharing what has worked for me.
Hey mate merry Christmas, thanks for taking the time to write that. I actually found a solution. Kinda. I could not reduce my game bellow 100mb no matter what I did. I did 3 things to fix this error. Updated to ue 4.26, deleted intermidien-> android folder in the project folder and sadly I had to generate a new keystore. If you create a new keystore you can either request play console to change it(I think you can only do it once) or create new app which is pain in the ■■■. But I am 90% sure it was from the keystore. Anyways this is how I fixed it. Hope it helps someone.
After looking into Unreal source code I noticed that the error does not depend on google play store key at all!
It actually depends on the way UE4 looks for OBB file location(s) on the phone and it’s either bug in Install_XXX-armv7.bat file or bug in UE4 code (still present in 4.26).
My Android phone (Huawei P10) has sd-card and also had install preference “sd card” in storage settings in phone settings.
UE4 code uses Environment.getExternalStorageDirectory() API to check OBB presence and it correctly looks for OBB file on actual sd card, but Install_XXX-armv7.bat always installs OBB file into internal memory (at least in my case).
So for me the simple fix was to SET PREFERRED INSTALL LOCATION TO “INTERNAL MEMORY” IN PHONE SETTINGS. After that Environment.getExternalStorageDirectory() returns the exact same path Install_XXX-armv7.bat installs OBB to and everything works fine. That’s enough for testing, but requires some more research for shipping and publishing builds.
I suppose that in real life, player will install the game through Google Play and Google Play will install OBB into the correct location (I have yet to check this). But overal the current UE4 approach seems a bit unreliable - if player changes install preference settings between internal storage/sd card any installed UE4 game might stop working and/or will start re-downloading OBB into new location.
I was having trouble as well and found that I had some vestigial data from a development build that was causing issues. Deleting the cache and storage of any existing version before uninstalling and reinstalling from the play store worked for me in this case.
I have the same issue (UE 4.27.1, NDK 23.0.7123448, jdk1.8.0_281; Android 11) and it is not consistent. If I keep making new builds it will eventually either work or display the error message. Also, the build that works will consistently work and the build that does not work will consistently not work.