Hi,
I have recently been tasked with testing the newly released VIVEOpenXR for building a standalone game in UE5.2. Unfortunately, I have come up against a few issues.
Link to the sample project and plugin: Download: OpenXR for Mobile - Developer Resources
I have followed the VIVE installation guide: VIVE OpenXR Plugin installation - Developer Resources
I can build completely fine, as well as load the build onto the headset. The issue I am having is when I run the game on the headset. It crashes on start up. It loads but stays black then immediately takes me back to the home screen on the headset.
I have tried my own project, the sample project given by VIVE for this plugin specifically as well as Unreal Engines VR template project. Oculus works perfectly fine, its just VIVE im having the issue with.
I can play perfectly fine in editor (with vive connected) when I press “VR Preview”, interactions work etc, but if I try to play in the standalone application mode, it practically freezes and sends my CPU to 100% usage.
The errors I get after looking at the logs are as follows:
[2023.08.22-12.48.33:261][ 0]LogOutputDevice: Error: Ensure condition failed: ((Result) >= 0) [File:./../Plugins/Runtime/OpenXR/Source/OpenXRInput/Private/OpenXRInput.cpp] [Line: 455]
[2023.08.22-12.48.33:261][ 0]LogOutputDevice: Error: OpenXR call failed with result XR_ERROR_PATH_UNSUPPORTED
[2023.08.22-12.48.33:261][ 0]LogOutputDevice: Error: Stack:
then followed by another error output in the same log
[2023.08.22-12.48.33:558][ 3]LogOutputDevice: Error: Ensure condition failed: ((Result) >= 0) [File:./../Plugins/Runtime/OpenXR/Source/OpenXRHMD/Private/OpenXRHMD.cpp] [Line: 3357]
[2023.08.22-12.48.33:558][ 3]LogOutputDevice: Error: OpenXR call failed with result XR_ERROR_LAYER_INVALID
[2023.08.22-12.48.33:558][ 3]LogOutputDevice: Error: Stack:
[2023.08.22-12.48.33:558][ 3]LogOutputDevice: Error: [Callstack] 0x0000007649CAAB54 libUnreal.so(0x000000000AFD8B54)!FOpenXRHMD::OnFinishRendering_RHIThread() []
[2023.08.22-12.48.33:558][ 3]LogOutputDevice: Error: [Callstack] 0x0000007649CB3C10 libUnreal.so(0x000000000AFE1C10)!FOpenXRRenderBridge::Present(int&) []
[2023.08.22-12.48.33:558][ 3]LogOutputDevice: Error: [Callstack] 0x000000764C45EA78 libUnreal.so(0x000000000D78CA78)!FVulkanViewport::Present(FVulkanCommandListContext*, FVulkanCmdBuffer*, FVulkanQueue*, FVulkanQueue*, bool) []
The next thing I tried was removing the Oculus packaging settings for the Oculus devices.
This got me a little further, the build no longer crashed on start up but instead would start in the level, each eye was backwards and upside down, no movement and to get back to the headset menu, I had to hold the button down for around 20 seconds.
The log for that run showed no issues other than this:
[ 0]LogHMD: OpenXRHMDModule: vr.DisableOpenXROnAndroidWithoutOculus is true and this project is not packaged for Oculus Mobile Devices. Disabling OpenXR.
I’ve looked through the .ini files of the project and the engine but couldn’t find anything there regarding oculus or openxr.
I found where that log is printing from:
C:\Program Files\Epic Games\UE_5.2\Engine\Plugins\Runtime\OpenXR\Source\OpenXRHMD\Private
I’ve also tried launching to the headset, same things occurring.
Not sure what to try from here to get this working. Not sure if its just settings or something else.
Thanks for any help in advance, will probably also make a post on this on the VIVE forums