UE5.3 & Android VR Nightmare

Android is always a massive pain compared to iOS with all the version of SDK’s & NDK’s which unlike Xcode where you just basically install the newest version and make the game backwards compatible if you choose.

I have spent two entire days trying to get UE5.3 to work with my Meta Quest 2 and I’m not some newbie, I’ve been around Android since v1.0. It is beyond ridiculous youcan’t just install one unified system with the appropriate Java, Visual Studio, SDK & NDK that just works. I don’t even have a problem installing different packages on the Command Line. There should be a current set of instructions from Epic that works under Windows 10 or Windows 11 that says install this that and the other and it WORKS.

I give up, I’m going to use Unity for VR. This makes no sense whatsoever.

2 Likes

Gotta use Meta’s fork of UE5.2 if you are developing for Meta Quest 2 (they haven’t released 5.3 fork yet).

It’s been building since Friday.

Hi all,

Since Friday?! You may be setting a world record for compile time!

I’ve struggled with Android too, once I can open up a command prompt and type ‘adb’ I know I’m over half-way there. :wink:

The docs for setup should be kept up to date.

Also, in an attempt to keep this meme alive - I will repost it here:

packageforandroid

1 Like

wow i also struggle on the same topic, since yesterday -
5.0 2 years ago I could compile and run the demo VR projects off the bat …

… NOT with 5.3 around:

  1. Android Studio had to be updated to 4.0 or better, got Giraffe(!?)
  2. java was no go, installed newest, said no go, had to find 17
  3. on deployment (!!!) Gradle decides it cant work with file versions 65 although it is 7.5

(there was a VAGUE hint one should compile a project with newer Gradle to get the clockwork oiled, but… NONE of the demo projects work - same problem)

Highly frustrated (aha, my old project from 5.0 failed MISERABLY to update to 5.3)

so i have to rest a bit & wait here if anyone tamed the wild gradles around hmhm

====================================================
Update: default java installed is 21, which has no compatible Gradle.
One has to downgrade e.g. to java 18 + Gradle 7.5 in order for Unity to work…

I had ‘great success’ packaging for the Quest2 in 5.2 using these settings:

Had no need for the Oculus build.

Just reminds me why I hate anything to do with Android. Apple’s iOS ecosystem may be dictatorial but the ■■■■ thing works.

I am now at the point of trying to use UE5.3 on Meta Quest Pro.

NOT EVEN the demo projects for collaborative viewer (Architecture), which compiles and runs for win PC will start on Pro. (I managed to compile it and deploy after a marathon tool zig zag, last of the steps was that it said Visual studio 2022 17.3 cannot do it, bu ti need 17.4 of the same… )

BUT THE .APK opens up black on black and nothing shows in the Meta Pro at all???

Not sure how or why do ppl at UE deploy DEMO examples that do not work, I spent my dev career in Germany, so this is strange to me…

Hello Ulthein,

The collaborative viewer template can work on Quest, but it is not officially supported. (So Epic QA is not testing it on the Quest)

One thing to check with the template: Make sure ‘Start in VR’ is enabled in the Project Settings.

1 Like

yes, thank you - quite unexpected that when one chooses build on Meta, it does not tick itself off (semi pun intended :stuck_out_tongue: )

There probably lurk another 500 similar “handy” traps around …

1 Like

Well in the dev chain, I never understood (i.e. was neither intuitive nor pointed out)

How or WHY do i have to have a Meta Quest device connected to a PC in order to BUILD the .apk for it… Other build platforms are offered off the bat, that is, PC or plain Android i can choose from the list, but the Meta Platform appears ONLY if the device is connected AND TURNED ON for god’s sake…

Additionally, after it builds then, it deploys and runs the app - which in MOST CASES is at 2 FPS and a fully black screen on the Meta Pro device one cannot get out of by pressing the Oculus button (!?)

So i have to cancel the deploy/run button, and the .apk then runs np from installs on the device… hmhm

So - pray tell - how does one ONLY build .apk for Meta (deploy drop i can do myself)?

I feel the same way bro…

Been hunting sdk ndk combinations that works with unreal 5.3 for days now.

Let me know if you got ones that works.

You can build an APK for quest without having the device plugged in.

You just package the project for android (Platforms → Android → Package Project). Make sure the project setting to store the game’s data in the APK is set to true (to prevent a separate OBB file). Once it’s done packaging you’ll have an APK file that you can distribute however you want to. No need to plug in a quest for that process. I can send a screen recording of how to do it if you like. It’s quite quick.

