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
- Made sure only Oculus is is selected in XR Plugin Management Android
- Ensured file permissions are set
- Changed switching between vulkan and OpenGLES3 graphics APIs
- Changed toggling development build on/off
- Ensured only Arm64 is selected under target arch
- Tried changing texture compression settings
- Ensured graphics jobs is turned off
- Made sure I’m using a high enough minimum API level (android 10, API level 29)
- Made sure I’m using IL2CPP
- Made sure my headset is in developer mode
- Changed the player setttings’ package name each build to confirm player settings changes are actually taking effect
- Tried on both Quest2 and Quest3, exact same results
- Tried changing my asmdef files to reference the Meta XR packages explicitly
- 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