APK wont run in Quest (stuck on 3 dots loading screen)

Yes, I know, it’s another one of those posts. I’ve scoured through the others and tried all the fixes I can find, but no joy. When I build my APK, it builds successfully, when I sideload it to the Quest and try and launch it, I just get a black screen, with the three loading dots. I’m using the Meta XR SDK, Unity 6.0.23

Things I’ve tried so far

  1. Made sure only Oculus is is selected in XR Plugin Management Android
  2. Ensured file permissions are set
  3. Changed switching between vulkan and OpenGLES3 graphics APIs
  4. Changed toggling development build on/off
  5. Ensured only Arm64 is selected under target arch
  6. Tried changing texture compression settings
  7. Ensured graphics jobs is turned off
  8. Made sure I’m using a high enough minimum API level (android 10, API level 29)
  9. Made sure I’m using IL2CPP
  10. Made sure my headset is in developer mode
  11. Changed the player setttings’ package name each build to confirm player settings changes are actually taking effect
  12. Tried on both Quest2 and Quest3, exact same results
  13. Tried changing my asmdef files to reference the Meta XR packages explicitly
  14. Printing out the unity logo, laying it on the floor surrounded by candles, and sacrificing a small goat

Interestingly, my app doesn’t seem to even generate a playerlog, so I can’t see debug info (it does however seem to be able to execute some of my application code, as I can see a directory has popped up that my code creates, don’t know how that happens without there being a player log)

I’ve dug around in the logcat and not found anything that I know what to do with, I’ve attached the file, “VE2Test17” is the name of my application (“17” as in “17 tries at building this bloody thing”)

logcat.txt (786.4 KB)

Anyone have any ideas? Anything I may have missed? I had another problem before this where the app wouldn’t even try to start, I fixed that by changing “application entry point” to “GameActivity” only, which at least got me as far as the three loading dots… don’t know if that’s related at all, don’t think so

If anyone has any thoughts, please share!

Cheers,
Fred

Edit - Update:

Right, I have it working very inconsistently, - I disabled the old input system and left only the new one enabled. I knew I’d need to do this eventually, but wasn’t expecting it to stop the whole thing from running! This let me get a successful build… but when I rebuild, without changing a single thing (confirming in git log) my APK goes back to the same 3 loading dots issue.

The only thing that changes in my git is UniversalRenderPipelineGlobalSettings.Asset, I guess Unity is changing this itself. I tried discarding changes to this file and rebuilding, and I was able to get another successful build, but after building again (and another 5 times, discarding URP changes each time) the builds have gone back to not working again. Why on earth is it so flakey?

Eidt - Update 2

I’ve swapped from using a custom build profile to using the built in ones, and changing the player settings in project settings rather than the build profile itself, seems to work now, at least, I’ve done 5 builds consecutively that all seem to work. I guess this is just a bug on Unity’s end? Seems like it’s being flakey with where it’s drawing its player settings from. Super frustrating, but at least a fix has been found!

Edit - Update 3

Got into work today to load the exact same APK I had working on my Quest3 last night onto my Quest 2… and back to the infinite load screen. Still not creating a player log. Have tried changing android API version and graphics API, still nothing. My colleagues can’t get my apk running on their quest 3s either, seems to just be my own quest 3 at home.

Must admit, I’m getting really tired of this. I’ve lost about 15 hours of dev time now just trying to get a build working on the headset, pretty disappointed this process isn’t far more straightforward, I’ve been following the official docs for the Meta XR SDK… it really shouldn’t be this much of a battle.

I’m going to try OpenXR for Meta instead of Meta XR, see if that gives me any less trouble

Have you let the oculus SDK generate an oculus store compatible AndroidManifest.xml file for you?

(Menu item is Oculus > Tools > Create store-compatible AndroidManifest.xml)

Ah yes had tried that too, sorry, had lost track of all the many attempts! I’m now trying with a completely fresh project, just a blank scene with a camera rig, having the exact same issue… Although haven’t worked through all the fixes yet, will report back

Still having a nightmare with this, see updates to first post

Can you try Android minimum at Android 12L?
And do you have the Meta SDK installed?
If so update it and see if the all the verifications pass for Android.

Also updating to the latest Unity 6 could be helpful.
Deleting the Library folder with the project closed also could be helpful to fully reset the project cache