From c76643377330977dacd5447613cf2b65f9627700 Mon Sep 17 00:00:00 2001 From: jlacoche <jeremy.lacoche@orange.com> Date: Thu, 4 Jul 2024 18:22:22 +0200 Subject: [PATCH] Add ARCoreExtensions for ARCloudAnchor support --- Assets/ExtensionsAssets.meta | 8 ++++ Assets/ExtensionsAssets/Runtime.meta | 8 ++++ .../Runtime/RuntimeConfig.asset | 16 +++++++ .../Runtime/RuntimeConfig.asset.meta | 8 ++++ Assets/Plugins.meta | 8 ++++ Assets/Plugins/Android.meta | 8 ++++ .../Plugins/Android/gradleTemplate.properties | 8 ++++ .../Android/gradleTemplate.properties.meta | 7 ++++ Assets/Plugins/Android/mainTemplate.gradle | 42 +++++++++++++++++++ .../Plugins/Android/mainTemplate.gradle.meta | 7 ++++ Assets/Plugins/Android/proguard-user.txt | 34 +++++++++++++++ Assets/Plugins/Android/proguard-user.txt.meta | 7 ++++ .../Plugins/Android/settingsTemplate.gradle | 23 ++++++++++ .../Android/settingsTemplate.gradle.meta | 7 ++++ Assets/Scenes/ExampleGLTF.unity | 18 ++++++++ Packages/manifest.json | 1 + Packages/packages-lock.json | 11 +++++ ...orld-analysis-arfoundation-wrapper-package | 2 +- .../ARCoreExtensionsProjectSettings.json | 1 + ProjectSettings/GvhProjectSettings.xml | 6 +++ ProjectSettings/ProjectSettings.asset | 19 +++++---- ProjectSettings/ProjectVersion.txt | 4 +- 22 files changed, 242 insertions(+), 11 deletions(-) create mode 100644 Assets/ExtensionsAssets.meta create mode 100644 Assets/ExtensionsAssets/Runtime.meta create mode 100644 Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset create mode 100644 Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset.meta create mode 100644 Assets/Plugins.meta create mode 100644 Assets/Plugins/Android.meta create mode 100644 Assets/Plugins/Android/gradleTemplate.properties create mode 100644 Assets/Plugins/Android/gradleTemplate.properties.meta create mode 100644 Assets/Plugins/Android/mainTemplate.gradle create mode 100644 Assets/Plugins/Android/mainTemplate.gradle.meta create mode 100644 Assets/Plugins/Android/proguard-user.txt create mode 100644 Assets/Plugins/Android/proguard-user.txt.meta create mode 100644 Assets/Plugins/Android/settingsTemplate.gradle create mode 100644 Assets/Plugins/Android/settingsTemplate.gradle.meta create mode 100644 ProjectSettings/ARCoreExtensionsProjectSettings.json create mode 100644 ProjectSettings/GvhProjectSettings.xml diff --git a/Assets/ExtensionsAssets.meta b/Assets/ExtensionsAssets.meta new file mode 100644 index 0000000..7e21545 --- /dev/null +++ b/Assets/ExtensionsAssets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d062081e3b400dd418220a7142176266 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ExtensionsAssets/Runtime.meta b/Assets/ExtensionsAssets/Runtime.meta new file mode 100644 index 0000000..1bbd2c4 --- /dev/null +++ b/Assets/ExtensionsAssets/Runtime.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9e1ff1f3b5ba92f4d86926401688d58b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset b/Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset new file mode 100644 index 0000000..f3645de --- /dev/null +++ b/Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset @@ -0,0 +1,16 @@ +%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: e33f0ae6a91754a3d8a1f4e1a8ddd0d6, type: 3} + m_Name: RuntimeConfig + m_EditorClassIdentifier: + IOSCloudServicesApiKey: + ModulesEnabled: [] diff --git a/Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset.meta b/Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset.meta new file mode 100644 index 0000000..11f03cf --- /dev/null +++ b/Assets/ExtensionsAssets/Runtime/RuntimeConfig.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d990dc556983b2e47b9135ba8b6bc596 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins.meta b/Assets/Plugins.meta new file mode 100644 index 0000000..4bcc0ce --- /dev/null +++ b/Assets/Plugins.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95d37853f2a3a3c4ba99f8f0ce30e4cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android.meta b/Assets/Plugins/Android.meta new file mode 100644 index 0000000..8be1f9c --- /dev/null +++ b/Assets/Plugins/Android.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 93447c1cd87a04c4e8ede8f05bbbbb94 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/gradleTemplate.properties b/Assets/Plugins/Android/gradleTemplate.properties new file mode 100644 index 0000000..8704680 --- /dev/null +++ b/Assets/Plugins/Android/gradleTemplate.properties @@ -0,0 +1,8 @@ +org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M +org.gradle.parallel=true +unityStreamingAssets=**STREAMING_ASSETS** +# Android Resolver Properties Start +android.useAndroidX=true +android.enableJetifier=true +# Android Resolver Properties End +**ADDITIONAL_PROPERTIES** diff --git a/Assets/Plugins/Android/gradleTemplate.properties.meta b/Assets/Plugins/Android/gradleTemplate.properties.meta new file mode 100644 index 0000000..80e4aaf --- /dev/null +++ b/Assets/Plugins/Android/gradleTemplate.properties.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: f953870bbb8409444967ac8f9cecd8fa +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/mainTemplate.gradle b/Assets/Plugins/Android/mainTemplate.gradle new file mode 100644 index 0000000..91b28dc --- /dev/null +++ b/Assets/Plugins/Android/mainTemplate.gradle @@ -0,0 +1,42 @@ +apply plugin: 'com.android.library' +**APPLY_PLUGINS** + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.google.android.gms:play-services-auth:16+' +**DEPS**} + +android { + ndkPath "**NDKPATH**" + + compileSdkVersion **APIVERSION** + buildToolsVersion '**BUILDTOOLS**' + + compileOptions { + sourceCompatibility JavaVersion.VERSION_11 + targetCompatibility JavaVersion.VERSION_11 + } + + defaultConfig { + minSdkVersion **MINSDKVERSION** + targetSdkVersion **TARGETSDKVERSION** + ndk { + abiFilters **ABIFILTERS** + } + versionCode **VERSIONCODE** + versionName '**VERSIONNAME**' + consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** + } + + lintOptions { + abortOnError false + } + + aaptOptions { + noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') + ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~" + }**PACKAGING_OPTIONS** +} +**IL_CPP_BUILD_SETUP** +**SOURCE_BUILD_SETUP** +**EXTERNAL_SOURCES** diff --git a/Assets/Plugins/Android/mainTemplate.gradle.meta b/Assets/Plugins/Android/mainTemplate.gradle.meta new file mode 100644 index 0000000..a936dae --- /dev/null +++ b/Assets/Plugins/Android/mainTemplate.gradle.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ddfa0d4d92970ab4fbd8c80cc6c9f138 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/proguard-user.txt b/Assets/Plugins/Android/proguard-user.txt new file mode 100644 index 0000000..4ed074c --- /dev/null +++ b/Assets/Plugins/Android/proguard-user.txt @@ -0,0 +1,34 @@ +### Module Progurad Rules starts ### + +## Default ## +-keep class com.unity3d.plugin.* { *; } + +## AuthenticationModule ## +-keep class com.google.android.gms.common.** { *; } + -keep class com.google.android.gms.auth.** { *; } + -keep class com.google.android.gms.tasks.** { *; } + +### Module Progurad Rules ends ### +### Module Progurad Rules starts ### + +## Default ## +-keep class com.unity3d.plugin.* { *; } + +## AuthenticationModule ## +-keep class com.google.android.gms.common.** { *; } + -keep class com.google.android.gms.auth.** { *; } + -keep class com.google.android.gms.tasks.** { *; } + +### Module Progurad Rules ends ### + +### Module Progurad Rules starts ### + +## Default ## +-keep class com.unity3d.plugin.* { *; } + +## AuthenticationModule ## +-keep class com.google.android.gms.common.** { *; } + -keep class com.google.android.gms.auth.** { *; } + -keep class com.google.android.gms.tasks.** { *; } + +### Module Progurad Rules ends ### diff --git a/Assets/Plugins/Android/proguard-user.txt.meta b/Assets/Plugins/Android/proguard-user.txt.meta new file mode 100644 index 0000000..a2a31a0 --- /dev/null +++ b/Assets/Plugins/Android/proguard-user.txt.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 502aa553b75944c44945bec0fd146e34 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Plugins/Android/settingsTemplate.gradle b/Assets/Plugins/Android/settingsTemplate.gradle new file mode 100644 index 0000000..939fa3d --- /dev/null +++ b/Assets/Plugins/Android/settingsTemplate.gradle @@ -0,0 +1,23 @@ +pluginManagement { + repositories { + **ARTIFACTORYREPOSITORY** + gradlePluginPortal() + google() + mavenCentral() + } +} + +include ':launcher', ':unityLibrary' +**INCLUDES** + +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) + repositories { + **ARTIFACTORYREPOSITORY** + google() + mavenCentral() + flatDir { + dirs "${project(':unityLibrary').projectDir}/libs" + } + } +} diff --git a/Assets/Plugins/Android/settingsTemplate.gradle.meta b/Assets/Plugins/Android/settingsTemplate.gradle.meta new file mode 100644 index 0000000..3514639 --- /dev/null +++ b/Assets/Plugins/Android/settingsTemplate.gradle.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 9eafb3bc564e7ae459ce3a0b2839b8fa +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/ExampleGLTF.unity b/Assets/Scenes/ExampleGLTF.unity index 0f23bd7..e0388d7 100644 --- a/Assets/Scenes/ExampleGLTF.unity +++ b/Assets/Scenes/ExampleGLTF.unity @@ -450,6 +450,7 @@ GameObject: m_Component: - component: {fileID: 334744957} - component: {fileID: 334744956} + - component: {fileID: 334744958} m_Layer: 0 m_Name: XR Origin m_TagString: Untagged @@ -490,6 +491,23 @@ Transform: - {fileID: 789254998} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &334744958 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 334744955} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1b50ad3f5d9024549b0a549c5a03a084, type: 3} + m_Name: + m_EditorClassIdentifier: + Session: {fileID: 1210990017} + Origin: {fileID: 334744956} + CameraManager: {fileID: 13101076} + ARCoreExtensionsConfig: {fileID: 11400000, guid: cf9adc83079e8e1479b1a105856aab0e, type: 2} + CameraConfigFilter: {fileID: 0} --- !u!1 &789254997 GameObject: m_ObjectHideFlags: 0 diff --git a/Packages/manifest.json b/Packages/manifest.json index 4619fac..ae8e363 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -1,5 +1,6 @@ { "dependencies": { + "com.google.ar.core.arfoundation.extensions": "https://github.com/google-ar/arcore-unity-extensions.git", "com.unity.ai.navigation": "1.1.5", "com.unity.cloud.gltfast": "6.4.0", "com.unity.collab-proxy": "2.3.1", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 29b7877..e8e6ecf 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -1,5 +1,16 @@ { "dependencies": { + "com.google.ar.core.arfoundation.extensions": { + "version": "https://github.com/google-ar/arcore-unity-extensions.git", + "depth": 0, + "source": "git", + "dependencies": { + "com.unity.xr.arfoundation": "4.1.5", + "com.unity.xr.arcore": "4.1.5", + "com.unity.xr.arkit": "4.1.5" + }, + "hash": "09f3de423232cb087ab450f72a2ec56eedd9c465" + }, "com.unity.ai.navigation": { "version": "1.1.5", "depth": 0, diff --git a/Packages/unity-world-analysis-arfoundation-wrapper-package b/Packages/unity-world-analysis-arfoundation-wrapper-package index 25a53c5..172068e 160000 --- a/Packages/unity-world-analysis-arfoundation-wrapper-package +++ b/Packages/unity-world-analysis-arfoundation-wrapper-package @@ -1 +1 @@ -Subproject commit 25a53c5037e645114c9930a54c58c0e1e95d6653 +Subproject commit 172068e0fdea526713b4f01c0b95ee0efc02d5a4 diff --git a/ProjectSettings/ARCoreExtensionsProjectSettings.json b/ProjectSettings/ARCoreExtensionsProjectSettings.json new file mode 100644 index 0000000..2a3a485 --- /dev/null +++ b/ProjectSettings/ARCoreExtensionsProjectSettings.json @@ -0,0 +1 @@ +{"Version":"1.44.0","IsIOSSupportEnabled":false,"AndroidAuthenticationStrategySetting":1,"AndroidCloudServicesApiKey":"","IOSAuthenticationStrategySetting":0,"IOSCloudServicesApiKey":"","CloudAnchorEnabled":true,"GeospatialEnabled":false,"GeospatialEditorEnabled":false,"SemanticsIosEnabled":false} \ No newline at end of file diff --git a/ProjectSettings/GvhProjectSettings.xml b/ProjectSettings/GvhProjectSettings.xml new file mode 100644 index 0000000..6349bef --- /dev/null +++ b/ProjectSettings/GvhProjectSettings.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<projectSettings> + <projectSetting name="Google.PackageManagerResolver.VerboseLoggingEnabled" value="False" /> + <projectSetting name="Google.VersionHandler.VerboseLoggingEnabled" value="False" /> + <projectSetting name="GooglePlayServices.UseJetifier" value="True" /> +</projectSettings> \ No newline at end of file diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset index af69ea9..3b85a52 100644 --- a/ProjectSettings/ProjectSettings.asset +++ b/ProjectSettings/ProjectSettings.asset @@ -141,10 +141,11 @@ PlayerSettings: tvOSBundleVersion: 1.0 bundleVersion: 1.0 preloadedAssets: - - {fileID: 1027667839647070798, guid: 8f63412dcece46d4d8ff48fb8fc6c31e, type: 2} + - {fileID: 5732245400625790027, guid: 8f63412dcece46d4d8ff48fb8fc6c31e, type: 2} - {fileID: 11400000, guid: 1ef61a6a59edbba4b81751378314e1d3, type: 2} - - {fileID: 4800000, guid: e7c77f6eaab324a819efdc13b8125a39, type: 3} - - {fileID: 4800000, guid: 6743a50a812740be8c0aa3fccc46fae9, type: 3} + - {fileID: 4800000, guid: c9f956787b1d945e7b36e0516201fc76, type: 3} + - {fileID: 4800000, guid: 0945859e5a1034c2cb6dce53cb4fb899, type: 3} + - {fileID: 11400000, guid: d990dc556983b2e47b9135ba8b6bc596, type: 2} metroInputSource: 0 wsaTransparentSwapchain: 0 m_HolographicPauseOnTrackingLoss: 1 @@ -166,6 +167,7 @@ PlayerSettings: androidMaxAspectRatio: 2.1 applicationIdentifier: Android: com.DefaultCompany.unityworldanalysisvalidation + Standalone: com.DefaultCompany.unity-world-analysis-validation iPhone: com.DefaultCompany.unity-world-analysis-validation buildNumber: Standalone: 0 @@ -258,12 +260,12 @@ PlayerSettings: templateDefaultScene: useCustomMainManifest: 0 useCustomLauncherManifest: 0 - useCustomMainGradleTemplate: 0 + useCustomMainGradleTemplate: 1 useCustomLauncherGradleManifest: 0 useCustomBaseGradleTemplate: 0 - useCustomGradlePropertiesTemplate: 0 + useCustomGradlePropertiesTemplate: 1 useCustomGradleSettingsTemplate: 0 - useCustomProguardFile: 0 + useCustomProguardFile: 1 AndroidTargetArchitectures: 2 AndroidTargetDevices: 0 AndroidSplashScreenScale: 0 @@ -771,6 +773,7 @@ PlayerSettings: webGLMemoryGeometricGrowthCap: 96 webGLPowerPreference: 2 scriptingDefineSymbols: + Android: ARCORE_USE_ARF_5 iPhone: UNITY_XR_ARKIT_LOADER_ENABLED additionalCompilerArguments: {} platformArchitecture: {} @@ -791,7 +794,7 @@ PlayerSettings: m_RenderingPath: 1 m_MobileRenderingPath: 1 metroPackageName: unity-world-analysis-validation - metroPackageVersion: + metroPackageVersion: 1.0.0.0 metroCertificatePath: metroCertificatePassword: metroCertificateSubject: @@ -799,7 +802,7 @@ PlayerSettings: metroCertificateNotAfter: 0000000000000000 metroApplicationDescription: unity-world-analysis-validation wsaImages: {} - metroTileShortName: + metroTileShortName: unity-world-analysis-validation metroTileShowName: 0 metroMediumTileShowName: 0 metroLargeTileShowName: 0 diff --git a/ProjectSettings/ProjectVersion.txt b/ProjectSettings/ProjectVersion.txt index 307ccd3..629f7d4 100644 --- a/ProjectSettings/ProjectVersion.txt +++ b/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2022.3.19f1 -m_EditorVersionWithRevision: 2022.3.19f1 (244b723c30a6) +m_EditorVersion: 2022.3.29f1 +m_EditorVersionWithRevision: 2022.3.29f1 (8d510ca76d2b) -- GitLab