From 97b3680210295052cbc9b13e79a9413c78856c22 Mon Sep 17 00:00:00 2001 From: Andy Baker Date: Tue, 9 Jul 2024 08:39:01 +0100 Subject: [PATCH] Fix/quest sdk no boundary (#737) * Update com.meta.xr.sdk.core to v66 * Remove hardcoded manifest entry * Logic for selective manifest entry * A second go at Unity deciding what it wants to modify * Correct arguments * Exclude com.meta.xr.sdk.core from MacOS builds --- .github/workflows/build.yml | 3 +- Assets/Editor/BuildTiltBrushPostProcess.cs | 13 +++++ Assets/Oculus/OculusProjectConfig.asset | 7 +-- Assets/Plugins/Android/AndroidManifest.xml | 3 -- .../Settings/Open XR Package Settings.asset | 51 +++++++++++++++---- Packages/manifest.json | 2 +- Packages/packages-lock.json | 4 +- 7 files changed, 63 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e7a0cc2725..4d8a5c8dcc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -205,6 +205,7 @@ jobs: targetPlatform: StandaloneOSX vrsdk: Monoscopic cache: MacOS + packages_to_remove: com.meta.xr.sdk.core - name: Android OpenXR targetPlatform: Android @@ -228,7 +229,7 @@ jobs: cache: Android_Vulkan extraoptions: -btb-il2cpp versionSuffix: 1 - extra_defines: OCULUS_SUPPORTED USE_QUEST_PACKAGE_NAME + extra_defines: OCULUS_SUPPORTED USE_QUEST_PACKAGE_NAME ENABLE_CONTEXTUAL_BOUNDARYLESS_APP - name: Android Pico targetPlatform: Android diff --git a/Assets/Editor/BuildTiltBrushPostProcess.cs b/Assets/Editor/BuildTiltBrushPostProcess.cs index 56d39c32a5..780f0c2dad 100644 --- a/Assets/Editor/BuildTiltBrushPostProcess.cs +++ b/Assets/Editor/BuildTiltBrushPostProcess.cs @@ -69,6 +69,19 @@ public void OnPostGenerateGradleAndroidProject(string path) ); #endif +#if ENABLE_CONTEXTUAL_BOUNDARYLESS_APP + UnityEngine.Debug.Log("Add com.oculus.feature.CONTEXTUAL_BOUNDARYLESS_APP"); + AddOrRemoveTag(doc, + androidNamespaceURI, + "/manifest", + "uses-feature", + "com.oculus.feature.CONTEXTUAL_BOUNDARYLESS_APP", + true, + true, + "required", "true" + ); +#endif + #if FORCE_HEADTRACKING UnityEngine.Debug.Log("Add android.hardware.vr.headtracking"); AddOrRemoveTag(doc, diff --git a/Assets/Oculus/OculusProjectConfig.asset b/Assets/Oculus/OculusProjectConfig.asset index 00dffa2972..5390d56858 100644 --- a/Assets/Oculus/OculusProjectConfig.asset +++ b/Assets/Oculus/OculusProjectConfig.asset @@ -17,7 +17,6 @@ MonoBehaviour: handTrackingSupport: 0 handTrackingFrequency: 0 handTrackingVersion: 0 - multimodalHandsControllersSupport: 0 anchorSupport: 1 sharedAnchorSupport: 1 renderModelSupport: 0 @@ -27,10 +26,12 @@ MonoBehaviour: eyeTrackingSupport: 0 virtualKeyboardSupport: 0 sceneSupport: 1 + boundaryVisibilitySupport: 0 disableBackups: 0 enableNSCConfig: 0 securityXmlPath: skipUnneededShaders: 0 + enableIL2CPPLTO: 0 focusAware: 1 requiresSystemKeyboard: 0 experimentalFeaturesEnabled: 0 @@ -40,5 +41,5 @@ MonoBehaviour: systemSplashScreen: {fileID: 0} systemSplashScreenType: 0 _systemLoadingScreenBackground: 0 - ovrPluginMd5Win64: c48997b21953ed048a386c4b9048abd8 - ovrPluginMd5Android: 65acd2172a25fc3c956f0376ec0704c4 + ovrPluginMd5Win64: 33685b25e1b4f2b6c1632069bc88783632496c19eda9b55641c321c119bdf68c + ovrPluginMd5Android: b9e59102e373e2d7a97cd1dbe38cac15e89ec54c0a32b98491b3d09d93ccda7d diff --git a/Assets/Plugins/Android/AndroidManifest.xml b/Assets/Plugins/Android/AndroidManifest.xml index 0b84c975b1..179339006b 100644 --- a/Assets/Plugins/Android/AndroidManifest.xml +++ b/Assets/Plugins/Android/AndroidManifest.xml @@ -22,7 +22,4 @@ - diff --git a/Assets/XR/Settings/Open XR Package Settings.asset b/Assets/XR/Settings/Open XR Package Settings.asset index 524f77734b..b3d0d591ec 100644 --- a/Assets/XR/Settings/Open XR Package Settings.asset +++ b/Assets/XR/Settings/Open XR Package Settings.asset @@ -239,6 +239,26 @@ MonoBehaviour: company: Unity priority: 0 required: 0 +--- !u!114 &-6188679329620277984 +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: 81954520b8bbd2f458104fe69f5a7680, type: 3} + m_Name: MetaXRSpaceWarp Android + m_EditorClassIdentifier: + m_enabled: 0 + nameUi: Meta XR Space Warp + version: 1.0.0 + featureIdInternal: com.meta.openxr.feature.spacewarp + openxrExtensionStrings: XR_FB_space_warp + company: Meta + priority: 0 + required: 0 --- !u!114 &-5585190116095795567 MonoBehaviour: m_ObjectHideFlags: 0 @@ -419,12 +439,17 @@ MonoBehaviour: XR_FB_swapchain_update_state_vulkan XR_FB_composition_layer_alpha_blend XR_KHR_composition_layer_depth XR_KHR_composition_layer_cylinder XR_KHR_composition_layer_cube XR_KHR_composition_layer_equirect2 XR_KHR_convert_timespec_time XR_KHR_visibility_mask XR_FB_render_model XR_FB_spatial_entity - XR_FB_spatial_entity_query XR_FB_spatial_entity_storage XR_META_performance_metrics - XR_FB_scene XR_FB_spatial_entity_container XR_FB_scene_capture XR_FB_face_tracking - XR_FB_eye_tracking XR_FB_keyboard_tracking XR_FB_passthrough XR_FB_triangle_mesh + XR_FB_spatial_entity_user XR_FB_spatial_entity_query XR_FB_spatial_entity_storage + XR_FB_spatial_entity_storage_batch XR_META_spatial_entity_mesh XR_META_performance_metrics + XR_FB_spatial_entity_sharing XR_FB_scene XR_FB_spatial_entity_container XR_FB_scene_capture + XR_FB_face_tracking XR_FB_face_tracking2 XR_FB_eye_tracking XR_FB_eye_tracking_social + XR_FB_body_tracking XR_META_body_tracking_full_body XR_META_body_tracking_calibration + XR_META_body_tracking_fidelity XR_FB_keyboard_tracking XR_FB_passthrough XR_FB_triangle_mesh XR_FB_passthrough_keyboard_hands XR_OCULUS_audio_device_guid XR_FB_common_events - XR_FB_space_warp XR_FB_hand_tracking_capsules XR_FB_hand_tracking_mesh XR_FB_hand_tracking_aim - XR_FB_touch_controller_pro XR_FB_touch_controller_proximity ' + XR_FB_hand_tracking_capsules XR_FB_hand_tracking_mesh XR_FB_hand_tracking_aim + XR_FB_touch_controller_pro XR_FB_touch_controller_proximity XR_FB_composition_layer_depth_test + XR_FB_haptic_amplitude_envelope XR_FB_haptic_pcm XR_META_spatial_entity_persistence + XR_META_spatial_entity_discovery XR_META_boundary_visibility XR_META_headset_id ' company: Meta priority: 0 required: 0 @@ -592,6 +617,7 @@ MonoBehaviour: - {fileID: 7875633773414566808} - {fileID: 3409825189635461668} - {fileID: -7871932882014305355} + - {fileID: -6188679329620277984} - {fileID: 6457187213107907505} - {fileID: -1562417761177608366} - {fileID: -568313750252970699} @@ -627,12 +653,17 @@ MonoBehaviour: XR_FB_swapchain_update_state_vulkan XR_FB_composition_layer_alpha_blend XR_KHR_composition_layer_depth XR_KHR_composition_layer_cylinder XR_KHR_composition_layer_cube XR_KHR_composition_layer_equirect2 XR_KHR_convert_timespec_time XR_KHR_visibility_mask XR_FB_render_model XR_FB_spatial_entity - XR_FB_spatial_entity_query XR_FB_spatial_entity_storage XR_META_performance_metrics - XR_FB_scene XR_FB_spatial_entity_container XR_FB_scene_capture XR_FB_face_tracking - XR_FB_eye_tracking XR_FB_keyboard_tracking XR_FB_passthrough XR_FB_triangle_mesh + XR_FB_spatial_entity_user XR_FB_spatial_entity_query XR_FB_spatial_entity_storage + XR_FB_spatial_entity_storage_batch XR_META_spatial_entity_mesh XR_META_performance_metrics + XR_FB_spatial_entity_sharing XR_FB_scene XR_FB_spatial_entity_container XR_FB_scene_capture + XR_FB_face_tracking XR_FB_face_tracking2 XR_FB_eye_tracking XR_FB_eye_tracking_social + XR_FB_body_tracking XR_META_body_tracking_full_body XR_META_body_tracking_calibration + XR_META_body_tracking_fidelity XR_FB_keyboard_tracking XR_FB_passthrough XR_FB_triangle_mesh XR_FB_passthrough_keyboard_hands XR_OCULUS_audio_device_guid XR_FB_common_events - XR_FB_space_warp XR_FB_hand_tracking_capsules XR_FB_hand_tracking_mesh XR_FB_hand_tracking_aim - XR_FB_touch_controller_pro XR_FB_touch_controller_proximity ' + XR_FB_hand_tracking_capsules XR_FB_hand_tracking_mesh XR_FB_hand_tracking_aim + XR_FB_touch_controller_pro XR_FB_touch_controller_proximity XR_FB_composition_layer_depth_test + XR_FB_haptic_amplitude_envelope XR_FB_haptic_pcm XR_META_spatial_entity_persistence + XR_META_spatial_entity_discovery XR_META_boundary_visibility XR_META_headset_id ' company: Meta priority: 0 required: 0 diff --git a/Packages/manifest.json b/Packages/manifest.json index 32570762f5..daa299657b 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,7 +1,7 @@ { "dependencies": { "com.ixxy.unitysymmetry": "https://github.com/IxxyXR/unity-symmetry.git?nocache=7#upm", - "com.meta.xr.sdk.core": "https://github.com/icosa-mirror/com.meta.xr.sdk.core.git#60.0.0-openbrush", + "com.meta.xr.sdk.core": "https://github.com/icosa-mirror/com.meta.xr.sdk.core.git#66.0.0-openbrush", "com.meta.xr.sdk.platform": "60.0.0", "com.unity.2d.sprite": "1.0.0", "com.unity.2d.tilemap": "1.0.0", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 8d2ce749e8..d86bace3d6 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -14,11 +14,11 @@ "hash": "4f87195d54ccefe076678cb83a296b3f0428fc53" }, "com.meta.xr.sdk.core": { - "version": "https://github.com/icosa-mirror/com.meta.xr.sdk.core.git#60.0.0-openbrush", + "version": "https://github.com/icosa-mirror/com.meta.xr.sdk.core.git#66.0.0-openbrush", "depth": 0, "source": "git", "dependencies": {}, - "hash": "0feb415034b094e4622efa4e5b3f2c87ded2d2f3" + "hash": "25b32e5b6dacc484be3eed179ea3d2d21d55b9d1" }, "com.meta.xr.sdk.platform": { "version": "60.0.0",