Navigation
API > API/Plugins > API/Plugins/OpenXRHMD
Inheritance Hierarchy
- IModularFeature
- IOpenXRExtensionPlugin
- FOpenXRMsftHandInteraction
References
| Module | OpenXRHMD |
| Header | /Engine/Plugins/Runtime/OpenXR/Source/OpenXRHMD/Public/IOpenXRExtensionPlugin.h |
| Include | #include "IOpenXRExtensionPlugin.h" |
Syntax
class IOpenXRExtensionPlugin : public IModularFeature
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| 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 | |
| void | BindExtensionPluginDelegates
(
IOpenXRExtensionPluginDelegates& OpenXRHMD |
||
| void | GetActiveActionSetsForSync
(
TArray< XrActiveActionSet >& OutActiveSets |
Specify action sets to be included in XrActionsSyncInfo::activeActionSets. | |
| 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. | |
| void | GetControllerModelsForCooking
(
TArray< FSoftObjectPath >& OutPaths |
Add all asset paths that need to be packaged for cooking. | |
| IOpenXRCustomAnchorSupport * | Get custom anchor interface if provided by this extension. | ||
| IOpenXRCustomCaptureSupport * | GetCustomCaptureSupport
(
const EARCaptureType CaptureType |
Get custom capture interface if provided by this extension. | |
| bool | GetCustomLoader
(
PFN_xrGetInstanceProcAddr* OutGetProcAddr |
Optionally use a custom loader (via GetInstanceProcAddr) for the OpenXR plugin. | |
| FOpenXRRenderBridge * | GetCustomRenderBridge
(
XrInstance InInstance |
Optionally provide a custom render bridge for the OpenXR plugin. | |
| FString | |||
| bool | GetInteractionProfile
(
XrInstance InInstance, |
Set the output parameters to add an interaction profile to OpenXR Input | |
| FName | |||
| 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 | |
| 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 | |
| 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 | |
| bool | InsertOpenXRAPILayer
(
PFN_xrGetInstanceProcAddr& InOutGetProcAddr |
Experimental: Optionally hand off the loader/plugin GetInstanceProcAddr to an extension plugin to support API layering. | |
| bool | Indicates that the device we're currently running does not support a spectator view. | ||
| const void * | OnBeginDepthInfo
(
XrSession InSession, |
||
| const void * | OnBeginFrame
(
XrSession InSession, |
OpenXRHMD::OnBeginRendering_RHIThread. | |
| const void * | OnBeginProjectionView
(
XrSession InSession, |
||
| void | OnBeginRendering_RenderThread
(
XrSession InSession |
OpenXRHMD::OnBeginRendering_RenderThread. | |
| const void * | OnBeginSession
(
XrSession InSession, |
||
| const void * | OnCreateInstance
(
IOpenXRHMDModule* InModule, |
Callbacks with returned pointer added to next chain, do not return pointers to structs on the stack. | |
| const void * | OnCreateSession
(
XrInstance InInstance, |
||
| void | OnDestroySession
(
XrSession InSession |
||
| const void * | OnEndFrame
(
XrSession InSession, |
FOpenXRRenderBridge::Present, RHI thread. | |
| const void * | OnEndProjectionLayer
(
XrSession InSession, |
||
| void * | OnEnumerateViewConfigurationViews
(
XrInstance InInstance, |
||
| void | OnEvent
(
XrSession InSession, |
Use this callback to handle events that the OpenXR plugin doesn't handle itself | |
| const void * | OnGetSystem
(
XrInstance InInstance, |
||
| const void * | OnLocateViews
(
XrSession InSession, |
||
| void | Stop the AR system but leave its internal state intact. | ||
| void | OnSetDeviceProperty
(
XrSession InSession, |
||
| void | OnSetupLayers_RenderThread
(
XrSession InSession, |
FOpenXRHMD::OnBeginRendering_RenderThread. | |
| void | OnStartARSession
(
UARSessionConfig* SessionConfig |
Start the AR system. | |
| void | Stop the AR system and reset its internal state; this task must succeed. | ||
| const void * | OnSyncActions
(
XrSession InSession, |
FOpenXRInput::Tick, game thread, setting up for xrSyncActions. This happens near the start of the game frame. | |
| void * | OnWaitFrame
(
XrSession InSession, |
OpenXRHMD::OnBeginRendering_GameThread. | |
| void | PostCreateInstance
(
XrInstance InInstance |
||
| void | PostCreateSession
(
XrSession InSession |
||
| void | PostGetSystem
(
XrInstance InInstance, |
||
| void | PostSyncActions
(
XrSession InSession |
FOpenXRInput::Tick, game thread, after xrSyncActions. | |
| void | Register module as an extension on startup. | ||
| void | |||
| void | UpdateCompositionLayers
(
XrSession InSession, |
FOpenXRHMD::OnFinishRendering_RHIThread. | |
| void | UpdateDeviceLocations
(
XrSession InSession, |
OpenXRHMD::OnStartGameFrame. | |
| bool | UseCustomReferenceSpaceType
(
XrReferenceSpaceType& OutReferenceSpaceType |
Update OpenXRHMD to use reference space types other than view, local, and stage. |
Deprecated Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddActions
(
XrInstance Instance, |
Use Enhanced Input through IMotionController::SetPlayerMappableInputConfig instead. | |
| void | AddActionSets
(
TArray< XrActiveActionSet >& OutActionSets |
Functionality moved to AttachActionSets(). |