Navigation
API > API/Plugins > API/Plugins/OpenXRHMD
| Name | IOpenXRExtensionPlugin |
| Type | class |
| Header File | /Engine/Plugins/Runtime/OpenXR/Source/OpenXRHMD/Public/IOpenXRExtensionPlugin.h |
| Include Path | #include "IOpenXRExtensionPlugin.h" |
Syntax
class IOpenXRExtensionPlugin : public IModularFeature
Derived Classes
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~IOpenXRExtensionPlugin() |
IOpenXRExtensionPlugin.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AttachActionSets
(
TSet< XrActionSet >& OutActionSets |
Add any action sets provided by the plugin to be attached as active to the session This allows a plugin to manage a custom actionset that will be active in xrSyncActions | IOpenXRExtensionPlugin.h | |
virtual void BindExtensionPluginDelegates
(
IOpenXRExtensionPluginDelegates& OpenXRHMD |
IOpenXRExtensionPlugin.h | ||
virtual void GetActiveActionSetsForSync
(
TArray< XrActiveActionSet >& OutActiveSets |
Specify action sets to be included in XrActionsSyncInfo::activeActionSets. | IOpenXRExtensionPlugin.h | |
virtual bool GetControllerModel
(
XrInstance InInstance, |
Set the output parameters to provide a path to an asset in the plugin content folder that visualizes the controller in the hand represented by the user path. | IOpenXRExtensionPlugin.h | |
virtual void GetControllerModelsForCooking
(
TArray< FSoftObjectPath >& OutPaths |
Add all asset paths that need to be packaged for cooking. | IOpenXRExtensionPlugin.h | |
virtual IOpenXRCustomAnchorSupport * GetCustomAnchorSupport() |
Get custom anchor interface if provided by this extension. | IOpenXRExtensionPlugin.h | |
virtual IOpenXRCustomCaptureSupport * GetCustomCaptureSupport
(
const EARCaptureType CaptureType |
Get custom capture interface if provided by this extension. | IOpenXRExtensionPlugin.h | |
virtual bool GetCustomLoader
(
PFN_xrGetInstanceProcAddr* OutGetProcAddr |
Optionally use a custom loader (via GetInstanceProcAddr) for the OpenXR plugin. | IOpenXRExtensionPlugin.h | |
virtual FOpenXRRenderBridge * GetCustomRenderBridge
(
XrInstance InInstance |
Optionally provide a custom render bridge for the OpenXR plugin. | IOpenXRExtensionPlugin.h | |
virtual FString GetDisplayName() |
IOpenXRExtensionPlugin.h | ||
virtual bool GetInputKeyOverrides
(
TArray< FInputKeyOpenXRProperties >& OutOverrides |
Set the output parameter to explicitly define an interaction profile and path for the given key. | IOpenXRExtensionPlugin.h | |
virtual bool GetInteractionProfile
(
XrInstance InInstance, |
Set the output parameters to add an interaction profile to OpenXR Input | IOpenXRExtensionPlugin.h | |
| Set the output parameters to add multiple interaction profiles to OpenXR Input | IOpenXRExtensionPlugin.h | ||
virtual bool GetOptionalExtensions
(
TArray< const ANSICHAR* >& OutExtensions |
Fill the array with extensions optionally supported by the plugin If false is returned the plugin and its extensions will be ignored | IOpenXRExtensionPlugin.h | |
virtual bool GetRequiredExtensions
(
TArray< const ANSICHAR* >& OutExtensions |
Fill the array with extensions required by the plugin If false is returned the plugin and its extensions will be ignored | IOpenXRExtensionPlugin.h | |
virtual bool GetSpectatorScreenController
(
FHeadMountedDisplayBase* InHMDBase, |
Set a spectator screen controller specific to the platform If true is returned and OutSpectatorScreenController is nullptr, spectator screen will be disabled If false is returned a default spectator screen controller will be created | IOpenXRExtensionPlugin.h | |
virtual bool GetSuggestedBindings
(
XrPath InInteractionProfile, |
Set the output parameter to add suggested bindings to the given interaction profile. | IOpenXRExtensionPlugin.h | |
virtual bool InsertOpenXRAPILayer
(
PFN_xrGetInstanceProcAddr& InOutGetProcAddr |
Experimental: Optionally hand off the loader/plugin GetInstanceProcAddr to an extension plugin to support API layering. | IOpenXRExtensionPlugin.h | |
virtual bool IsStandaloneStereoOnlyDevice () |
Indicates that the device we're currently running does not support a spectator view. | IOpenXRExtensionPlugin.h | |
virtual const void * OnActionSetAttach
(
XrSessionActionSetsAttachInfo InAttachInfo, |
FOpenXRInputPlugin::FOpenXRInput::BuildActions. | IOpenXRExtensionPlugin.h | |
virtual const void * OnBeginDepthInfo
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnBeginFrame
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnBeginFrame_RHIThread
(
XrSession InSession, |
OpenXRHMD::OnBeginRendering_RHIThread. | IOpenXRExtensionPlugin.h | |
virtual const void * OnBeginProjectionView
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void OnBeginRendering_GameThread
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void OnBeginRendering_GameThread
(
XrSession InSession |
OpenXRHMD::OnBeginRendering_GameThread | IOpenXRExtensionPlugin.h | |
virtual void OnBeginRendering_RenderThread
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void OnBeginRendering_RenderThread
(
XrSession InSession |
OpenXRHMD::OnBeginRendering_RenderThread | IOpenXRExtensionPlugin.h | |
virtual void OnBeginRendering_RenderThread_PreDeviceLocationUpdate
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnBeginSession
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnCreateAction
(
XrActionCreateInfo InCreateInfo, |
FOpenXRInputPlugin::FOpenXRAction::FOpenXRAction. | IOpenXRExtensionPlugin.h | |
virtual const void * OnCreateActionSet
(
XrActionSetCreateInfo InCreateInfo, |
FOpenXRInputPlugin::FOpenXRActionSet::FOpenXRActionSet. | IOpenXRExtensionPlugin.h | |
virtual const void * OnCreateInstance
(
IOpenXRHMDModule* InModule, |
Callbacks with returned pointer added to next chain, do not return pointers to structs on the stack. | IOpenXRExtensionPlugin.h | |
virtual void OnCreateLayer
(
uint32 LayerId |
FOpenXRHMD::CreateLayer. | IOpenXRExtensionPlugin.h | |
virtual const void * OnCreateSession
(
XrInstance InInstance, |
IOpenXRExtensionPlugin.h | ||
virtual void OnDestroyLayer
(
uint32 LayerId |
FOpenXRHMD::DestroyLayer. | IOpenXRExtensionPlugin.h | |
virtual void OnDestroySession
(
XrSession InSession |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnEndFrame
(
XrSession InSession, |
FOpenXRRenderBridge::Present, RHI thread. | IOpenXRExtensionPlugin.h | |
virtual const void * OnEndProjectionLayer
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnEndProjectionLayer_RHIThread
(
XrSession InSession, |
FOpenXRHMD::OnFinishRendering_RHIThread. | IOpenXRExtensionPlugin.h | |
virtual void * OnEnumerateViewConfigurationViews
(
XrInstance InInstance, |
IOpenXRExtensionPlugin.h | ||
virtual void OnEvent
(
XrSession InSession, |
Use this callback to handle events that the OpenXR plugin doesn't handle itself | IOpenXRExtensionPlugin.h | |
virtual const void * OnGetSystem
(
XrInstance InInstance, |
IOpenXRExtensionPlugin.h | ||
virtual const void * OnLocateViews
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void OnPauseARSession() |
Stop the AR system but leave its internal state intact. | IOpenXRExtensionPlugin.h | |
virtual void OnSetDeviceProperty
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void OnSetLayerDesc
(
uint32 LayerId |
FOpenXRHMD::SetLayerDesc. | IOpenXRExtensionPlugin.h | |
virtual void OnSetupLayers_RenderThread
(
XrSession InSession, |
FOpenXRHMD::OnBeginRendering_RenderThread | IOpenXRExtensionPlugin.h | |
virtual void OnStartARSession
(
UARSessionConfig* SessionConfig |
Start the AR system. | IOpenXRExtensionPlugin.h | |
virtual void OnStopARSession() |
Stop the AR system and reset its internal state; this task must succeed. | IOpenXRExtensionPlugin.h | |
virtual const void * OnSuggestBindings
(
XrPath InteractionProfile, |
FOpenXRInputPlugin::FOpenXRInput::BuildActions. | IOpenXRExtensionPlugin.h | |
virtual const void * OnSyncActions
(
XrSession InSession, |
FOpenXRInput::Tick, game thread, setting up for xrSyncActions. This happens near the start of the game frame. | IOpenXRExtensionPlugin.h | |
virtual void * OnWaitFrame
(
XrSession InSession, |
OpenXRHMD::OnBeginSimulation_GameThread. | IOpenXRExtensionPlugin.h | |
virtual void PostBeginFrame_RHIThread
(
XrTime PredictedDisplayTime |
IOpenXRExtensionPlugin.h | ||
void PostCreateAction
(
XrAction InAction |
FOpenXRInputPlugin::FOpenXRAction::FOpenXRAction. | IOpenXRExtensionPlugin.h | |
void PostCreateActionSet
(
XrActionSet InActionSet |
FOpenXRInputPlugin::FOpenXRActionSet::FOpenXRActionSet. | IOpenXRExtensionPlugin.h | |
virtual void PostCreateInstance
(
XrInstance InInstance |
IOpenXRExtensionPlugin.h | ||
virtual void PostCreateSession
(
XrSession InSession |
IOpenXRExtensionPlugin.h | ||
virtual void PostGetSystem
(
XrInstance InInstance, |
IOpenXRExtensionPlugin.h | ||
virtual void PostSyncActions
(
XrSession InSession |
FOpenXRInput::Tick, game thread, after xrSyncActions. | IOpenXRExtensionPlugin.h | |
| Register module as an extension on startup. | IOpenXRExtensionPlugin.h | ||
virtual bool RequiresRHIContext () |
If true pass the rhi context into some xr functions via XrRHIContextEpic. | IOpenXRExtensionPlugin.h | |
void UnregisterOpenXRExtensionModularFeature() |
IOpenXRExtensionPlugin.h | ||
virtual void UpdateCompositionLayers
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void UpdateCompositionLayers
(
XrSession InSession, |
FOpenXRHMD::OnFinishRendering_RHIThread | IOpenXRExtensionPlugin.h | |
virtual void UpdateCompositionLayers_RHIThread
(
XrSession InSession, |
IOpenXRExtensionPlugin.h | ||
virtual void UpdateDeviceLocations
(
XrSession InSession, |
OpenXRHMD::OnStartGameFrame. | IOpenXRExtensionPlugin.h | |
virtual bool UseCustomReferenceSpaceType
(
XrReferenceSpaceType& OutReferenceSpaceType |
Update OpenXRHMD to use reference space types other than view, local, and stage. | IOpenXRExtensionPlugin.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FName GetModularFeatureName() |
IOpenXRExtensionPlugin.h |