UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IHeadMountedDisplayModule.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
10
11//#include "IHeadMountedDisplayVulkanExtensions.h"
14
19{
20public:
22 {
23 static FName HMDFeatureName = FName(TEXT("HMD"));
24 return HMDFeatureName;
25 }
26
28 virtual FString GetModuleKeyName() const = 0;
31
33 float GetModulePriority() const
34 {
37
38 FString DefaultName = GetModuleKeyName();
39 if (DefaultName.IsEmpty())
40 {
41 ModuleAliases.Add(TEXT("Default"));
42 }
43 else
44 {
45 // Search for aliases first. This favors old module names, and ensures
46 // that overrides in project specific ini files get found (not just the one in BaseEngine.ini)
47 ModuleAliases.Add(DefaultName);
48 }
49
50 float ModulePriority = 0.f;
51 for (const FString& KeyName : ModuleAliases)
52 {
53 if (GConfig->GetFloat(TEXT("HMDPluginPriority"), *KeyName, ModulePriority, GEngineIni))
54 {
55 break;
56 }
57 }
58 return ModulePriority;
59 }
60
63 {
65 {
66 return A.GetModulePriority() > B.GetModulePriority();
67 }
68 };
69
82
93
97 virtual void StartupModule() override
98 {
100 }
101
105 virtual bool PreInit() { return true; }
106
110 virtual bool IsHMDConnected() { return false; }
111
121 {
122#if PLATFORM_MAC
123 return (uint64)-1;
124#else
125 return 0;
126#endif
127 }
128
132 virtual FString GetAudioInputDevice() { return FString(); }
133
137 virtual FString GetAudioOutputDevice() { return FString(); }
138
142 virtual FString GetDeviceSystemName() { return FString(); }
143
150
156
161 virtual bool IsStandaloneStereoOnlyDevice() { return false; }
162};
#define check(expr)
Definition AssertionMacros.h:314
FString GEngineIni
Definition CoreGlobals.cpp:237
FConfigCacheIni * GConfig
Definition CoreGlobals.cpp:54
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
CORE_API bool IsInGameThread()
Definition ThreadingBase.cpp:185
CORE_API bool GetFloat(const TCHAR *Section, const TCHAR *Key, float &Value, const FString &Filename)
Definition ConfigCacheIni.cpp:5122
Definition NameTypes.h:617
Definition IHeadMountedDisplayModule.h:19
static IHeadMountedDisplayModule & Get()
Definition IHeadMountedDisplayModule.h:75
virtual void GetModuleAliases(TArray< FString > &AliasesOut) const
Definition IHeadMountedDisplayModule.h:30
virtual FString GetModuleKeyName() const =0
static bool IsAvailable()
Definition IHeadMountedDisplayModule.h:88
virtual FString GetDeviceSystemName()
Definition IHeadMountedDisplayModule.h:142
virtual FString GetAudioInputDevice()
Definition IHeadMountedDisplayModule.h:132
virtual bool IsStandaloneStereoOnlyDevice()
Definition IHeadMountedDisplayModule.h:161
float GetModulePriority() const
Definition IHeadMountedDisplayModule.h:33
virtual TSharedPtr< class IXRTrackingSystem, ESPMode::ThreadSafe > CreateTrackingSystem()=0
virtual TSharedPtr< IHeadMountedDisplayVulkanExtensions, ESPMode::ThreadSafe > GetVulkanExtensions()
Definition IHeadMountedDisplayModule.h:155
static FName GetModularFeatureName()
Definition IHeadMountedDisplayModule.h:21
virtual bool IsHMDConnected()
Definition IHeadMountedDisplayModule.h:110
virtual FString GetAudioOutputDevice()
Definition IHeadMountedDisplayModule.h:137
virtual void StartupModule() override
Definition IHeadMountedDisplayModule.h:97
virtual uint64 GetGraphicsAdapterLuid()
Definition IHeadMountedDisplayModule.h:120
virtual bool PreInit()
Definition IHeadMountedDisplayModule.h:105
Definition IHeadMountedDisplayVulkanExtensions.h:13
Definition IModularFeature.h:12
virtual void RegisterModularFeature(const FName Type, class IModularFeature *ModularFeature)=0
static CORE_API IModularFeatures & Get()
Definition ModularFeatures.cpp:9
TArray< TModularFeature * > GetModularFeatureImplementations(const FName Type)
Definition IModularFeatures.h:68
bool IsModularFeatureAvailable(const FName Type)
Definition IModularFeatures.h:39
Definition ModuleInterface.h:14
Definition IXRTrackingSystem.h:47
Definition Array.h:670
Definition IHeadMountedDisplayModule.h:63
bool operator()(IHeadMountedDisplayModule &A, IHeadMountedDisplayModule &B) const
Definition IHeadMountedDisplayModule.h:64