UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
HeadMountedDisplayTypes.h File Reference
#include "Containers/Array.h"
#include "CoreMinimal.h"
#include "Delegates/Delegate.h"
#include "IMotionController.h"
#include "InputCoreTypes.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "Logging/LogCategory.h"
#include "Logging/LogMacros.h"
#include "Math/IntRect.h"
#include "Math/Quat.h"
#include "Math/UnrealMathSSE.h"
#include "Math/Vector.h"
#include "Math/Vector2D.h"
#include "Misc/Guid.h"
#include "RHI.h"
#include "RHIResources.h"
#include "Trace/Detail/Channel.h"
#include "UObject/NameTypes.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "HeadMountedDisplayTypes.generated.h"

Go to the source code of this file.

Classes

class  FHMDViewMesh
 
struct  FSpectatorScreenModeTexturePlusEyeLayout
 
class  UHandKeypointConversion
 
struct  FXRHMDData
 
struct  FXRMotionControllerState
 
struct  FXRHandTrackingState
 

Namespaces

namespace  EOrientPositionSelector
 
namespace  EHMDTrackingOrigin
 
namespace  EHMDWornState
 
namespace  EXRDeviceConnectionResult
 
namespace  EXRSystemFlags
 

Enumerations

enum  EOrientPositionSelector::Type : int { EOrientPositionSelector::UMETA =(DisplayName = "Orientation") , EOrientPositionSelector::UMETA =(DisplayName = "Orientation") , EOrientPositionSelector::UMETA =(DisplayName = "Orientation") }
 
enum  EHMDTrackingOrigin::Type : int {
  EHMDTrackingOrigin::UMETA =(ToolTip = "Previously sometimes used Eye space to query for the view transform, this space is fixed to the HMD, meaning that as the hmd moves this space moves relative to other spaces. This isn't used as a tracking origin.") , EHMDTrackingOrigin::UMETA =(ToolTip = "Previously sometimes used Eye space to query for the view transform, this space is fixed to the HMD, meaning that as the hmd moves this space moves relative to other spaces. This isn't used as a tracking origin.") , EHMDTrackingOrigin::UMETA =(ToolTip = "Previously sometimes used Eye space to query for the view transform, this space is fixed to the HMD, meaning that as the hmd moves this space moves relative to other spaces. This isn't used as a tracking origin.") , EHMDTrackingOrigin::UMETA =(ToolTip = "Previously sometimes used Eye space to query for the view transform, this space is fixed to the HMD, meaning that as the hmd moves this space moves relative to other spaces. This isn't used as a tracking origin.") ,
  EHMDTrackingOrigin::UMETA =(ToolTip = "Previously sometimes used Eye space to query for the view transform, this space is fixed to the HMD, meaning that as the hmd moves this space moves relative to other spaces. This isn't used as a tracking origin.")
}
 
enum  EHMDWornState::Type : int { EHMDWornState::UMETA =(DisplayName = "Unknown") , EHMDWornState::UMETA =(DisplayName = "Unknown") , EHMDWornState::UMETA =(DisplayName = "Unknown") }
 
enum  EXRDeviceConnectionResult::Type : int {
  EXRDeviceConnectionResult::NoTrackingSystem , EXRDeviceConnectionResult::FeatureNotSupported , EXRDeviceConnectionResult::NoValidViewport , EXRDeviceConnectionResult::MiscFailure ,
  EXRDeviceConnectionResult::Success
}
 
enum  EXRSystemFlags::Type : int {
  EXRSystemFlags::NoFlags = 0x00 UMETA(Hidden) , EXRSystemFlags::IsAR = 0x01 , EXRSystemFlags::IsTablet = 0x02 , EXRSystemFlags::IsHeadMounted = 0x04 ,
  EXRSystemFlags::SupportsHandTracking = 0x08
}
 
enum class  ESpectatorScreenMode : uint8 {
  UMETA =(DisplayName = "Disabled") , UMETA =(DisplayName = "SingleEyeLetterboxed") , UMETA =(DisplayName = "Undistorted") , UMETA =(DisplayName = "Distorted") ,
  UMETA =(DisplayName = "SingleEye") , UMETA =(DisplayName = "SingleEyeCroppedToFill") , UMETA =(DisplayName = "Texture") , UMETA =(DisplayName = "TexturePlusEye")
}
 
enum class  EXRTrackedDeviceType : uint8 {
  HeadMountedDisplay , Controller , TrackingReference , Tracker ,
  Other , Invalid = (uint8)-2 UMETA(Hidden) , Any = (uint8)-1
}
 
