diff --git a/Sample/Assets/Scripts/SampleQRCodes.asmdef b/Sample/Assets/Scripts/SampleQRCodes.asmdef index 5b20f30..09b3cdf 100644 --- a/Sample/Assets/Scripts/SampleQRCodes.asmdef +++ b/Sample/Assets/Scripts/SampleQRCodes.asmdef @@ -3,7 +3,8 @@ "rootNamespace": "", "references": [ "Microsoft.MixedReality.Toolkit", - "Unity.XR.WindowsMixedReality" + "Unity.XR.WindowsMixedReality", + "Microsoft.MixedReality.OpenXR" ], "includePlatforms": [], "excludePlatforms": [], @@ -17,6 +18,11 @@ "name": "com.unity.xr.windowsmr", "expression": "1.0.0", "define": "UNITY_XR_WINDOWSMR" + }, + { + "name": "com.microsoft.mixedreality.openxr", + "expression": "1.4.0", + "define": "MIXED_REALITY_OPENXR" } ], "noEngineReferences": false diff --git a/Sample/Assets/Scripts/SpatialGraphNodeTracker.cs b/Sample/Assets/Scripts/SpatialGraphNodeTracker.cs index befef7b..62bf2d4 100644 --- a/Sample/Assets/Scripts/SpatialGraphNodeTracker.cs +++ b/Sample/Assets/Scripts/SpatialGraphNodeTracker.cs @@ -4,7 +4,11 @@ using UnityEngine; using Microsoft.MixedReality.Toolkit.Utilities; +#if MIXED_REALITY_OPENXR +using Microsoft.MixedReality.OpenXR; +#else using SpatialGraphNode = Microsoft.MixedReality.SampleQRCodes.WindowsXR.SpatialGraphNode; +#endif namespace Microsoft.MixedReality.SampleQRCodes { @@ -24,7 +28,11 @@ void Update() if (node != null) { +#if MIXED_REALITY_OPENXR + if (node.TryLocate(FrameTime.OnUpdate, out Pose pose)) +#else if (node.TryLocate(out Pose pose)) +#endif { // If there is a parent to the camera that means we are using teleport and we should not apply the teleport // to these objects so apply the inverse diff --git a/Sample/Assets/XR/Loaders/Open XR Loader.asset b/Sample/Assets/XR/Loaders/Open XR Loader.asset new file mode 100644 index 0000000..15d4498 --- /dev/null +++ b/Sample/Assets/XR/Loaders/Open XR Loader.asset @@ -0,0 +1,14 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d3552e428dc7646a88de3ed3650f87da, type: 3} + m_Name: Open XR Loader + m_EditorClassIdentifier: diff --git a/Sample/Assets/XR/Loaders/Open XR Loader.asset.meta b/Sample/Assets/XR/Loaders/Open XR Loader.asset.meta new file mode 100644 index 0000000..7bf7216 --- /dev/null +++ b/Sample/Assets/XR/Loaders/Open XR Loader.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1a388f2d9309f4946b6e1406c2d7a994 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Sample/Assets/XR/Settings/Open XR Package Settings.asset b/Sample/Assets/XR/Settings/Open XR Package Settings.asset new file mode 100644 index 0000000..0b7f347 --- /dev/null +++ b/Sample/Assets/XR/Settings/Open XR Package Settings.asset @@ -0,0 +1,710 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-9105951164476776722 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f8ec2975f18d5e479159feb34b4dc86, type: 3} + m_Name: MixedRealityFeaturePlugin Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Mixed Reality Features + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.hololens + openxrExtensionStrings: XR_MSFT_holographic_window_attachment XR_KHR_win32_convert_performance_counter_time + XR_MSFT_unbounded_reference_space XR_MSFT_spatial_anchor XR_MSFT_secondary_view_configuration + XR_MSFT_first_person_observer XR_MSFT_spatial_graph_bridge XR_MSFT_perception_anchor_interop + XR_MSFT_spatial_anchor_persistence XR_MSFT_scene_understanding XR_MSFT_scene_understanding_serialization + XR_MSFT_spatial_anchor_export_preview XR_MSFT_composition_layer_reprojection + company: Microsoft + priority: 0 + required: 1 + disableFirstPersonObserver: 0 + enablePoseUpdateOnBeforeRender: 0 +--- !u!114 &-7860864221581147748 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c8f1ce8139888c4ab621f6b3c8bb558, type: 3} + m_Name: MotionControllerFeaturePlugin WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Motion Controller Model + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.controller + openxrExtensionStrings: XR_MSFT_controller_model XR_FB_render_model + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &-7845119139401098760 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f6bfdbcb316ed242b30a8798c9eb853, type: 3} + m_Name: KHRSimpleControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Khronos Simple Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.khrsimpleprofile + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-7506738078701695657 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d2e2731103cdda44af77955a0b4814c, type: 3} + m_Name: AppRemotingPlugin Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Holographic Remoting remote app + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.appremoting + openxrExtensionStrings: XR_MSFT_holographic_remoting XR_MSFT_holographic_remoting_speech + company: Microsoft + priority: -100 + required: 0 +--- !u!114 &-6775053201470242055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5a1f07dc5afe854f9f12a4194aca3fb, type: 3} + m_Name: WSA + m_EditorClassIdentifier: + features: + - {fileID: -3847921402233028165} + - {fileID: 436877194278868361} + - {fileID: -5240739541596610331} + - {fileID: 937332782371028589} + - {fileID: -4321083457616849702} + - {fileID: 4912483172213529528} + - {fileID: 6306290559726604891} + - {fileID: -3685569252472433250} + - {fileID: -5083883790655191053} + - {fileID: 2178954757778052557} + - {fileID: -7860864221581147748} + - {fileID: 6349312341425494833} + - {fileID: -5074968667588697780} + - {fileID: -952790511255127579} + m_renderMode: 1 + m_depthSubmissionMode: 1 +--- !u!114 &-6573775736398346059 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 761fdd4502cb7a84e9ec7a2b24f33f37, type: 3} + m_Name: MicrosoftMotionControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Microsoft Motion Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.microsoftmotioncontroller + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-6226868296323608800 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 486b5e28864f9a94b979b9620ce5006d, type: 3} + m_Name: ConformanceAutomationFeature Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Conformance Automation + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.conformance + openxrExtensionStrings: XR_EXT_conformance_automation + company: Unity + priority: 0 + required: 0 +--- !u!114 &-5250980291414505580 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f34c86d1a130cc45a438373e1e8a4fc, type: 3} + m_Name: PlayModeRemotingPlugin Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Holographic Remoting for Play Mode + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.playmoderemoting + openxrExtensionStrings: XR_MSFT_holographic_remoting XR_MSFT_holographic_remoting_speech + company: Microsoft + priority: -100 + required: 0 + m_remoteHostName: + m_remoteHostPort: 8265 + m_maxBitrate: 20000 + m_videoCodec: 0 + m_enableAudio: 0 +--- !u!114 &-5240739541596610331 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b3cf79659a011bd419c7a2a30eb74e9a, type: 3} + m_Name: EyeGazeInteraction WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Eye Gaze Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.eyetracking + openxrExtensionStrings: XR_EXT_eye_gaze_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &-5083883790655191053 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 761fdd4502cb7a84e9ec7a2b24f33f37, type: 3} + m_Name: MicrosoftMotionControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Microsoft Motion Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.microsoftmotioncontroller + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-5074968667588697780 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 056125dd64c0ed540b40a4af74f7b495, type: 3} + m_Name: RuntimeDebuggerOpenXRFeature WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Runtime Debugger + version: 1 + featureIdInternal: com.unity.openxr.features.runtimedebugger + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 + cacheSize: 1048576 + perThreadCacheSize: 51200 +--- !u!114 &-4321083457616849702 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3482401f887b8864183e401715462f46, type: 3} + m_Name: HPMixedRealityControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HP Reverb G2 Controller Profile + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.interaction.hpmixedrealitycontroller + openxrExtensionStrings: XR_EXT_hp_mixed_reality_controller + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &-4130287135931428495 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d6ccd3d0ef0f1d458e69421dccbdae1, type: 3} + m_Name: ValveIndexControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Valve Index Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.valveindex + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-3847921402233028165 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d2e2731103cdda44af77955a0b4814c, type: 3} + m_Name: AppRemotingPlugin WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Holographic Remoting remote app + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.appremoting + openxrExtensionStrings: XR_MSFT_holographic_remoting XR_MSFT_holographic_remoting_speech + company: Microsoft + priority: -100 + required: 0 +--- !u!114 &-3685569252472433250 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f928d0d73a35f294fbe357ca17aa3547, type: 3} + m_Name: MicrosoftHandInteraction WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Microsoft Hand Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_MSFT_hand_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &-2577910590665941632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 056125dd64c0ed540b40a4af74f7b495, type: 3} + m_Name: RuntimeDebuggerOpenXRFeature Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Runtime Debugger + version: 1 + featureIdInternal: com.unity.openxr.features.runtimedebugger + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 + cacheSize: 1048576 + perThreadCacheSize: 51200 +--- !u!114 &-952790511255127579 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0d6ccd3d0ef0f1d458e69421dccbdae1, type: 3} + m_Name: ValveIndexControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Valve Index Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.valveindex + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &-927667732995327651 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0c8f1ce8139888c4ab621f6b3c8bb558, type: 3} + m_Name: MotionControllerFeaturePlugin Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Motion Controller Model + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.controller + openxrExtensionStrings: XR_MSFT_controller_model XR_FB_render_model + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &-503725201245881525 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: feeef8d85de8db242bdda70cc7ff5acd, type: 3} + m_Name: OculusTouchControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.oculustouch + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9f0ebc320a151d3408ea1e9fce54d40e, type: 3} + m_Name: Open XR Package Settings + m_EditorClassIdentifier: + Keys: 010000000e000000 + Values: + - {fileID: 1361015623666327774} + - {fileID: -6775053201470242055} +--- !u!114 &436877194278868361 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 486b5e28864f9a94b979b9620ce5006d, type: 3} + m_Name: ConformanceAutomationFeature WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Conformance Automation + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.conformance + openxrExtensionStrings: XR_EXT_conformance_automation + company: Unity + priority: 0 + required: 0 +--- !u!114 &937332782371028589 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c79c911b38743a649b1c1eddb5097202, type: 3} + m_Name: HandTrackingFeaturePlugin WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Hand Tracking + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.handtracking + openxrExtensionStrings: XR_EXT_hand_tracking XR_EXT_hand_joints_motion_range XR_MSFT_hand_tracking_mesh + company: Microsoft + priority: 0 + required: 0 + leftHandTrackingOptions: + motionRange: 0 + rightHandTrackingOptions: + motionRange: 0 + questHandTrackingMode: 1 +--- !u!114 &1361015623666327774 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b5a1f07dc5afe854f9f12a4194aca3fb, type: 3} + m_Name: Standalone + m_EditorClassIdentifier: + features: + - {fileID: -7506738078701695657} + - {fileID: -6226868296323608800} + - {fileID: 4258910965838828197} + - {fileID: 4133929434674300979} + - {fileID: 3030246808433462587} + - {fileID: 5692029932923019732} + - {fileID: -7845119139401098760} + - {fileID: 5069476577525460915} + - {fileID: -6573775736398346059} + - {fileID: -9105951164476776722} + - {fileID: 5954409208853827017} + - {fileID: -927667732995327651} + - {fileID: -503725201245881525} + - {fileID: -5250980291414505580} + - {fileID: -2577910590665941632} + - {fileID: -4130287135931428495} + m_renderMode: 1 + m_depthSubmissionMode: 2 +--- !u!114 &2178954757778052557 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3f8ec2975f18d5e479159feb34b4dc86, type: 3} + m_Name: MixedRealityFeaturePlugin WSA + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Mixed Reality Features + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.hololens + openxrExtensionStrings: XR_MSFT_holographic_window_attachment XR_KHR_win32_convert_performance_counter_time + XR_MSFT_unbounded_reference_space XR_MSFT_spatial_anchor XR_MSFT_secondary_view_configuration + XR_MSFT_first_person_observer XR_MSFT_spatial_graph_bridge XR_MSFT_perception_anchor_interop + XR_MSFT_spatial_anchor_persistence XR_MSFT_scene_understanding XR_MSFT_scene_understanding_serialization + XR_MSFT_spatial_anchor_export_preview XR_MSFT_composition_layer_reprojection + company: Microsoft + priority: 0 + required: 1 + disableFirstPersonObserver: 0 + enablePoseUpdateOnBeforeRender: 0 +--- !u!114 &3030246808433462587 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3482401f887b8864183e401715462f46, type: 3} + m_Name: HPMixedRealityControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HP Reverb G2 Controller Profile + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.interaction.hpmixedrealitycontroller + openxrExtensionStrings: XR_EXT_hp_mixed_reality_controller + company: Microsoft + priority: 0 + required: 0 +--- !u!114 &4133929434674300979 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c79c911b38743a649b1c1eddb5097202, type: 3} + m_Name: HandTrackingFeaturePlugin Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Hand Tracking + version: 1.5.0 + featureIdInternal: com.microsoft.openxr.feature.handtracking + openxrExtensionStrings: XR_EXT_hand_tracking XR_EXT_hand_joints_motion_range XR_MSFT_hand_tracking_mesh + company: Microsoft + priority: 0 + required: 0 + leftHandTrackingOptions: + motionRange: 0 + rightHandTrackingOptions: + motionRange: 0 + questHandTrackingMode: 1 +--- !u!114 &4258910965838828197 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b3cf79659a011bd419c7a2a30eb74e9a, type: 3} + m_Name: EyeGazeInteraction Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Eye Gaze Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.eyetracking + openxrExtensionStrings: XR_EXT_eye_gaze_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &4912483172213529528 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 274c02963f889a64e90bc2e596e21d13, type: 3} + m_Name: HTCViveControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HTC Vive Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.htcvive + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &5069476577525460915 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f928d0d73a35f294fbe357ca17aa3547, type: 3} + m_Name: MicrosoftHandInteraction Standalone + m_EditorClassIdentifier: + m_enabled: 1 + nameUi: Microsoft Hand Interaction Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.handtracking + openxrExtensionStrings: XR_MSFT_hand_interaction + company: Unity + priority: 0 + required: 0 +--- !u!114 &5692029932923019732 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 274c02963f889a64e90bc2e596e21d13, type: 3} + m_Name: HTCViveControllerProfile Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: HTC Vive Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.htcvive + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &5954409208853827017 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7de993716e042c6499d0c18eed3a773c, type: 3} + m_Name: MockRuntime Standalone + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Mock Runtime + version: 0.0.2 + featureIdInternal: com.unity.openxr.feature.mockruntime + openxrExtensionStrings: XR_UNITY_null_gfx + company: Unity + priority: 0 + required: 0 + ignoreValidationErrors: 0 +--- !u!114 &6306290559726604891 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0f6bfdbcb316ed242b30a8798c9eb853, type: 3} + m_Name: KHRSimpleControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Khronos Simple Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.khrsimpleprofile + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 +--- !u!114 &6349312341425494833 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: feeef8d85de8db242bdda70cc7ff5acd, type: 3} + m_Name: OculusTouchControllerProfile WSA + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Oculus Touch Controller Profile + version: 0.0.1 + featureIdInternal: com.unity.openxr.feature.input.oculustouch + openxrExtensionStrings: + company: Unity + priority: 0 + required: 0 diff --git a/Sample/Assets/XR/Settings/Open XR Package Settings.asset.meta b/Sample/Assets/XR/Settings/Open XR Package Settings.asset.meta new file mode 100644 index 0000000..fb089f7 --- /dev/null +++ b/Sample/Assets/XR/Settings/Open XR Package Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c7c8706914293644c9d59d2ecc25f950 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Sample/Assets/XR/Settings/OpenXR Editor Settings.asset b/Sample/Assets/XR/Settings/OpenXR Editor Settings.asset new file mode 100644 index 0000000..d06efa5 --- /dev/null +++ b/Sample/Assets/XR/Settings/OpenXR Editor Settings.asset @@ -0,0 +1,20 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 975057b4fdcfb8142b3080d19a5cc712, type: 3} + m_Name: OpenXR Editor Settings + m_EditorClassIdentifier: + Keys: 010000000e000000 + Values: + - featureSets: + - com.microsoft.openxr.featureset.wmr + - featureSets: + - com.microsoft.openxr.featureset.hololens diff --git a/Sample/Assets/XR/Settings/OpenXR Editor Settings.asset.meta b/Sample/Assets/XR/Settings/OpenXR Editor Settings.asset.meta new file mode 100644 index 0000000..0c8622b --- /dev/null +++ b/Sample/Assets/XR/Settings/OpenXR Editor Settings.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 65ca4240a61e8ba44b4f894ea241741b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Sample/Assets/XR/XRGeneralSettings.asset b/Sample/Assets/XR/XRGeneralSettings.asset index 3bd4f07..73f63db 100644 --- a/Sample/Assets/XR/XRGeneralSettings.asset +++ b/Sample/Assets/XR/XRGeneralSettings.asset @@ -46,7 +46,7 @@ MonoBehaviour: m_AutomaticLoading: 0 m_AutomaticRunning: 0 m_Loaders: - - {fileID: 11400000, guid: cd082fc4810c9b94085130c86546512b, type: 2} + - {fileID: 11400000, guid: 1a388f2d9309f4946b6e1406c2d7a994, type: 2} --- !u!114 &7213967213144142687 MonoBehaviour: m_ObjectHideFlags: 0 @@ -77,4 +77,4 @@ MonoBehaviour: m_AutomaticLoading: 0 m_AutomaticRunning: 0 m_Loaders: - - {fileID: 11400000, guid: cd082fc4810c9b94085130c86546512b, type: 2} + - {fileID: 11400000, guid: 1a388f2d9309f4946b6e1406c2d7a994, type: 2} diff --git a/Sample/Packages/MixedReality/com.microsoft.mixedreality.openxr-1.5.0.tgz b/Sample/Packages/MixedReality/com.microsoft.mixedreality.openxr-1.5.0.tgz new file mode 100644 index 0000000..d254c97 Binary files /dev/null and b/Sample/Packages/MixedReality/com.microsoft.mixedreality.openxr-1.5.0.tgz differ diff --git a/Sample/Packages/manifest.json b/Sample/Packages/manifest.json index 9613ef2..5d12a69 100644 --- a/Sample/Packages/manifest.json +++ b/Sample/Packages/manifest.json @@ -1,48 +1,50 @@ -{ - "dependencies": { - "com.microsoft.mixedreality.toolkit.foundation": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.2.tgz", +{ + "dependencies": { + "com.microsoft.mixedreality.openxr": "file:MixedReality/com.microsoft.mixedreality.openxr-1.5.0.tgz", + "com.microsoft.mixedreality.toolkit.foundation": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.2.tgz", "com.microsoft.mixedreality.toolkit.tools": "file:MixedReality/com.microsoft.mixedreality.toolkit.tools-2.8.2.tgz", - "com.microsoft.mixedreality.toolkit.standardassets": "file:MixedReality/com.microsoft.mixedreality.toolkit.standardassets-2.8.2.tgz", - "com.unity.collab-proxy": "1.17.2", - "com.unity.ide.rider": "2.0.7", - "com.unity.ide.visualstudio": "2.0.16", - "com.unity.ide.vscode": "1.2.5", - "com.unity.test-framework": "1.1.31", - "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.4.8", - "com.unity.ugui": "1.0.0", - "com.unity.xr.management": "4.2.1", - "com.unity.xr.windowsmr": "4.6.4", - "com.unity.modules.ai": "1.0.0", - "com.unity.modules.androidjni": "1.0.0", - "com.unity.modules.animation": "1.0.0", - "com.unity.modules.assetbundle": "1.0.0", - "com.unity.modules.audio": "1.0.0", - "com.unity.modules.cloth": "1.0.0", - "com.unity.modules.director": "1.0.0", - "com.unity.modules.imageconversion": "1.0.0", - "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0", - "com.unity.modules.particlesystem": "1.0.0", - "com.unity.modules.physics": "1.0.0", - "com.unity.modules.physics2d": "1.0.0", - "com.unity.modules.screencapture": "1.0.0", - "com.unity.modules.terrain": "1.0.0", - "com.unity.modules.terrainphysics": "1.0.0", - "com.unity.modules.tilemap": "1.0.0", - "com.unity.modules.ui": "1.0.0", - "com.unity.modules.uielements": "1.0.0", - "com.unity.modules.umbra": "1.0.0", - "com.unity.modules.unityanalytics": "1.0.0", - "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.modules.unitywebrequestassetbundle": "1.0.0", - "com.unity.modules.unitywebrequestaudio": "1.0.0", - "com.unity.modules.unitywebrequesttexture": "1.0.0", - "com.unity.modules.unitywebrequestwww": "1.0.0", - "com.unity.modules.vehicles": "1.0.0", - "com.unity.modules.video": "1.0.0", - "com.unity.modules.vr": "1.0.0", - "com.unity.modules.wind": "1.0.0", - "com.unity.modules.xr": "1.0.0" - } -} + "com.microsoft.mixedreality.toolkit.standardassets": "file:MixedReality/com.microsoft.mixedreality.toolkit.standardassets-2.8.2.tgz", + "com.unity.collab-proxy": "1.17.2", + "com.unity.ide.rider": "2.0.7", + "com.unity.ide.visualstudio": "2.0.16", + "com.unity.ide.vscode": "1.2.5", + "com.unity.test-framework": "1.1.31", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.4.8", + "com.unity.ugui": "1.0.0", + "com.unity.xr.management": "4.2.1", + "com.unity.xr.openxr": "1.4.2", + "com.unity.xr.windowsmr": "4.6.4", + "com.unity.modules.ai": "1.0.0", + "com.unity.modules.androidjni": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.assetbundle": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.cloth": "1.0.0", + "com.unity.modules.director": "1.0.0", + "com.unity.modules.imageconversion": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0", + "com.unity.modules.physics": "1.0.0", + "com.unity.modules.physics2d": "1.0.0", + "com.unity.modules.screencapture": "1.0.0", + "com.unity.modules.terrain": "1.0.0", + "com.unity.modules.terrainphysics": "1.0.0", + "com.unity.modules.tilemap": "1.0.0", + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.uielements": "1.0.0", + "com.unity.modules.umbra": "1.0.0", + "com.unity.modules.unityanalytics": "1.0.0", + "com.unity.modules.unitywebrequest": "1.0.0", + "com.unity.modules.unitywebrequestassetbundle": "1.0.0", + "com.unity.modules.unitywebrequestaudio": "1.0.0", + "com.unity.modules.unitywebrequesttexture": "1.0.0", + "com.unity.modules.unitywebrequestwww": "1.0.0", + "com.unity.modules.vehicles": "1.0.0", + "com.unity.modules.video": "1.0.0", + "com.unity.modules.vr": "1.0.0", + "com.unity.modules.wind": "1.0.0", + "com.unity.modules.xr": "1.0.0" + } +} diff --git a/Sample/Packages/packages-lock.json b/Sample/Packages/packages-lock.json index 53b2f8d..2a79d6e 100644 --- a/Sample/Packages/packages-lock.json +++ b/Sample/Packages/packages-lock.json @@ -1,5 +1,15 @@ { "dependencies": { + "com.microsoft.mixedreality.openxr": { + "version": "file:MixedReality/com.microsoft.mixedreality.openxr-1.5.0.tgz", + "depth": 0, + "source": "local-tarball", + "dependencies": { + "com.unity.xr.arfoundation": "4.1.7", + "com.unity.xr.management": "4.2.0", + "com.unity.xr.openxr": "1.4.2" + } + }, "com.microsoft.mixedreality.toolkit.foundation": { "version": "file:MixedReality/com.microsoft.mixedreality.toolkit.foundation-2.8.2.tgz", "depth": 0, @@ -65,6 +75,15 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.inputsystem": { + "version": "1.3.0", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.services.core": { "version": "1.0.1", "depth": 1, @@ -124,6 +143,16 @@ "com.unity.modules.imgui": "1.0.0" } }, + "com.unity.xr.arfoundation": { + "version": "4.1.7", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.xr.arsubsystems": "4.1.7", + "com.unity.xr.management": "4.0.1" + }, + "url": "https://packages.unity.com" + }, "com.unity.xr.arsubsystems": { "version": "4.1.10", "depth": 1, @@ -165,6 +194,17 @@ }, "url": "https://packages.unity.com" }, + "com.unity.xr.openxr": { + "version": "1.4.2", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.xr.management": "4.0.1", + "com.unity.xr.legacyinputhelpers": "2.1.2", + "com.unity.inputsystem": "1.3.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.xr.windowsmr": { "version": "4.6.4", "depth": 0, diff --git a/Sample/ProjectSettings/EditorBuildSettings.asset b/Sample/ProjectSettings/EditorBuildSettings.asset index 4fea6e3..a1dda74 100644 --- a/Sample/ProjectSettings/EditorBuildSettings.asset +++ b/Sample/ProjectSettings/EditorBuildSettings.asset @@ -13,3 +13,5 @@ EditorBuildSettings: type: 2} com.unity.xr.management.loader_settings: {fileID: 11400000, guid: 6c3d673cc4307c84ca4017f66197679d, type: 2} + com.unity.xr.openxr.settings4: {fileID: 11400000, guid: c7c8706914293644c9d59d2ecc25f950, + type: 2}