Summary
I am working on a PCVR application in Unreal Engine 5.4 using MetaXR and Quest headsets (Quest 2, Pro and 3).
The application should have and option to freely move from traditional desktop mode to PCVR mode on a button trigger (keyboard or UI).
The main project contains a lot of code so I created a dummy project with only basic VR Pawn setup and done some testing there. Unfortunately, Unreal Engine behaves the same in both projects. No matter what plugins are enabled. The crashing is exactly the same even in packaged application.
Important detail is that both projects use blueprints only and the main project uses multiple plugins while dummy project only uses MetaXR plugin.
Following is more detailed description of the latest testing.
Dummy app consists of an empty template open world map with only VR tracking player pawn (HMD attached camera and MotionController components).
Order of events (in editor):
- Pressed play in VR Preview → App started in VR mode (HMD enabled)
- Pressed DebugKeyTab which calls EnableHMD function where bool parameter is set through FlipFlop → function called with parameter true
- Pressed DebugKeyTab again → EnableHMD function called with parameter false → HMD got disabled, Meta Quest 2 headset returned to Quest Link home and app now runs in dekstop mode normally
- Pressed DebugKeyTab again → EnableHMD function called with parameter true → application froze and consequently crashed
Tried fixes:
Changing MetaXR plugin version, disabling DLSS plugins, Moving to higher Unreal version, Changing between DirectX11 and DirectX12, updating graphics drivers, Reinstalling Meta Quest Link App, Tried Different headset, Tried using cable instead of AirLink, Tried openning project with Meta branch of Unreal Engine
No attempted fixes work.
Please select what you are reporting on:
Creative
What Type of Bug are you experiencing?
Stability
Steps to Reproduce
Create empty UE 5.4 project
Enable MetaXR Plugin
In LevelBlueprint, create simple logic for calling EnableHMD function with different bool values.
Play in VR Preview mode
Cycle between VR and desktop mode by repeatedly calling EnableHMD with different parameter values
Expected Result
Application should be seamlessly switching between desktop and VR mode without crashing. In headset, you should be switching between the default Meta Quest Link home and the Unreal Engine application
Observed Result
Upon entering VR mode for the second time, the application crashes.
Platform(s)
Windows 11, Windows 10