You can use a separate OBB file on Quest but the installation method is a little different than just dragging & dropping the APK - so that might be the issue you’re running into if you’re not packaging the game’s data in the APK itself.

Sorting out the SDK, NDK, JRE, & Android Studio on the other hand so that the app starts correctly (no endless 3 dots, no black screen hangs, etc)… That is a different pain. I’ve found that most of the time when I have woes on startup it’s either caused by something being wrong in the android setup, or something being wrong in the project settings.

The runtime errors that get thrown when one of those things go wrong are unfortunately very little help. The error handling is often super vague & unclear, and the docs aren’t much help either. They’re either not truly up-to-date or they don’t sufficiently explain all the tiny ways things can go wrong & their common fixes.

1 Like

The android setup for Unreal Engine has single handedly caused me to switch more projects to other engines than any other issue I’ve faced when developing for standalone VR. Probably a half-dozen projects at this point over the last couple years. It’s a truly awful system. Unity is a simple tick-box on install & then you’re good to go. Unreal is a multi-day debugging headache to troubleshoot everything from long directory structures to whitespace in file names to dozens of independent system versions.

1 Like

I have a project on Meta Quest App Lab that was built on Unreal Engine 4.27.2. I was forced to upgrade to Unreal 5 when Meta demanded the project must target sdk32. I have been effectively dead in the water for a month now. I can NOT get my project to launch on the Quest. It will package successfully and play in editor fine but it either loads black screen forever or unexpectedly quits when I launch program. I am about 40-50 trouble shooting hours into this. The beginning of the end is settling in, I can’t spend much more of my life digging through android settings, project settings and elusive packaging errors that aren’t related to my code.

I’d just stay on 4.27 if I could. Meta won’t accept 4.27 builds that work (Because they are sdk29) but WILL accept 5.2 builds (targeting sdk32) that don’t even launch. It’s insane. A 5/5 star rated app is being left to die because I can’t get the ■■■■■■ thing to launch anymore.

Coming from Unity background, but have dabbled with Unreal a bit and recently picked up Quest 3 after owning Quest 2 I decided to steam ahead continue learning Unreal and play with some VR / MR.
Creating a project using the VR template, hooking up the headset to PC worked fine in the Unreal editor. But oh man was I in for some “fun” trying to package the simle VR project to Quest 2/3.
Very few good tutorials out there, and what is out there is for older Unity versions or targeting more Android instead of Quest 2/3.
I was hoping to use the nice features of Unreal 5.3, nope Meta SDK 57 only works on 5.2.
Glad I found that before making much changes to the VR project.
And as for the hoops you have to jump through. Installing a ancient version of Android Studio, the right SDKs + commandline tools, searching for Java and the right version of NDK. Installing Visual Studio 2022.
As for the documentation that didn’t work either.
I finally managed to get it working after couple evenings and watching various YT videos cribing things to try and got a build that worked on both Quest 2 and Quest 3.
Unreal and Meta really need to sort out the process, it’s bad. I almost felt like giving up and going back to Unity, but love the power that Unreal brings.
Although Unity isn’t much better, I have after spend the past few days with similar issues.
Getting the right SDK’s / NDK’s in order to deploy to App Lab.

3 Likes

Same position here, Lee!

As a professional dev all my life I cant understand how/why does Meta not support their flagship direction better by hammering out details that VR developers need in UE5.3

Fascinating that they spend millions on hardware, but where is software ? Bleh

Hi Lee, hope you can help me out. I recently bought Meta Quest 3, never owned a VR headset before, I was just wondering how you managed to get it to work of Quest 3. Thanks a lot

2 Likes

Hi Lee, I couldn’t agree more. For such a well resourced company (Meta) who are genuinely trying to push VR as far into mainstream as they can, it boggles the mind why they wouldn’t invest in some developer support documentation that clearly explains how to use Unreal Engine with their new Quest 3 headset. Do they not want more games being developed for their system? In any case, if you could possibly share your project details with some of use, that would be just incredible. (i.e. What specific Unreal Engine version, Android Studio version, also SDK and NDK details, and perhaps your project settings in UE for rendering and Android?) Many thanks for any advice you can provide, we’d sure appreciate it. I actually managed to get UE5.2 working briefly, but when I launched the project to my quest 3, all of the VR template project objects were colored green for some reason. The game worked perfectly, with the guns firing those balls etc. But yeah, everything was colored in this ‘green’ overlay.

You don’t really think someone would actually help someone else here do you?