Building for Oculus Quest 2

I’m trying to prove that Cesium for Unreal works on a Quest 2, as an apk, not being streamed from the PC so to speak. Unreal did an expose on Cesium for Unreal a month ago, and there was a question specifically about Cesium for Unreal running the Oculus Quest. The speaker said it was possible. The video with the timestamp for the question is here.

I’m able to build VR applications from Unreal to the Quest 2, so I believe that my general android build settings in Unreal are correct to get something onto the quest. I am also able to build an Unreal project with Cesium and VR for desktop that works and streams the world data correctly, so I believe that it’s not a problem with Cesium in a build in a general sense. But when I try and run an apk with Cesium on the Quest 2, I just get a black screen.

I was wondering if there were any special settings Cesium requires order to get this to work on the Quest 2 as an .apk.

Thanks!

Hi @nbaja,

Great question. We are currently working on building Cesium for Unreal for the Android platform. Our progress is being tracked here: XR/Android Build issue with Cesium Unreal · Issue #190 · CesiumGS/cesium-unreal · GitHub

The main issue is that the Cesium for Unreal plugin is built on top of an external, engine-agnostic C++ library called Cesium Native, and there are seems to be some errors when compiling Cesium Native for the Android platform.

I would use the documentation in that issue as a starting point, and please let us know what you find by commenting on the issue. If you find a way to successfully compile, we would very much appreciate a pull request! I may have some time in the near future to look into this as well.

Ok, I was actually able to get it to compile. I recognize one of the errors that was posted on github, so I replied there. I hope things get moving again and we can figure this out.

1 Like

I am also currently attempting the same workflow - Unreal to Quest 2 via APK and getting the same black screen. When deploying the build directly to HMD from editor I can see the error log throws up this -

LogPlayLevel: Error: 07-28 22:49:16.604 10439 10468 D UE4 : [2021.07.28-21.49.16:604][132]LogHMD: Error: FOculusHMDModule::GetPluginWrapper().WaitToBeginFrame 1137 failed (-1003)

Has there been any updates to the Android workflow as yet?

I am checking out the unreal cesium support for quest 2. But I also get the black screen after building and launching. Have also tried to read and understand the comments on Add Android support (especially for XR applications) · Issue #190 · CesiumGS/cesium-unreal · GitHub without getting any further.

If quest 2 is working or supported a walkthrough of unreal settings would be very helpful.

Could be unrelated but I’ll chime in. I’m trying to run Cesium for Unreal on a samsung tab s7. As soon as I enable the cesium for unreal plugin the project still compiles to an apk successfully but the app won’t launch, it just sits on the Unreal Engine splash screen. This happens regardless if there’s no cesium actors added to the project or if there is.

@aslakjo

As a sanity check, could you try going through the steps in Building a VR App – Cesium?

@matthew.walker.amx The arm64 setting mentioned in the tutorial should be checked on non-VR android devices as well. Although I believe it will fail to compile unless checked.

thanks @xuelong, yes arm64 is checked. Will post to a new thread.