Class MockRuntime
Inherited Members
Namespace: UnityEngine.XR.OpenXR.Features.Mock
Assembly: Unity.XR.OpenXR.Features.MockRuntime.dll
Syntax
public class MockRuntime : OpenXRFeature
Fields
TestCallback
Declaration
[NonSerialized]
public Func<string, object, object> TestCallback
Field Value
| Type | Description |
|---|---|
| Func<string, object, object> |
XR_UNITY_android_present
Declaration
public const string XR_UNITY_android_present = "XR_UNITY_android_present"
Field Value
| Type | Description |
|---|---|
| string |
XR_UNITY_mock_test
Declaration
public const string XR_UNITY_mock_test = "XR_UNITY_mock_test"
Field Value
| Type | Description |
|---|---|
| string |
XR_UNITY_null_gfx
Declaration
public const string XR_UNITY_null_gfx = "XR_UNITY_null_gfx"
Field Value
| Type | Description |
|---|---|
| string |
featureId
The feature id string. This is used to give the feature a well known id for reference.
Declaration
public const string featureId = "com.unity.openxr.feature.mockruntime"
Field Value
| Type | Description |
|---|---|
| string |
ignoreValidationErrors
Don't fail to build if there are validation errors.
Declaration
public bool ignoreValidationErrors
Field Value
| Type | Description |
|---|---|
| bool |
Properties
Instance
Return the singleton instance of the Mock Runtime feature.
Declaration
public static MockRuntime Instance { get; }
Property Value
| Type | Description |
|---|---|
| MockRuntime |
XrInstance
Declaration
public ulong XrInstance { get; }
Property Value
| Type | Description |
|---|---|
| ulong |
XrSession
Declaration
public ulong XrSession { get; }
Property Value
| Type | Description |
|---|---|
| ulong |
sessionState
Return the current session state of the MockRuntime
Declaration
public static XrSessionState sessionState { get; }
Property Value
| Type | Description |
|---|---|
| XrSessionState |
Methods
CauseInstanceLoss()
Force MockRuntime instance loss.
Declaration
public static extern void CauseInstanceLoss()
CauseUserPresenceChange(bool)
Force user presence change.
Declaration
public static extern void CauseUserPresenceChange(bool hasUserPresent)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | hasUserPresent | User present when true. |
ChooseEnvironmentBlendMode(XrEnvironmentBlendMode)
Declaration
public static void ChooseEnvironmentBlendMode(XrEnvironmentBlendMode mode)
Parameters
| Type | Name | Description |
|---|---|---|
| XrEnvironmentBlendMode | mode |
ClearFunctionCallbacks()
Remove all OpenXR function callbacks
Declaration
public static void ClearFunctionCallbacks()
GetAfterFunctionCallback(string)
Return the callback set to be called after the given OpenXR function is called
Declaration
public static MockRuntime.AfterFunctionDelegate GetAfterFunctionCallback(string function)
Parameters
| Type | Name | Description |
|---|---|---|
| string | function | OpenXR function name |
Returns
| Type | Description |
|---|---|
| MockRuntime.AfterFunctionDelegate | Callback or null if no callback is set |
GetBeforeFunctionCallback(string)
Return the callback set to be called before the given OpenXR function is called
Declaration
public static MockRuntime.BeforeFunctionDelegate GetBeforeFunctionCallback(string function)
Parameters
| Type | Name | Description |
|---|---|---|
| string | function | OpenXR function name |
Returns
| Type | Description |
|---|---|
| MockRuntime.BeforeFunctionDelegate | Callback or null if no callback is set |
GetValidationChecks(List<ValidationRule>, BuildTargetGroup)
Allows a feature to add to a list of validation rules which your feature will evaluate at build time. Details of the validation results can be found in OpenXRProjectValidation.
Declaration
protected override void GetValidationChecks(List<OpenXRFeature.ValidationRule> results, BuildTargetGroup target)
Parameters
| Type | Name | Description |
|---|---|---|
| List<OpenXRFeature.ValidationRule> | results | |
| BuildTargetGroup | target |
Overrides
GetXrEnvironmentBlendMode()
Declaration
public static XrEnvironmentBlendMode GetXrEnvironmentBlendMode()
Returns
| Type | Description |
|---|---|
| XrEnvironmentBlendMode |
HookCreateInstance(IntPtr)
Called to hook xrGetInstanceProcAddr.
Declaration
public static extern IntPtr HookCreateInstance(IntPtr func)
Parameters
| Type | Name | Description |
|---|---|---|
| IntPtr | func | xrGetInstanceProcAddr native function pointer |
Returns
| Type | Description |
|---|---|
| IntPtr | Function pointer that Unity will use to look up XR native functions. |
HookGetInstanceProcAddr(IntPtr)
Called to hook xrGetInstanceProcAddr. Returning a different function pointer allows intercepting any OpenXR method.
Declaration
protected override IntPtr HookGetInstanceProcAddr(IntPtr func)
Parameters
| Type | Name | Description |
|---|---|---|
| IntPtr | func | xrGetInstanceProcAddr native function pointer |
Returns
| Type | Description |
|---|---|
| IntPtr | Function pointer that Unity will use to look up OpenXR native functions. |
Overrides
OnAppSpaceChange(ulong)
Called when the reference xrSpace for the app changes.
Declaration
protected override void OnAppSpaceChange(ulong xrSpace)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSpace | Handle of the xrSpace |
Overrides
OnEnvironmentBlendModeChange(XrEnvironmentBlendMode)
Notification to the feature implementer that the environment blend mode has changed.
Declaration
protected override void OnEnvironmentBlendModeChange(XrEnvironmentBlendMode xrEnvironmentBlendMode)
Parameters
| Type | Name | Description |
|---|---|---|
| XrEnvironmentBlendMode | xrEnvironmentBlendMode | New environment blend mode value |
Overrides
OnFormFactorChange(int)
Notification to the feature implementer that the form factor has changed.
Declaration
protected override void OnFormFactorChange(int xrFormFactor)
Parameters
| Type | Name | Description |
|---|---|---|
| int | xrFormFactor | New form factor value |
Overrides
OnInstanceCreate(ulong)
Called after xrCreateInstance.
Declaration
protected override bool OnInstanceCreate(ulong xrInstance)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrInstance | Handle of the xrInstance |
Returns
| Type | Description |
|---|---|
| bool | Always returns true, as this is intended to be overridden. |
Overrides
OnInstanceDestroy(ulong)
Called before xrDestroyInstance
Declaration
protected override void OnInstanceDestroy(ulong instance)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | instance |
Overrides
OnInstanceLossPending(ulong)
Called when the OpenXR loader receives the XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING event from the runtime. This is a notification to the feature implementer that the instance is about to be lost. This feature should do what it needs to do to clean up in preparation for termination.
Declaration
protected override void OnInstanceLossPending(ulong xrInstance)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrInstance | The instance that is going to be lost |
Overrides
OnSessionBegin(ulong)
Called after xrSessionBegin.
Declaration
protected override void OnSessionBegin(ulong xrSession)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSession | Handle of the xrSession |
Overrides
OnSessionCreate(ulong)
Called after xrCreateSession.
Declaration
protected override void OnSessionCreate(ulong xrSession)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSession | Handle of the xrSession |
Overrides
OnSessionDestroy(ulong)
Called before xrDestroySession.
Declaration
protected override void OnSessionDestroy(ulong session)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | session |
Overrides
OnSessionEnd(ulong)
Called before xrEndSession.
Declaration
protected override void OnSessionEnd(ulong xrSession)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSession | Handle of the xrSession |
Overrides
OnSessionExiting(ulong)
Called when the runtime transitions to the XR_SESSION_STATE_EXITING state.
Declaration
protected override void OnSessionExiting(ulong xrSession)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSession | Handle of the xrSession |
Overrides
OnSessionLossPending(ulong)
Called when the runtime transitions to the XR_SESSION_STATE_LOSS_PENDING state. This is a notification to the feature implementer that the session is about to be lost. This feature should do what it needs to do to prepare for potential session recreation.
Declaration
protected override void OnSessionLossPending(ulong xrSession)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSession | The session that is going to be lost |
Overrides
OnSessionStateChange(int, int)
Called when the OpenXR loader receives the XR_TYPE_EVENT_DATA_SESSION_STATE_CHANGED event from the runtime signaling that the XrSessionState has changed.
Declaration
protected override void OnSessionStateChange(int oldState, int newState)
Parameters
| Type | Name | Description |
|---|---|---|
| int | oldState | Previous state |
| int | newState | New state |
Overrides
OnSubsystemCreate()
Called after the OpenXR Loader is initialized and has created its subsystems.
Declaration
protected override void OnSubsystemCreate()
Overrides
OnSubsystemDestroy()
Called before the OpenXR loader destroys its subsystems.
Declaration
protected override void OnSubsystemDestroy()
Overrides
OnSubsystemStart()
Called after the OpenXR loader has started its subsystems.
Declaration
protected override void OnSubsystemStart()
Overrides
OnSubsystemStop()
Called before the OpenXR loader stops its subsystems.
Declaration
protected override void OnSubsystemStop()
Overrides
OnSystemChange(ulong)
Called after xrGetSystem.
Declaration
protected override void OnSystemChange(ulong xrSystem)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | xrSystem | Handle of the xrSystemId |
Overrides
OnViewConfigurationTypeChange(int)
Notification to the feature implementer that the view configuration type has changed.
Declaration
protected override void OnViewConfigurationTypeChange(int xrViewConfigurationType)
Parameters
| Type | Name | Description |
|---|---|---|
| int | xrViewConfigurationType | New view configuration type |
Overrides
RequestExitSession()
Request to exit the runtime session.
Declaration
public static extern void RequestExitSession()
ResetDefaults()
Reset the MockRuntime testing settings back to defaults
Declaration
public static void ResetDefaults()
SetFunctionCallback(string, AfterFunctionDelegate)
Set a callback to call before the given OpenXR function is called within the Mock Runtime
Declaration
public static void SetFunctionCallback(string function, MockRuntime.AfterFunctionDelegate afterCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| string | function | OpenXR function name |
| MockRuntime.AfterFunctionDelegate | afterCallback | Callback to call after the OpenXR function is called (null to clear) |
SetFunctionCallback(string, BeforeFunctionDelegate)
Set a callback to call before the given OpenXR function is called within the Mock Runtime
Note that since some OpenXR functions are called from within the graphics thread that care should be taken to maintain thread safety from within the callbacks.
Note that function callbacks can be set prior to the MockRuntime being initialized but will be reset when the mock runtime is shutdown.
Declaration
public static void SetFunctionCallback(string function, MockRuntime.BeforeFunctionDelegate beforeCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| string | function | OpenXR function name |
| MockRuntime.BeforeFunctionDelegate | beforeCallback | Callback to call before the OpenXR function is called (null to clear) |
SetFunctionCallback(string, BeforeFunctionDelegate, AfterFunctionDelegate)
Set the callbacks to call before and after the given OpenXR function is called within the Mock Runtime
Note that since some OpenXR functions are called from within the graphics thread that care should be taken to maintain thread safety from within the callbacks.
Note that function callbacks can be set prior to the MockRuntime being initialized but will be reset when the mock runtime is shutdown.
Declaration
public static void SetFunctionCallback(string function, MockRuntime.BeforeFunctionDelegate beforeCallback, MockRuntime.AfterFunctionDelegate afterCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| string | function | OpenXR function name |
| MockRuntime.BeforeFunctionDelegate | beforeCallback | Callback to call before the OpenXR function is called (null to clear) |
| MockRuntime.AfterFunctionDelegate | afterCallback | Callback to call after the OpenXR function is called (null to clear) |
SetKeepFunctionCallbacks(bool)
Keep function callbacks when resetting MockRuntime.
Declaration
public static extern void SetKeepFunctionCallbacks(bool value)
Parameters
| Type | Name | Description |
|---|---|---|
| bool | value | True to keep callbacks. |
SetSpace(ulong, Vector3, Quaternion, XrSpaceLocationFlags)
Set the reference space to use for input actions.
Declaration
public static extern void SetSpace(ulong actionHandle, Vector3 position, Quaternion orientation, XrSpaceLocationFlags locationFlags)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | actionHandle | Handle to the input action. |
| Vector3 | position | Position of the space. |
| Quaternion | orientation | Orientation of the space. |
| XrSpaceLocationFlags | locationFlags | XrSpaceLocationFlags for the space. |
SetSpace(XrReferenceSpaceType, Vector3, Quaternion, XrSpaceLocationFlags)
Set the reference space to use at Runtime.
Declaration
public static extern void SetSpace(XrReferenceSpaceType referenceSpace, Vector3 position, Quaternion orientation, XrSpaceLocationFlags locationFlags)
Parameters
| Type | Name | Description |
|---|---|---|
| XrReferenceSpaceType | referenceSpace | The type of reference space being set. |
| Vector3 | position | Position of the space. |
| Quaternion | orientation | Orientation of the space. |
| XrSpaceLocationFlags | locationFlags | XrSpaceLocationFlags for the space. |
SetViewPose(XrViewConfigurationType, int, Vector3, Quaternion, Vector4)
Set the runtime ViewPose.
Declaration
public static extern void SetViewPose(XrViewConfigurationType viewConfigurationType, int viewIndex, Vector3 position, Quaternion orientation, Vector4 fov)
Parameters
| Type | Name | Description |
|---|---|---|
| XrViewConfigurationType | viewConfigurationType | The XrViewConfigurationType to use. |
| int | viewIndex | The indexed view being set. |
| Vector3 | position | Position of the view. |
| Quaternion | orientation | Orientation of the view. |
| Vector4 | fov | Field of View. |
SetViewState(XrViewConfigurationType, XrViewStateFlags)
Set the runtime ViewState.
Declaration
public static extern void SetViewState(XrViewConfigurationType viewConfigurationType, XrViewStateFlags viewStateFlags)
Parameters
| Type | Name | Description |
|---|---|---|
| XrViewConfigurationType | viewConfigurationType | The XrViewConfigurationType to use. |
| XrViewStateFlags | viewStateFlags | The XrViewStateFlags to set. |
TransitionToState(XrSessionState, bool)
Declaration
public static bool TransitionToState(XrSessionState state, bool forceTransition)
Parameters
| Type | Name | Description |
|---|---|---|
| XrSessionState | state | |
| bool | forceTransition |
Returns
| Type | Description |
|---|---|
| bool |
Events
onScriptEvent
Subscribe delegates to ScriptEvents.
Declaration
public static event MockRuntime.ScriptEventDelegate onScriptEvent
Event Type
| Type | Description |
|---|---|
| MockRuntime.ScriptEventDelegate |