Class MockRuntime
Inherited Members
Namespace: UnityEngine .XR.OpenXR .Features.Mock
Assembly: Unity.XR.OpenXR.Features.MockRuntime.dll
Syntax
[OpenXRFeature(UiName = "Mock Runtime", BuildTargetGroups = new BuildTargetGroup[] { BuildTargetGroup.Standalone, BuildTargetGroup.Android }, Company = "Unity", Desc = "Mock runtime extension for automated testing.", DocumentationLink = "https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.0/manual/index.html", CustomRuntimeLoaderBuildTargets = new BuildTarget[] { BuildTarget.StandaloneWindows64, BuildTarget.StandaloneOSX, BuildTarget.Android }, OpenxrExtensionStrings = "XR_UNITY_null_gfx XR_UNITY_android_present", Version = "0.0.2", FeatureId = "com.unity.openxr.feature.mockruntime")]
public class MockRuntime : OpenXRFeature
Fields
TestCallback
Declaration
[NonSerialized]
public Func<string, object, object> TestCallback
Field Value
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 |
---|---|
Mock |
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 |
---|---|
Xr |
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 |
---|---|---|
Xr |
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 |
---|---|
Mock |
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 |
---|---|
Mock |
Callback or null if no callback is set |
GetValidationChecks(List<ValidationRule>, BuildTargetGroup)
Declaration
protected override void GetValidationChecks(List<OpenXRFeature.ValidationRule> results, BuildTargetGroup target)
Parameters
Type | Name | Description |
---|---|---|
List<Open |
results | |
Build |
target |
Overrides
GetXrEnvironmentBlendMode()
Declaration
public static XrEnvironmentBlendMode GetXrEnvironmentBlendMode()
Returns
Type | Description |
---|---|
Xr |
HookCreateInstance(IntPtr)
Called to hook xrGetInstanceProcAddr.
Declaration
public static extern IntPtr HookCreateInstance(IntPtr func)
Parameters
Type | Name | Description |
---|---|---|
Int |
func | xrGetInstanceProcAddr native function pointer |
Returns
Type | Description |
---|---|
Int |
Function pointer that Unity will use to look up XR native functions. |
HookGetInstanceProcAddr(IntPtr)
Declaration
protected override IntPtr HookGetInstanceProcAddr(IntPtr func)
Parameters
Type | Name | Description |
---|---|---|
Int |
func |
Returns
Type | Description |
---|---|
Int |
Overrides
OnAppSpaceChange(ulong)
Declaration
protected override void OnAppSpaceChange(ulong xrSpace)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSpace |
Overrides
OnEnvironmentBlendModeChange(XrEnvironmentBlendMode)
Declaration
protected override void OnEnvironmentBlendModeChange(XrEnvironmentBlendMode xrEnvironmentBlendMode)
Parameters
Type | Name | Description |
---|---|---|
Xr |
xrEnvironmentBlendMode |
Overrides
OnFormFactorChange(int)
Declaration
protected override void OnFormFactorChange(int xrFormFactor)
Parameters
Type | Name | Description |
---|---|---|
int | xrFormFactor |
Overrides
OnInstanceCreate(ulong)
Declaration
protected override bool OnInstanceCreate(ulong xrInstance)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrInstance |
Returns
Type | Description |
---|---|
bool |
Overrides
OnInstanceDestroy(ulong)
Declaration
protected override void OnInstanceDestroy(ulong instance)
Parameters
Type | Name | Description |
---|---|---|
ulong | instance |
Overrides
OnInstanceLossPending(ulong)
Declaration
protected override void OnInstanceLossPending(ulong xrInstance)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrInstance |
Overrides
OnSessionBegin(ulong)
Declaration
protected override void OnSessionBegin(ulong xrSession)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSession |
Overrides
OnSessionCreate(ulong)
Declaration
protected override void OnSessionCreate(ulong xrSession)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSession |
Overrides
OnSessionDestroy(ulong)
Declaration
protected override void OnSessionDestroy(ulong session)
Parameters
Type | Name | Description |
---|---|---|
ulong | session |
Overrides
OnSessionEnd(ulong)
Declaration
protected override void OnSessionEnd(ulong xrSession)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSession |
Overrides
OnSessionExiting(ulong)
Declaration
protected override void OnSessionExiting(ulong xrSession)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSession |
Overrides
OnSessionLossPending(ulong)
Declaration
protected override void OnSessionLossPending(ulong xrSession)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSession |
Overrides
OnSessionStateChange(int, int)
Declaration
protected override void OnSessionStateChange(int oldState, int newState)
Parameters
Overrides
OnSubsystemCreate()
Declaration
protected override void OnSubsystemCreate()
Overrides
OnSubsystemDestroy()
Declaration
protected override void OnSubsystemDestroy()
Overrides
OnSubsystemStart()
Declaration
protected override void OnSubsystemStart()
Overrides
OnSubsystemStop()
Declaration
protected override void OnSubsystemStop()
Overrides
OnSystemChange(ulong)
Declaration
protected override void OnSystemChange(ulong xrSystem)
Parameters
Type | Name | Description |
---|---|---|
ulong | xrSystem |
Overrides
OnViewConfigurationTypeChange(int)
Declaration
protected override void OnViewConfigurationTypeChange(int xrViewConfigurationType)
Parameters
Type | Name | Description |
---|---|---|
int | xrViewConfigurationType |
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 |
Mock |
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 |
Mock |
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 |
Mock |
beforeCallback | Callback to call before the OpenXR function is called (null to clear) |
Mock |
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. |
Xr |
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 |
---|---|---|
Xr |
referenceSpace | The type of reference space being set. |
Vector3 | position | Position of the space. |
Quaternion | orientation | Orientation of the space. |
Xr |
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 |
---|---|---|
Xr |
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 |
---|---|---|
Xr |
viewConfigurationType | The XrViewConfigurationType to use. |
Xr |
viewStateFlags | The XrViewStateFlags to set. |
TransitionToState(XrSessionState, bool)
Declaration
public static bool TransitionToState(XrSessionState state, bool forceTransition)
Parameters
Type | Name | Description |
---|---|---|
Xr |
state | |
bool | forceTransition |
Returns
Type | Description |
---|---|
bool |
Events
onScriptEvent
Subscribe delegates to ScriptEvents.
Declaration
public static event MockRuntime.ScriptEventDelegate onScriptEvent
Event Type
Type | Description |
---|---|
Mock |