enum class  EHandKeypoint : uint8 {
  Palm , Wrist , ThumbMetacarpal , ThumbProximal ,
  ThumbDistal , ThumbTip , IndexMetacarpal , IndexProximal ,
  IndexIntermediate , IndexDistal , IndexTip , MiddleMetacarpal ,
  MiddleProximal , MiddleIntermediate , MiddleDistal , MiddleTip ,
  RingMetacarpal , RingProximal , RingIntermediate , RingDistal ,
  RingTip , LittleMetacarpal , LittleProximal , LittleIntermediate ,
  LittleDistal , LittleTip
}
 
enum class  EXRVisualType : uint8 { Controller , Hand }
 
enum class  EXRSpaceType : uint8 { UnrealWorldSpace , XRTrackingSpace }
 
enum class  EXRControllerPoseType : uint8 { Aim , Grip , Palm }
 

Functions

HEADMOUNTEDDISPLAY_API DECLARE_LOG_CATEGORY_EXTERN (LogHMD, Log, All)
 
HEADMOUNTEDDISPLAY_API DECLARE_LOG_CATEGORY_EXTERN (LogLoadingSplash, Log, All)
 

Variables

const uint8 ESpectatorScreenModeFirst = (uint8)ESpectatorScreenMode::Disabled
 
const uint8 ESpectatorScreenModeLast = (uint8)ESpectatorScreenMode::TexturePlusEye
 
const int32 EHandKeypointCount = static_cast<int32>(EHandKeypoint::LittleTip) + 1
 

Enumeration Type Documentation

◆ EHandKeypoint

enum class EHandKeypoint : uint8
strong

Transforms that are tracked on the hand. Matches the enums from WMR to make it a direct mapping

Enumerator
Palm 
Wrist 
ThumbMetacarpal 
ThumbProximal 
ThumbDistal 
ThumbTip 
IndexMetacarpal 
IndexProximal 
IndexIntermediate 
IndexDistal 
IndexTip 
MiddleMetacarpal 
MiddleProximal 
MiddleIntermediate 
MiddleDistal 
MiddleTip 
RingMetacarpal 
RingProximal 
RingIntermediate 
RingDistal 
RingTip 
LittleMetacarpal 
LittleProximal 
LittleIntermediate 
LittleDistal 
LittleTip 

◆ ESpectatorScreenMode

The Spectator Screen Mode controls what the non-vr video device displays on platforms that support one. Not all modes are universal. Modes SingleEyeCroppedToFill, Texture, and MirrorPlusTexture are supported on all. Disabled is supported on all except PSVR.

Enumerator
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 
UMETA 

◆ EXRControllerPoseType

Controllers, due to their various shapes, might have different natural usages.

Enumerator
Aim 
Grip 
Palm 

◆ EXRSpaceType

enum class EXRSpaceType : uint8
strong

Used to get unreal world space or tracking space positions in XR. Working only with unreal world space coordinates is almost always simpler and should be generally preferred. There are specific cases where raw XRTrackingSpace coordinates may be useful, particularly in apps where world scale is not 1:1 or where it changes.

Enumerator
UnrealWorldSpace 
XRTrackingSpace 

◆ EXRTrackedDeviceType

Enumerator
HeadMountedDisplay 

Represents a head mounted display

Controller 

Represents a controller

TrackingReference 

Represents a static tracking reference device, such as a Lighthouse or tracking camera

Tracker 

Represents trackers, such as a Vive tracker

Other 

Misc. device types, for future expansion

Invalid 

DeviceId is invalid

Any 

Pass to EnumerateTrackedDevices to get all devices regardless of type

◆ EXRVisualType

enum class EXRVisualType : uint8
strong
Enumerator
Controller 
Hand 

Function Documentation

◆ DECLARE_LOG_CATEGORY_EXTERN() [1/2]

HEADMOUNTEDDISPLAY_API DECLARE_LOG_CATEGORY_EXTERN ( LogHMD  ,
Log  ,
All   
)

◆ DECLARE_LOG_CATEGORY_EXTERN() [2/2]

HEADMOUNTEDDISPLAY_API DECLARE_LOG_CATEGORY_EXTERN ( LogLoadingSplash  ,
Log  ,
All   
)

Variable Documentation

◆ EHandKeypointCount

const int32 EHandKeypointCount = static_cast<int32>(EHandKeypoint::LittleTip) + 1

◆ ESpectatorScreenModeFirst

const uint8 ESpectatorScreenModeFirst = (uint8)ESpectatorScreenMode::Disabled

◆ ESpectatorScreenModeLast

const uint8 ESpectatorScreenModeLast = (uint8)ESpectatorScreenMode::TexturePlusEye