From ab8633badd7db29e45b0e479f0d95d8177ed902d Mon Sep 17 00:00:00 2001
From: Sebastian Pape <pape@vr.rwth-aachen.de>
Date: Fri, 3 Feb 2023 16:10:05 +0100
Subject: [PATCH] Merge branch 'fix/shipping-vr-launch' into '4.26'

Altering way of detecting IsHeadMountedMode()

See merge request vr-vis/VR-Group/unreal-development/plugins/rwth-vr-toolkit!18

(cherry picked from commit 69b50cf8ae25d364d7e8b64b012f32bde445b075)

1ea2dc24 Altering way of detecting IsHeadMountedMode()
---
 .../Private/Utility/VirtualRealityUtilities.cpp              | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
index aab4fa3d..91a7ca05 100644
--- a/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
+++ b/Source/RWTHVRToolkit/Private/Utility/VirtualRealityUtilities.cpp
@@ -13,6 +13,7 @@
 #include "Engine/Engine.h"
 #include "IXRTrackingSystem.h"
 #include "IHeadMountedDisplay.h"
+#include "AudioDevice.h"
 
 bool UVirtualRealityUtilities::IsDesktopMode()
 {
@@ -30,7 +31,9 @@ bool UVirtualRealityUtilities::IsRoomMountedMode()
 
 bool UVirtualRealityUtilities::IsHeadMountedMode()
 {
-	return GEngine->XRSystem.IsValid() && GEngine->XRSystem->IsHeadTrackingAllowed();
+	// In editor builds: checks for EdEngine->IsVRPreviewActive()
+	// In packaged builds: checks for `-vr` in commandline or bStartInVR in UGeneralProjectSettings
+	return FAudioDevice::CanUseVRAudioDevice();
 }
 
 bool UVirtualRealityUtilities::IsCave()
-- 
GitLab