From 5425e3707b1cf47a5a3ce6e5d41875f162b5b67e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 28 Jan 2026 17:32:26 +0000 Subject: [PATCH 1/6] Update Android SDK to 5.4.2 --- OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle | 2 +- .../ProjectSettings/AndroidResolverDependencies.xml | 2 +- .../Editor/OneSignalAndroidDependencies.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle index 8367ed164..0ce97f387 100644 --- a/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle +++ b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle @@ -6,7 +6,7 @@ apply plugin: 'com.android.library' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) // Android Resolver Dependencies Start - implementation 'com.onesignal:OneSignal:5.1.37' // Packages/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml:6 + implementation 'com.onesignal:OneSignal:5.4.2' // Packages/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml:6 // Android Resolver Dependencies End **DEPS**} diff --git a/OneSignalExample/ProjectSettings/AndroidResolverDependencies.xml b/OneSignalExample/ProjectSettings/AndroidResolverDependencies.xml index a8f902665..a293aee5a 100644 --- a/OneSignalExample/ProjectSettings/AndroidResolverDependencies.xml +++ b/OneSignalExample/ProjectSettings/AndroidResolverDependencies.xml @@ -1,6 +1,6 @@ - com.onesignal:OneSignal:5.1.37 + com.onesignal:OneSignal:5.4.2 diff --git a/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml b/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml index ef098636b..eba59b7b6 100644 --- a/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml +++ b/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml @@ -3,6 +3,6 @@ https://repo.maven.apache.org/maven2 - + From 748a9549d81c46723251b20366dbb44b6f77319e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 28 Jan 2026 17:32:27 +0000 Subject: [PATCH 2/6] Update iOS SDK to 5.2.16 --- com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml b/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml index ba5b6bff1..b0afe4823 100644 --- a/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml +++ b/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.xml @@ -1,5 +1,5 @@  - + From 841a739e4dd110afafe3493dffd7bdf1ead8736b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 28 Jan 2026 17:32:28 +0000 Subject: [PATCH 3/6] Release 5.1.16 --- .../Attribution/OneSignal.UnityPackage.Attribution.asmdef | 2 +- .../OneSignal/Editor/OneSignal.UnityPackage.Editor.asmdef | 2 +- .../OneSignal/Example/OneSignal.UnityPackage.Example.asmdef | 2 +- OneSignalExample/Assets/OneSignal/VERSION | 2 +- OneSignalExample/Packages/packages-lock.json | 4 ++-- OneSignalExample/ProjectSettings/ProjectSettings.asset | 2 +- com.onesignal.unity.android/package.json | 4 ++-- com.onesignal.unity.core/Runtime/OneSignal.cs | 2 +- com.onesignal.unity.core/Runtime/OneSignalPlatform.cs | 2 +- com.onesignal.unity.core/package.json | 2 +- .../Runtime/Plugins/iOS/UIApplication+OneSignalUnity.mm | 2 +- com.onesignal.unity.ios/package.json | 4 ++-- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/OneSignalExample/Assets/OneSignal/Attribution/OneSignal.UnityPackage.Attribution.asmdef b/OneSignalExample/Assets/OneSignal/Attribution/OneSignal.UnityPackage.Attribution.asmdef index a82956cd8..954c418d9 100644 --- a/OneSignalExample/Assets/OneSignal/Attribution/OneSignal.UnityPackage.Attribution.asmdef +++ b/OneSignalExample/Assets/OneSignal/Attribution/OneSignal.UnityPackage.Attribution.asmdef @@ -16,7 +16,7 @@ "versionDefines": [ { "name": "com.onesignal.unity.core", - "expression": "5.1.15", + "expression": "5.1.16", "define": "ONE_SIGNAL_INSTALLED" } ], diff --git a/OneSignalExample/Assets/OneSignal/Editor/OneSignal.UnityPackage.Editor.asmdef b/OneSignalExample/Assets/OneSignal/Editor/OneSignal.UnityPackage.Editor.asmdef index d90ee149f..e02effcb1 100644 --- a/OneSignalExample/Assets/OneSignal/Editor/OneSignal.UnityPackage.Editor.asmdef +++ b/OneSignalExample/Assets/OneSignal/Editor/OneSignal.UnityPackage.Editor.asmdef @@ -16,7 +16,7 @@ "versionDefines": [ { "name": "com.onesignal.unity.core", - "expression": "5.1.15", + "expression": "5.1.16", "define": "ONE_SIGNAL_INSTALLED" } ], diff --git a/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef b/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef index e99841511..ade4035fe 100644 --- a/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef +++ b/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef @@ -18,7 +18,7 @@ "versionDefines": [ { "name": "com.onesignal.unity.core", - "expression": "5.1.15", + "expression": "5.1.16", "define": "ONE_SIGNAL_INSTALLED" } ], diff --git a/OneSignalExample/Assets/OneSignal/VERSION b/OneSignalExample/Assets/OneSignal/VERSION index 40dc92612..16cf70e74 100755 --- a/OneSignalExample/Assets/OneSignal/VERSION +++ b/OneSignalExample/Assets/OneSignal/VERSION @@ -1 +1 @@ -5.1.15 \ No newline at end of file +5.1.16 \ No newline at end of file diff --git a/OneSignalExample/Packages/packages-lock.json b/OneSignalExample/Packages/packages-lock.json index ff60483fa..3f998dbe9 100644 --- a/OneSignalExample/Packages/packages-lock.json +++ b/OneSignalExample/Packages/packages-lock.json @@ -5,7 +5,7 @@ "depth": 0, "source": "local", "dependencies": { - "com.onesignal.unity.core": "5.1.15" + "com.onesignal.unity.core": "5.1.16" } }, "com.onesignal.unity.core": { @@ -19,7 +19,7 @@ "depth": 0, "source": "local", "dependencies": { - "com.onesignal.unity.core": "5.1.15" + "com.onesignal.unity.core": "5.1.16" } }, "com.unity.ai.navigation": { diff --git a/OneSignalExample/ProjectSettings/ProjectSettings.asset b/OneSignalExample/ProjectSettings/ProjectSettings.asset index b79c27ffe..611d6e739 100644 --- a/OneSignalExample/ProjectSettings/ProjectSettings.asset +++ b/OneSignalExample/ProjectSettings/ProjectSettings.asset @@ -141,7 +141,7 @@ PlayerSettings: loadStoreDebugModeEnabled: 0 visionOSBundleVersion: 1.0 tvOSBundleVersion: 1.0 - bundleVersion: 5.1.15 + bundleVersion: 5.1.16 preloadedAssets: [] metroInputSource: 0 wsaTransparentSwapchain: 0 diff --git a/com.onesignal.unity.android/package.json b/com.onesignal.unity.android/package.json index e92df9e18..b2ae43f2d 100644 --- a/com.onesignal.unity.android/package.json +++ b/com.onesignal.unity.android/package.json @@ -1,11 +1,11 @@ { "name": "com.onesignal.unity.android", "displayName": "OneSignal Unity SDK - Android", - "version": "5.1.15", + "version": "5.1.16", "unity": "2018.4", "description": "OneSignal is the market leader in customer engagement, powering mobile push, web push, email, and in-app messages.", "dependencies": { - "com.onesignal.unity.core": "5.1.15" + "com.onesignal.unity.core": "5.1.16" }, "keywords": [ "push-notifications", diff --git a/com.onesignal.unity.core/Runtime/OneSignal.cs b/com.onesignal.unity.core/Runtime/OneSignal.cs index 60e43c492..a2a35cbe7 100755 --- a/com.onesignal.unity.core/Runtime/OneSignal.cs +++ b/com.onesignal.unity.core/Runtime/OneSignal.cs @@ -42,7 +42,7 @@ namespace OneSignalSDK /// public static partial class OneSignal { - public const string Version = "5.1.15"; + public const string Version = "5.1.16"; /// /// The default static instance of the OneSignal Unity SDK diff --git a/com.onesignal.unity.core/Runtime/OneSignalPlatform.cs b/com.onesignal.unity.core/Runtime/OneSignalPlatform.cs index 34d1420f8..a07544e31 100644 --- a/com.onesignal.unity.core/Runtime/OneSignalPlatform.cs +++ b/com.onesignal.unity.core/Runtime/OneSignalPlatform.cs @@ -40,7 +40,7 @@ namespace OneSignalSDK { public abstract class OneSignalPlatform { - public const string VersionHeader = "050115"; + public const string VersionHeader = "005116"; internal static event Action OnInitialize; diff --git a/com.onesignal.unity.core/package.json b/com.onesignal.unity.core/package.json index 5411e1d92..5f3438609 100644 --- a/com.onesignal.unity.core/package.json +++ b/com.onesignal.unity.core/package.json @@ -1,7 +1,7 @@ { "name": "com.onesignal.unity.core", "displayName": "OneSignal Unity SDK - Core", - "version": "5.1.15", + "version": "5.1.16", "unity": "2018.4", "description": "OneSignal is the market leader in customer engagement, powering mobile push, web push, email, and in-app messages.", "dependencies": { diff --git a/com.onesignal.unity.ios/Runtime/Plugins/iOS/UIApplication+OneSignalUnity.mm b/com.onesignal.unity.ios/Runtime/Plugins/iOS/UIApplication+OneSignalUnity.mm index 651acf37b..af77a8d1e 100644 --- a/com.onesignal.unity.ios/Runtime/Plugins/iOS/UIApplication+OneSignalUnity.mm +++ b/com.onesignal.unity.ios/Runtime/Plugins/iOS/UIApplication+OneSignalUnity.mm @@ -97,7 +97,7 @@ - (void)setOneSignalUnityDelegate:(id )delegate { - (BOOL)oneSignalApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [OneSignalWrapper setSdkType:@"unity"]; - [OneSignalWrapper setSdkVersion:@"050115"]; + [OneSignalWrapper setSdkVersion:@"005116"]; [OneSignal initialize:nil withLaunchOptions:launchOptions]; if ([self respondsToSelector:@selector(oneSignalApplication:didFinishLaunchingWithOptions:)]) diff --git a/com.onesignal.unity.ios/package.json b/com.onesignal.unity.ios/package.json index b1b1c8a24..a1b08c49b 100644 --- a/com.onesignal.unity.ios/package.json +++ b/com.onesignal.unity.ios/package.json @@ -1,11 +1,11 @@ { "name": "com.onesignal.unity.ios", "displayName": "OneSignal Unity SDK - iOS", - "version": "5.1.15", + "version": "5.1.16", "unity": "2018.4", "description": "OneSignal is the market leader in customer engagement, powering mobile push, web push, email, and in-app messages.", "dependencies": { - "com.onesignal.unity.core": "5.1.15" + "com.onesignal.unity.core": "5.1.16" }, "keywords": [ "push-notifications", From 7d0d7e87b80005aa06ca6ceaf0ea1c81b4be9bfd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 28 Jan 2026 17:33:20 +0000 Subject: [PATCH 4/6] Update CHANGELOG.md for 5.1.16 --- OneSignalExample/Assets/OneSignal/CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OneSignalExample/Assets/OneSignal/CHANGELOG.md b/OneSignalExample/Assets/OneSignal/CHANGELOG.md index 2fd43a785..1bf899c07 100644 --- a/OneSignalExample/Assets/OneSignal/CHANGELOG.md +++ b/OneSignalExample/Assets/OneSignal/CHANGELOG.md @@ -5,6 +5,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [5.1.16] +### Changed + + ## [5.1.15] ### Changed - Updated included Android SDK from 5.1.31 to [5.1.37](https://github.com/OneSignal/OneSignal-Android-SDK/releases/tag/5.1.37) From da64bda44c936e83ac95c1d4be06d54b62337546 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Wed, 28 Jan 2026 11:36:19 -0800 Subject: [PATCH 5/6] update unity example --- .../Plugins/Android/gradleTemplate.properties | 2 +- .../Android/gradleTemplate.properties.backup | 8 + .../Plugins/Android/mainTemplate.gradle | 22 +- .../Android/mainTemplate.gradle.backup | 55 + OneSignalExample/Assets/Settings.meta | 8 + .../Assets/Settings/Build Profiles.meta | 8 + OneSignalExample/Packages/manifest.json | 19 +- OneSignalExample/Packages/packages-lock.json | 77 +- .../ProjectSettings/GvhProjectSettings.xml | 7 +- .../ProjectSettings/MultiplayerManager.asset | 7 + .../ProjectSettings/ProjectVersion.txt | 4 +- .../UserSettings/Layouts/default-6000.dwlt | 1424 +++++++++++++++++ OneSignalExample/UserSettings/Search.settings | 1 + 13 files changed, 1584 insertions(+), 58 deletions(-) create mode 100644 OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup create mode 100644 OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup create mode 100644 OneSignalExample/Assets/Settings.meta create mode 100644 OneSignalExample/Assets/Settings/Build Profiles.meta create mode 100644 OneSignalExample/ProjectSettings/MultiplayerManager.asset create mode 100644 OneSignalExample/UserSettings/Layouts/default-6000.dwlt create mode 100644 OneSignalExample/UserSettings/Search.settings diff --git a/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties b/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties index 4c2b1b2f9..870468097 100644 --- a/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties +++ b/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M org.gradle.parallel=true -unityStreamingAssets=.unity3d**STREAMING_ASSETS** +unityStreamingAssets=**STREAMING_ASSETS** # Android Resolver Properties Start android.useAndroidX=true android.enableJetifier=true diff --git a/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup b/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup new file mode 100644 index 000000000..4c2b1b2f9 --- /dev/null +++ b/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup @@ -0,0 +1,8 @@ +org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M +org.gradle.parallel=true +unityStreamingAssets=.unity3d**STREAMING_ASSETS** +# Android Resolver Properties Start +android.useAndroidX=true +android.enableJetifier=true +# Android Resolver Properties End +**ADDITIONAL_PROPERTIES** diff --git a/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle index 0ce97f387..67f435216 100644 --- a/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle +++ b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle @@ -1,6 +1,7 @@ // GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN apply plugin: 'com.android.library' +apply from: '../shared/keepUnitySymbols.gradle' **APPLY_PLUGINS** dependencies { @@ -12,7 +13,10 @@ dependencies { // Android Resolver Exclusions Start android { - packagingOptions { + namespace "com.unity3d.player" + ndkPath "**NDKPATH**" + ndkVersion "**NDKVERSION**" + packaging { exclude ('/lib/armeabi/*' + '*') exclude ('/lib/mips/*' + '*') exclude ('/lib/mips64/*' + '*') @@ -22,7 +26,7 @@ android { } // Android Resolver Exclusions End android { - compileSdkVersion **APIVERSION** + compileSdk **APIVERSION** buildToolsVersion '**BUILDTOOLS**' compileOptions { @@ -31,9 +35,11 @@ android { } defaultConfig { - minSdkVersion **MINSDKVERSION** - targetSdkVersion **TARGETSDKVERSION** +**DEFAULT_CONFIG_SETUP** + minSdk **MINSDK** + targetSdk **TARGETSDK** ndk { + debugSymbolLevel **DEBUGSYMBOLLEVEL** abiFilters **ABIFILTERS** } versionCode **VERSIONCODE** @@ -41,14 +47,14 @@ android { consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** } - lintOptions { + lint { abortOnError false } - aaptOptions { - noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ') + androidResources { + noCompress = **BUILTIN_NOCOMPRESS** + unityStreamingAssets.tokenize(', ') ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" - }**PACKAGING_OPTIONS** + }**PACKAGING** }**REPOSITORIES** **IL_CPP_BUILD_SETUP** **SOURCE_BUILD_SETUP** diff --git a/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup new file mode 100644 index 000000000..0ce97f387 --- /dev/null +++ b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup @@ -0,0 +1,55 @@ +// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN + +apply plugin: 'com.android.library' +**APPLY_PLUGINS** + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) +// Android Resolver Dependencies Start + implementation 'com.onesignal:OneSignal:5.4.2' // Packages/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.xml:6 +// Android Resolver Dependencies End +**DEPS**} + +// Android Resolver Exclusions Start +android { + packagingOptions { + exclude ('/lib/armeabi/*' + '*') + exclude ('/lib/mips/*' + '*') + exclude ('/lib/mips64/*' + '*') + exclude ('/lib/x86/*' + '*') + exclude ('/lib/x86_64/*' + '*') + } +} +// Android Resolver Exclusions End +android { + compileSdkVersion **APIVERSION** + buildToolsVersion '**BUILDTOOLS**' + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + defaultConfig { + minSdkVersion **MINSDKVERSION** + targetSdkVersion **TARGETSDKVERSION** + ndk { + abiFilters **ABIFILTERS** + } + versionCode **VERSIONCODE** + versionName '**VERSIONNAME**' + consumerProguardFiles 'proguard-unity.txt'**USER_PROGUARD** + } + + lintOptions { + abortOnError false + } + + aaptOptions { + noCompress = ['.ress', '.resource', '.obb'] + unityStreamingAssets.tokenize(', ') + ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~" + }**PACKAGING_OPTIONS** +}**REPOSITORIES** +**IL_CPP_BUILD_SETUP** +**SOURCE_BUILD_SETUP** +**EXTERNAL_SOURCES** diff --git a/OneSignalExample/Assets/Settings.meta b/OneSignalExample/Assets/Settings.meta new file mode 100644 index 000000000..c3b4fcdb5 --- /dev/null +++ b/OneSignalExample/Assets/Settings.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3ca62d3d84934f2a9cbb32b94db9c83 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/OneSignalExample/Assets/Settings/Build Profiles.meta b/OneSignalExample/Assets/Settings/Build Profiles.meta new file mode 100644 index 000000000..d842201c6 --- /dev/null +++ b/OneSignalExample/Assets/Settings/Build Profiles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cbc5e531281f242d8a7727562ab1b405 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/OneSignalExample/Packages/manifest.json b/OneSignalExample/Packages/manifest.json index 27c34a1fd..75d37ff00 100644 --- a/OneSignalExample/Packages/manifest.json +++ b/OneSignalExample/Packages/manifest.json @@ -3,16 +3,17 @@ "com.onesignal.unity.android": "file:../../com.onesignal.unity.android", "com.onesignal.unity.core": "file:../../com.onesignal.unity.core", "com.onesignal.unity.ios": "file:../../com.onesignal.unity.ios", - "com.unity.ai.navigation": "1.1.4", - "com.unity.ide.rider": "3.0.24", - "com.unity.ide.visualstudio": "2.0.18", + "com.unity.ai.navigation": "2.0.9", + "com.unity.ide.rider": "3.0.39", + "com.unity.ide.visualstudio": "2.0.23", "com.unity.ide.vscode": "1.2.5", - "com.unity.test-framework": "1.1.33", - "com.unity.textmeshpro": "3.0.6", - "com.unity.timeline": "1.7.5", - "com.unity.toolchain.macos-x86_64-linux-x86_64": "2.0.4", - "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.4", - "com.unity.ugui": "1.0.0", + "com.unity.multiplayer.center": "1.0.0", + "com.unity.test-framework": "1.6.0", + "com.unity.timeline": "1.8.9", + "com.unity.toolchain.macos-x86_64-linux-x86_64": "2.0.10", + "com.unity.toolchain.win-x86_64-linux-x86_64": "2.0.10", + "com.unity.ugui": "2.0.0", + "com.unity.modules.accessibility": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.animation": "1.0.0", diff --git a/OneSignalExample/Packages/packages-lock.json b/OneSignalExample/Packages/packages-lock.json index 3f998dbe9..86a621b0e 100644 --- a/OneSignalExample/Packages/packages-lock.json +++ b/OneSignalExample/Packages/packages-lock.json @@ -23,7 +23,7 @@ } }, "com.unity.ai.navigation": { - "version": "1.1.5", + "version": "2.0.9", "depth": 0, "source": "registry", "dependencies": { @@ -38,14 +38,13 @@ "dependencies": {} }, "com.unity.ext.nunit": { - "version": "1.0.6", + "version": "2.0.5", "depth": 1, - "source": "registry", - "dependencies": {}, - "url": "https://packages.unity.com" + "source": "builtin", + "dependencies": {} }, "com.unity.ide.rider": { - "version": "3.0.35", + "version": "3.0.39", "depth": 0, "source": "registry", "dependencies": { @@ -54,7 +53,7 @@ "url": "https://packages.unity.com" }, "com.unity.ide.visualstudio": { - "version": "2.0.22", + "version": "2.0.23", "depth": 0, "source": "registry", "dependencies": { @@ -69,44 +68,42 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.multiplayer.center": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": { + "com.unity.modules.uielements": "1.0.0" + } + }, "com.unity.sysroot": { - "version": "2.0.5", + "version": "2.0.10", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.sysroot.linux-x86_64": { - "version": "2.0.4", + "version": "2.0.9", "depth": 1, "source": "registry", "dependencies": { - "com.unity.sysroot": "2.0.5" + "com.unity.sysroot": "2.0.10" }, "url": "https://packages.unity.com" }, "com.unity.test-framework": { - "version": "1.1.33", + "version": "1.6.0", "depth": 0, - "source": "registry", + "source": "builtin", "dependencies": { - "com.unity.ext.nunit": "1.0.6", + "com.unity.ext.nunit": "2.0.3", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" - }, - "url": "https://packages.unity.com" - }, - "com.unity.textmeshpro": { - "version": "3.0.7", - "depth": 0, - "source": "registry", - "dependencies": { - "com.unity.ugui": "1.0.0" - }, - "url": "https://packages.unity.com" + } }, "com.unity.timeline": { - "version": "1.7.7", + "version": "1.8.9", "depth": 0, "source": "registry", "dependencies": { @@ -118,27 +115,27 @@ "url": "https://packages.unity.com" }, "com.unity.toolchain.macos-x86_64-linux-x86_64": { - "version": "2.0.4", + "version": "2.0.10", "depth": 0, "source": "registry", "dependencies": { - "com.unity.sysroot": "2.0.5", - "com.unity.sysroot.linux-x86_64": "2.0.4" + "com.unity.sysroot": "2.0.10", + "com.unity.sysroot.linux-x86_64": "2.0.9" }, "url": "https://packages.unity.com" }, "com.unity.toolchain.win-x86_64-linux-x86_64": { - "version": "2.0.4", + "version": "2.0.10", "depth": 0, "source": "registry", "dependencies": { - "com.unity.sysroot": "2.0.5", - "com.unity.sysroot.linux-x86_64": "2.0.4" + "com.unity.sysroot": "2.0.10", + "com.unity.sysroot.linux-x86_64": "2.0.9" }, "url": "https://packages.unity.com" }, "com.unity.ugui": { - "version": "1.0.0", + "version": "2.0.0", "depth": 0, "source": "builtin", "dependencies": { @@ -146,6 +143,12 @@ "com.unity.modules.imgui": "1.0.0" } }, + "com.unity.modules.accessibility": { + "version": "1.0.0", + "depth": 0, + "source": "builtin", + "dependencies": {} + }, "com.unity.modules.ai": { "version": "1.0.0", "depth": 0, @@ -193,6 +196,12 @@ "com.unity.modules.animation": "1.0.0" } }, + "com.unity.modules.hierarchycore": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": {} + }, "com.unity.modules.imageconversion": { "version": "1.0.0", "depth": 0, @@ -281,7 +290,9 @@ "dependencies": { "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", - "com.unity.modules.jsonserialize": "1.0.0" + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.hierarchycore": "1.0.0", + "com.unity.modules.physics": "1.0.0" } }, "com.unity.modules.umbra": { diff --git a/OneSignalExample/ProjectSettings/GvhProjectSettings.xml b/OneSignalExample/ProjectSettings/GvhProjectSettings.xml index b3045b0d4..5e2f00954 100644 --- a/OneSignalExample/ProjectSettings/GvhProjectSettings.xml +++ b/OneSignalExample/ProjectSettings/GvhProjectSettings.xml @@ -1,9 +1,6 @@ - + @@ -21,4 +18,4 @@ - + \ No newline at end of file diff --git a/OneSignalExample/ProjectSettings/MultiplayerManager.asset b/OneSignalExample/ProjectSettings/MultiplayerManager.asset new file mode 100644 index 000000000..2a936644e --- /dev/null +++ b/OneSignalExample/ProjectSettings/MultiplayerManager.asset @@ -0,0 +1,7 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!655991488 &1 +MultiplayerManager: + m_ObjectHideFlags: 0 + m_EnableMultiplayerRoles: 0 + m_StrippingTypes: {} diff --git a/OneSignalExample/ProjectSettings/ProjectVersion.txt b/OneSignalExample/ProjectSettings/ProjectVersion.txt index 88bb9cf99..b5c96e15d 100644 --- a/OneSignalExample/ProjectSettings/ProjectVersion.txt +++ b/OneSignalExample/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2022.3.10f1 -m_EditorVersionWithRevision: 2022.3.10f1 (ff3792e53c62) +m_EditorVersion: 6000.2.6f2 +m_EditorVersionWithRevision: 6000.2.6f2 (4a4dcaec6541) diff --git a/OneSignalExample/UserSettings/Layouts/default-6000.dwlt b/OneSignalExample/UserSettings/Layouts/default-6000.dwlt new file mode 100644 index 000000000..bfec59aff --- /dev/null +++ b/OneSignalExample/UserSettings/Layouts/default-6000.dwlt @@ -0,0 +1,1424 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &1 +MonoBehaviour: + m_ObjectHideFlags: 52 + 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: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: UnityEditor.dll::UnityEditor.ContainerWindow + m_PixelRect: + serializedVersion: 2 + x: 298 + y: 193 + width: 725 + height: 578 + m_ShowMode: 0 + m_Title: Build Profiles + m_RootView: {fileID: 4} + m_MinSize: {x: 725, y: 426} + m_MaxSize: {x: 4000, y: 4026} + m_Maximized: 0 +--- !u!114 &2 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_PixelRect: + serializedVersion: 2 + x: 0 + y: 66 + width: 1728 + height: 1051 + m_ShowMode: 4 + m_Title: Game + m_RootView: {fileID: 9} + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_Maximized: 1 +--- !u!114 &3 +MonoBehaviour: + m_ObjectHideFlags: 52 + 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: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: BuildProfileWindow + m_EditorClassIdentifier: UnityEditor.dll::UnityEditor.DockArea + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 725 + height: 578 + m_MinSize: {x: 725, y: 426} + m_MaxSize: {x: 4000, y: 4026} + m_ActualView: {fileID: 15} + m_Panes: + - {fileID: 15} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &4 +MonoBehaviour: + m_ObjectHideFlags: 52 + 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: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: UnityEditor.dll::UnityEditor.SplitView + m_Children: + - {fileID: 3} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 725 + height: 578 + m_MinSize: {x: 725, y: 426} + m_MaxSize: {x: 4000, y: 4026} + vertical: 0 + controlID: 1666 + draggingID: 0 +--- !u!114 &5 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 12} + - {fileID: 6} + m_Position: + serializedVersion: 2 + x: 0 + y: 36 + width: 1728 + height: 995 + m_MinSize: {x: 300, y: 100} + m_MaxSize: {x: 24288, y: 16192} + vertical: 0 + controlID: 76 + draggingID: 0 +--- !u!114 &6 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: InspectorWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 1274 + y: 0 + width: 454 + height: 995 + m_MinSize: {x: 276, y: 76} + m_MaxSize: {x: 4001, y: 4026} + m_ActualView: {fileID: 17} + m_Panes: + - {fileID: 17} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &7 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 261 + height: 637.5 + m_MinSize: {x: 201, y: 226} + m_MaxSize: {x: 4001, y: 4026} + m_ActualView: {fileID: 18} + m_Panes: + - {fileID: 18} + m_Selected: 0 + m_LastSelected: 0 +--- !u!114 &8 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: ConsoleWindow + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 637.5 + width: 1274 + height: 357.5 + m_MinSize: {x: 101, y: 126} + m_MaxSize: {x: 4001, y: 4026} + m_ActualView: {fileID: 20} + m_Panes: + - {fileID: 16} + - {fileID: 20} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &9 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12008, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 10} + - {fileID: 5} + - {fileID: 11} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1728 + height: 1051 + m_MinSize: {x: 875, y: 300} + m_MaxSize: {x: 10000, y: 10000} + m_UseTopView: 1 + m_TopViewHeight: 36 + m_UseBottomView: 1 + m_BottomViewHeight: 20 +--- !u!114 &10 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12011, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1728 + height: 36 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} + m_LastLoadedLayoutName: +--- !u!114 &11 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12042, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 0 + y: 1031 + width: 1728 + height: 20 + m_MinSize: {x: 0, y: 0} + m_MaxSize: {x: 0, y: 0} +--- !u!114 &12 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 13} + - {fileID: 8} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1274 + height: 995 + m_MinSize: {x: 200, y: 100} + m_MaxSize: {x: 16192, y: 16192} + vertical: 1 + controlID: 77 + draggingID: 0 +--- !u!114 &13 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12010, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_Children: + - {fileID: 7} + - {fileID: 14} + m_Position: + serializedVersion: 2 + x: 0 + y: 0 + width: 1274 + height: 637.5 + m_MinSize: {x: 200, y: 50} + m_MaxSize: {x: 16192, y: 8096} + vertical: 0 + controlID: 78 + draggingID: 0 +--- !u!114 &14 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0} + m_Name: GameView + m_EditorClassIdentifier: + m_Children: [] + m_Position: + serializedVersion: 2 + x: 261 + y: 0 + width: 1013 + height: 637.5 + m_MinSize: {x: 52, y: 76} + m_MaxSize: {x: 4002, y: 4026} + m_ActualView: {fileID: 21} + m_Panes: + - {fileID: 19} + - {fileID: 21} + m_Selected: 1 + m_LastSelected: 0 +--- !u!114 &15 +MonoBehaviour: + m_ObjectHideFlags: 52 + 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: 15004, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: UnityEditor.BuildProfileModule.dll::UnityEditor.Build.Profile.BuildProfileWindow + m_MinSize: {x: 725, y: 400} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Build Profiles + m_Image: {fileID: 0} + m_Tooltip: + m_TextWithWhitespace: "Build Profiles\u200B" + m_Pos: + serializedVersion: 2 + x: 0 + y: 26 + width: 725 + height: 552 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ContainerData: [] + m_OverlaysVisible: 1 +--- !u!114 &16 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12014, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 230, y: 250} + m_MaxSize: {x: 10000, y: 10000} + m_TitleContent: + m_Text: Project + m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_TextWithWhitespace: "Project\u200B" + m_Pos: + serializedVersion: 2 + x: 0 + y: 739.5 + width: 1273 + height: 331.5 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ContainerData: [] + m_OverlaysVisible: 1 + m_SearchFilter: + m_NameFilter: + m_ClassNames: [] + m_AssetLabels: [] + m_AssetBundleNames: [] + m_ReferencingInstanceIDs: + m_SceneHandles: + m_ShowAllHits: 0 + m_SkipHidden: 0 + m_SearchArea: 1 + m_Folders: + - Packages/com.onesignal.unity.android/Runtime/Utilities + m_Globs: [] + m_ProductIds: + m_AnyWithAssetOrigin: 0 + m_OriginalText: + m_ImportLogFlags: 0 + m_FilterByTypeIntersection: 0 + m_ViewMode: 1 + m_StartGridSize: 64 + m_LastFolders: + - Packages/com.onesignal.unity.android/Runtime/Utilities + m_LastFoldersGridSize: -1 + m_LastProjectPath: /Users/fadigeorge/Documents/Code/SDK/OneSignal-Unity-SDK/OneSignalExample + m_LockTracker: + m_IsLocked: 0 + m_FolderTreeState: + scrollPos: {x: 0, y: 88.5} + m_SelectedIDs: b69b0000 + m_LastClickedID: 39862 + m_ExpandedIDs: 000000002a6f00002c6f0000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_TrimLeadingAndTrailingWhitespace: 0 + m_ClientGUIView: {fileID: 8} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_AssetTreeState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: 000000002a6f00002c6f0000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_TrimLeadingAndTrailingWhitespace: 0 + m_ClientGUIView: {fileID: 0} + m_SearchString: + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_ListAreaState: + m_SelectedInstanceIDs: + m_LastClickedInstanceID: 0 + m_HadKeyboardFocusLastEvent: 0 + m_ExpandedInstanceIDs: c6230000 + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 1 + m_TrimLeadingAndTrailingWhitespace: 0 + m_ClientGUIView: {fileID: 0} + m_CreateAssetUtility: + m_EndAction: {fileID: 0} + m_InstanceID: 0 + m_Path: + m_Icon: {fileID: 0} + m_ResourceFile: + m_NewAssetIndexInList: -1 + m_ScrollPosition: {x: 0, y: 0} + m_GridSize: 64 + m_SkipHiddenPackages: 0 + m_DirectoriesAreaWidth: 199 +--- !u!114 &17 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12019, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 275, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Inspector + m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_TextWithWhitespace: "Inspector\u200B" + m_Pos: + serializedVersion: 2 + x: 1275 + y: 24 + width: 453 + height: 969 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ContainerData: [] + m_OverlaysVisible: 1 + m_ObjectsLockedBeforeSerialization: [] + m_InstanceIDsLockedBeforeSerialization: + m_PreviewResizer: + m_CachedPref: 160 + m_ControlHash: -371814159 + m_PrefName: Preview_InspectorPreview + m_LastInspectedObjectInstanceID: -1 + m_LastVerticalScrollValue: 0 + m_GlobalObjectId: + m_InspectorMode: 0 + m_LockTracker: + m_IsLocked: 0 + m_PreviewWindow: {fileID: 0} +--- !u!114 &18 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12061, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Hierarchy + m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_TextWithWhitespace: "Hierarchy\u200B" + m_Pos: + serializedVersion: 2 + x: 0 + y: 24 + width: 260 + height: 611.5 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ContainerData: [] + m_OverlaysVisible: 1 + m_SceneHierarchy: + m_TreeViewState: + scrollPos: {x: 0, y: 0} + m_SelectedIDs: + m_LastClickedID: 0 + m_ExpandedIDs: dcdefffff4deffffe6dfffff4ce3ffffbae5ffffa4edffffbcedffffaeeeffff20fbffff + m_RenameOverlay: + m_UserAcceptedRename: 0 + m_Name: + m_OriginalName: + m_EditFieldRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 0 + height: 0 + m_UserData: 0 + m_IsWaitingForDelay: 0 + m_IsRenaming: 0 + m_OriginalEventType: 11 + m_IsRenamingFilename: 0 + m_TrimLeadingAndTrailingWhitespace: 0 + m_ClientGUIView: {fileID: 7} + m_SearchString: + m_ExpandedScenes: [] + m_CurrenRootInstanceID: 0 + m_LockTracker: + m_IsLocked: 0 + m_CurrentSortingName: TransformSorting + m_WindowGUID: 46b7a0fefa812c44ca6fda42b4d7b176 +--- !u!114 &19 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12013, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 200, y: 200} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Scene + m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_TextWithWhitespace: "Scene\u200B" + m_Pos: + serializedVersion: 2 + x: 261 + y: 102 + width: 1011 + height: 611.5 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: + - dockPosition: 0 + containerId: overlay-toolbar__top + displayed: 1 + id: unity-transform-toolbar + index: 0 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":-218.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":1,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: -218, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 1 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + displayed: 0 + id: unity-scene-view-toolbar + index: 0 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + displayed: 0 + id: unity-grid-and-snap-toolbar + index: 2 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Light Settings + index: 0 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Orientation + index: 1 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Camera + index: 2 + contents: + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Cloth Constraints + index: 2 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Cloth Collisions + index: 3 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Navmesh Display + index: 5 + contents: + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Agent Display + index: 6 + contents: + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Obstacle Display + index: 7 + contents: + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Occlusion Culling + index: 4 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Scene Visibility + index: 5 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: unity-search-toolbar + index: 6 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Particles + index: 8 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Physics Debugger + index: 9 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Tool Settings + index: 10 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 0 + containerId: overlay-toolbar__top + displayed: 0 + id: Brush Attributes + index: 1 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-toolbar__top + displayed: 1 + id: unity-scene-view-camera-mode-toolbar + index: 1 + contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 24, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 1 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 0 + containerId: overlay-toolbar__left + displayed: 0 + id: Terrain Tools + index: 0 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 0 + containerId: overlay-toolbar__left + displayed: 0 + id: Brush Masks + index: 1 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--left + displayed: 0 + id: Scene View/Lighting Visualization Colors + index: 0 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--left + displayed: 1 + id: Overlays/OverlayMenu + index: 1 + contents: '{"m_Layout":1,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 24, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 1 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: APV Overlay + index: 14 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 1 + id: AINavigationOverlay + index: 7 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":24.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 24, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: SceneView/CamerasOverlay + index: 11 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/PBR Validation Settings + index: 12 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/TrailRenderer + index: 13 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Folded":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":0.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 0, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Open Tile Palette + index: 0 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Tile Palette Clipboard + index: 1 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Tilemap Focus + index: 2 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Tile Palette Brush Pick + index: 4 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Path + index: 18 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + - dockPosition: 1 + containerId: overlay-container--right + displayed: 0 + id: Scene View/Sprite Swap + index: 19 + contents: '{"m_Layout":4,"m_Collapsed":false,"m_Floating":false,"m_FloatingSnapOffset":{"x":0.0,"y":0.0},"m_SnapOffsetDelta":{"x":24.0,"y":0.0},"m_FloatingSnapCorner":0,"m_Size":{"x":0.0,"y":0.0},"m_SizeOverridden":false}' + floating: 0 + collapsed: 0 + snapOffset: {x: 0, y: 0} + snapOffsetDelta: {x: 24, y: 0} + snapCorner: 0 + layout: 4 + size: {x: 0, y: 0} + sizeOverridden: 0 + m_ContainerData: + - containerId: overlay-toolbar__top + scrollOffset: 0 + - containerId: overlay-toolbar__left + scrollOffset: 0 + - containerId: overlay-container--left + scrollOffset: 0 + - containerId: overlay-container--right + scrollOffset: 0 + - containerId: overlay-toolbar__right + scrollOffset: 0 + - containerId: overlay-toolbar__bottom + scrollOffset: 0 + - containerId: Floating + scrollOffset: 0 + m_OverlaysVisible: 1 + m_WindowGUID: d69a67902db7f994ca099bec79d22ce1 + m_Gizmos: 1 + m_OverrideSceneCullingMask: 6917529027641081856 + m_SceneIsLit: 1 + m_SceneLighting: 1 + m_2DMode: 0 + m_isRotationLocked: 0 + m_PlayAudio: 0 + m_AudioPlay: 0 + m_DebugDrawModesUseInteractiveLightBakingData: 0 + m_Position: + m_Target: {x: 0, y: 0, z: 0} + speed: 2 + m_Value: {x: 0, y: 0, z: 0} + m_RenderMode: 0 + m_CameraMode: + drawMode: 0 + name: Shaded + section: Shading Mode + m_ValidateTrueMetals: 0 + m_DoValidateTrueMetals: 0 + m_SceneViewState: + m_AlwaysRefresh: 0 + showFog: 1 + showSkybox: 1 + showFlares: 1 + showImageEffects: 1 + showParticleSystems: 1 + showVisualEffectGraphs: 1 + m_FxEnabled: 1 + m_Grid: + xGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 0, y: 0} + yGrid: + m_Fade: + m_Target: 1 + speed: 2 + m_Value: 1 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + zGrid: + m_Fade: + m_Target: 0 + speed: 2 + m_Value: 0 + m_Color: {r: 0.5, g: 0.5, b: 0.5, a: 0.4} + m_Pivot: {x: 0, y: 0, z: 0} + m_Size: {x: 1, y: 1} + m_ShowGrid: 1 + m_GridAxis: 1 + m_gridOpacity: 0.5 + m_Rotation: + m_Target: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + speed: 2 + m_Value: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_Size: + m_Target: 10 + speed: 2 + m_Value: 1581.2811 + m_Ortho: + m_Target: 0 + speed: 2 + m_Value: 0 + m_CameraSettings: + m_Speed: 1 + m_SpeedNormalized: 0.5 + m_SpeedMin: 0.01 + m_SpeedMax: 2 + m_EasingEnabled: 1 + m_EasingDuration: 0.4 + m_AccelerationEnabled: 1 + m_FieldOfViewHorizontalOrVertical: 60 + m_NearClip: 0.03 + m_FarClip: 10000 + m_DynamicClip: 1 + m_OcclusionCulling: 0 + m_LastSceneViewRotation: {x: -0.08717229, y: 0.89959055, z: -0.21045254, w: -0.3726226} + m_LastSceneViewOrtho: 0 + m_Viewpoint: + m_SceneView: {fileID: 19} + m_CameraOverscanSettings: + m_Opacity: 50 + m_Scale: 1 + m_ReplacementShader: {fileID: 0} + m_ReplacementString: + m_SceneVisActive: 1 + m_LastLockedObject: {fileID: 0} + m_LastDebugDrawMode: + drawMode: 35 + name: Contributors / Receivers + section: Lighting + m_ViewIsLockedToObject: 0 +--- !u!114 &20 +MonoBehaviour: + m_ObjectHideFlags: 52 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 1 + m_Script: {fileID: 12003, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 100, y: 100} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Console + m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_TextWithWhitespace: "Console\u200B" + m_Pos: + serializedVersion: 2 + x: 0 + y: 661.5 + width: 1273 + height: 331.5 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ContainerData: [] + m_OverlaysVisible: 1 +--- !u!114 &21 +MonoBehaviour: + m_ObjectHideFlags: 52 + 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: 12015, guid: 0000000000000000e000000000000000, type: 0} + m_Name: + m_EditorClassIdentifier: + m_MinSize: {x: 50, y: 50} + m_MaxSize: {x: 4000, y: 4000} + m_TitleContent: + m_Text: Game + m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0} + m_Tooltip: + m_TextWithWhitespace: "Game\u200B" + m_Pos: + serializedVersion: 2 + x: 262 + y: 24 + width: 1011 + height: 611.5 + m_SerializedDataModeController: + m_DataMode: 0 + m_PreferredDataMode: 0 + m_SupportedDataModes: + isAutomatic: 1 + m_ViewDataDictionary: {fileID: 0} + m_OverlayCanvas: + m_LastAppliedPresetName: Default + m_SaveData: [] + m_ContainerData: [] + m_OverlaysVisible: 1 + m_SerializedViewNames: + - UnityEditor.DeviceSimulation.SimulatorWindow + m_SerializedViewValues: + - /Users/fadigeorge/Documents/Code/SDK/OneSignal-Unity-SDK/OneSignalExample/Library/PlayModeViewStates/35ac946aa01074e9f94057f0692f7d1e + m_PlayModeViewName: GameView + m_ShowGizmos: 0 + m_TargetDisplay: 0 + m_ClearColor: {r: 0, g: 0, b: 0, a: 0} + m_TargetSize: {x: 2022, y: 1181} + m_TextureFilterMode: 0 + m_TextureHideFlags: 61 + m_RenderIMGUI: 1 + m_EnterPlayModeBehavior: 0 + m_UseMipMap: 0 + m_VSyncEnabled: 0 + m_Gizmos: 0 + m_Stats: 0 + m_SelectedSizes: 00000000000000000000000000000000000000000000000000000000000000000000000000000000 + m_ZoomArea: + m_HRangeLocked: 0 + m_VRangeLocked: 0 + hZoomLockedByDefault: 0 + vZoomLockedByDefault: 0 + m_HBaseRangeMin: -505.5 + m_HBaseRangeMax: 505.5 + m_VBaseRangeMin: -295.25 + m_VBaseRangeMax: 295.25 + m_HAllowExceedBaseRangeMin: 1 + m_HAllowExceedBaseRangeMax: 1 + m_VAllowExceedBaseRangeMin: 1 + m_VAllowExceedBaseRangeMax: 1 + m_ScaleWithWindow: 0 + m_HSlider: 0 + m_VSlider: 0 + m_IgnoreScrollWheelUntilClicked: 0 + m_EnableMouseInput: 1 + m_EnableSliderZoomHorizontal: 0 + m_EnableSliderZoomVertical: 0 + m_UniformScale: 1 + m_UpDirection: 1 + m_DrawArea: + serializedVersion: 2 + x: 0 + y: 21 + width: 1011 + height: 590.5 + m_Scale: {x: 1, y: 1} + m_Translation: {x: 505.5, y: 295.25} + m_MarginLeft: 0 + m_MarginRight: 0 + m_MarginTop: 0 + m_MarginBottom: 0 + m_LastShownAreaInsideMargins: + serializedVersion: 2 + x: -505.5 + y: -295.25 + width: 1011 + height: 590.5 + m_MinimalGUI: 1 + m_defaultScale: 1 + m_LastWindowPixelSize: {x: 2022, y: 1223} + m_ClearInEditMode: 1 + m_NoCameraWarning: 1 + m_LowResolutionForAspectRatios: 00000000000000000000 + m_XRRenderMode: 0 + m_RenderTexture: {fileID: 0} + m_showToolbar: 1 diff --git a/OneSignalExample/UserSettings/Search.settings b/OneSignalExample/UserSettings/Search.settings new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/OneSignalExample/UserSettings/Search.settings @@ -0,0 +1 @@ +{} \ No newline at end of file From c0ae9373a0893d7dcf334ba571f7b1b7f19cddea Mon Sep 17 00:00:00 2001 From: Fadi George Date: Wed, 28 Jan 2026 11:55:41 -0800 Subject: [PATCH 6/6] remove asset store tools --- .csharpierignore | 5 +- .gitignore | 1 + .../gradleTemplate.properties.backup.meta} | 3 +- .../Android/mainTemplate.gradle.backup.meta} | 3 +- .../com.unity.asset-store-tools/CHANGELOG.md | 279 ------ .../CHANGELOG.md.meta | 7 - .../com.unity.asset-store-tools/Editor.meta | 8 - .../Editor/AssemblyInfo.cs | 4 - .../Editor/AssemblyInfo.cs.meta | 11 - .../Editor/AssetStoreTools.cs | 60 -- .../Editor/AssetStoreTools.cs.meta | 11 - .../Editor/AssetStoreToolsWindow.cs | 21 - .../Editor/AssetStoreToolsWindow.cs.meta | 11 - .../Editor/Exporter/ExportResult.cs | 16 - .../Editor/Exporter/ExportResult.cs.meta | 11 - .../Editor/Exporter/ExporterSettings.cs | 18 - .../Editor/Exporter/ExporterSettings.cs.meta | 11 - .../Editor/Exporter/PackageExporter.cs | 137 --- .../Editor/Exporter/PackageExporter.cs.meta | 11 - .../Editor/Exporter/PackageExporterDefault.cs | 321 ------- .../Exporter/PackageExporterDefault.cs.meta | 11 - .../Editor/Exporter/PackageExporterLegacy.cs | 102 --- .../Exporter/PackageExporterLegacy.cs.meta | 11 - .../Unity.AssetStoreTools.Editor.asmdef | 15 - .../Unity.AssetStoreTools.Editor.asmdef.meta | 7 - .../Editor/Uploader.meta | 8 - .../Editor/Uploader/AssetStoreUploader.cs | 227 ----- .../Uploader/AssetStoreUploader.cs.meta | 11 - .../Editor/Uploader/Icons/open-in-browser.png | Bin 878 -> 0 bytes .../Uploader/Icons/open-in-browser.png.meta | 147 ---- .../Uploader/Icons/publisher_portal_black.png | Bin 33281 -> 0 bytes .../Icons/publisher_portal_black.png.meta | 128 --- .../Uploader/Icons/publisher_portal_white.png | Bin 33588 -> 0 bytes .../Icons/publisher_portal_white.png.meta | 128 --- .../Editor/Uploader/Scripts.meta | 8 - .../Editor/Uploader/Scripts/AssetStoreAPI.cs | 796 ------------------ .../Uploader/Scripts/AssetStoreAPI.cs.meta | 11 - .../Editor/Uploader/Scripts/Data.meta | 8 - .../Uploader/Scripts/Data/ASAnalytics.cs | 80 -- .../Uploader/Scripts/Data/ASAnalytics.cs.meta | 3 - .../Uploader/Scripts/Data/OngoingUpload.cs | 39 - .../Scripts/Data/OngoingUpload.cs.meta | 11 - .../Uploader/Scripts/Data/PackageData.cs | 36 - .../Uploader/Scripts/Data/PackageData.cs.meta | 3 - .../Scripts/Data/PackageUploadResult.cs | 46 - .../Scripts/Data/PackageUploadResult.cs.meta | 11 - .../Editor/Uploader/Scripts/UI Elements.meta | 8 - .../Uploader/Scripts/UI Elements/Login.meta | 8 - .../Scripts/UI Elements/Login/LoginWindow.cs | 233 ----- .../UI Elements/Login/LoginWindow.cs.meta | 11 - .../Uploader/Scripts/UI Elements/Upload.meta | 8 - .../UI Elements/Upload/AllPackageView.cs | 408 --------- .../UI Elements/Upload/AllPackageView.cs.meta | 3 - .../UI Elements/Upload/PackageGroup.cs | 180 ---- .../UI Elements/Upload/PackageGroup.cs.meta | 11 - .../Scripts/UI Elements/Upload/PackageView.cs | 720 ---------------- .../UI Elements/Upload/PackageView.cs.meta | 11 - .../UI Elements/Upload/UploadWindow.cs | 105 --- .../UI Elements/Upload/UploadWindow.cs.meta | 11 - .../UI Elements/Upload/Validation.meta | 8 - .../Validation/AssetValidationElement.cs | 116 --- .../Validation/AssetValidationElement.cs.meta | 11 - .../Validation/PackageValidationElement.cs | 190 ----- .../PackageValidationElement.cs.meta | 11 - .../Upload/Validation/ValidationElement.cs | 99 --- .../Validation/ValidationElement.cs.meta | 3 - .../Scripts/UI Elements/Upload/Workflows.meta | 8 - .../Workflows/FolderUploadWorkflowView.cs | 628 -------------- .../FolderUploadWorkflowView.cs.meta | 3 - .../HybridPackageUploadWorkflowView.cs | 415 --------- .../HybridPackageUploadWorkflowView.cs.meta | 3 - .../UnityPackageUploadWorkflowView.cs | 140 --- .../UnityPackageUploadWorkflowView.cs.meta | 3 - .../Upload/Workflows/UploadWorkflowView.cs | 210 ----- .../Workflows/UploadWorkflowView.cs.meta | 11 - .../Editor/Uploader/Scripts/Utility.meta | 8 - .../Scripts/Utility/AssetStoreCache.cs | 128 --- .../Scripts/Utility/AssetStoreCache.cs.meta | 11 - .../Scripts/Utility/PackageFetcher.cs | 93 -- .../Scripts/Utility/PackageFetcher.cs.meta | 3 - .../Scripts/Utility/PackageViewStorer.cs | 31 - .../Scripts/Utility/PackageViewStorer.cs.meta | 11 - .../Editor/Uploader/Styles.meta | 8 - .../Editor/Uploader/Styles/Base.meta | 8 - .../Uploader/Styles/Base/BaseWindow_Dark.uss | 37 - .../Styles/Base/BaseWindow_Dark.uss.meta | 11 - .../Uploader/Styles/Base/BaseWindow_Light.uss | 37 - .../Styles/Base/BaseWindow_Light.uss.meta | 11 - .../Uploader/Styles/Base/BaseWindow_Main.uss | 15 - .../Styles/Base/BaseWindow_Main.uss.meta | 11 - .../Uploader/Styles/Base/BaseWindow_Main.uxml | 14 - .../Styles/Base/BaseWindow_Main.uxml.meta | 10 - .../Editor/Uploader/Styles/Login.meta | 8 - .../Uploader/Styles/Login/Login_Dark.uss | 43 - .../Uploader/Styles/Login/Login_Dark.uss.meta | 11 - .../Uploader/Styles/Login/Login_Light.uss | 43 - .../Styles/Login/Login_Light.uss.meta | 11 - .../Uploader/Styles/Login/Login_Main.uss | 135 --- .../Uploader/Styles/Login/Login_Main.uss.meta | 11 - .../Editor/Uploader/Styles/Upload.meta | 8 - .../Uploader/Styles/Upload/AllPackages.meta | 8 - .../Upload/AllPackages/AllPackages_Dark.uss | 322 ------- .../AllPackages/AllPackages_Dark.uss.meta | 11 - .../Upload/AllPackages/AllPackages_Light.uss | 291 ------- .../AllPackages/AllPackages_Light.uss.meta | 11 - .../Upload/AllPackages/AllPackages_Main.uss | 574 ------------- .../AllPackages/AllPackages_Main.uss.meta | 11 - .../Styles/Upload/UploadWindow_Dark.uss | 7 - .../Styles/Upload/UploadWindow_Dark.uss.meta | 11 - .../Styles/Upload/UploadWindow_Light.uss | 7 - .../Styles/Upload/UploadWindow_Light.uss.meta | 11 - .../Styles/Upload/UploadWindow_Main.uss | 34 - .../Styles/Upload/UploadWindow_Main.uss.meta | 11 - .../Editor/Utility.meta | 8 - .../Editor/Utility/ASDebug.cs | 64 -- .../Editor/Utility/ASDebug.cs.meta | 11 - .../Editor/Utility/ASError.cs | 93 -- .../Editor/Utility/ASError.cs.meta | 11 - .../Editor/Utility/ASToolsPreferences.cs | 140 --- .../Editor/Utility/ASToolsPreferences.cs.meta | 11 - .../Editor/Utility/ASToolsUpdater.cs | 251 ------ .../Editor/Utility/ASToolsUpdater.cs.meta | 11 - .../Editor/Utility/FileUtility.cs | 139 --- .../Editor/Utility/FileUtility.cs.meta | 11 - .../Editor/Utility/Json.cs | 772 ----------------- .../Editor/Utility/Json.cs.meta | 2 - .../Editor/Utility/LegacyToolsRemover.cs | 86 -- .../Editor/Utility/LegacyToolsRemover.cs.meta | 11 - .../Editor/Utility/PackageUtility.cs | 58 -- .../Editor/Utility/PackageUtility.cs.meta | 11 - .../Editor/Utility/StyleSelector.cs | 58 -- .../Editor/Utility/StyleSelector.cs.meta | 11 - .../Editor/Utility/Styles.meta | 8 - .../Editor/Utility/Styles/Updater.meta | 8 - .../Utility/Styles/Updater/Updater_Dark.uss | 7 - .../Styles/Updater/Updater_Dark.uss.meta | 11 - .../Utility/Styles/Updater/Updater_Light.uss | 7 - .../Styles/Updater/Updater_Light.uss.meta | 11 - .../Utility/Styles/Updater/Updater_Main.uss | 76 -- .../Styles/Updater/Updater_Main.uss.meta | 11 - .../Editor/Utility/SymlinkUtil.cs | 67 -- .../Editor/Utility/SymlinkUtil.cs.meta | 3 - .../Editor/Validator.meta | 8 - .../Editor/Validator/AssetStoreValidator.cs | 50 -- .../Validator/AssetStoreValidator.cs.meta | 11 - .../Editor/Validator/Icons.meta | 8 - .../Editor/Validator/Icons/error.png | Bin 1057 -> 0 bytes .../Editor/Validator/Icons/error.png.meta | 128 --- .../Editor/Validator/Icons/error_d.png | Bin 1024 -> 0 bytes .../Editor/Validator/Icons/error_d.png.meta | 128 --- .../Editor/Validator/Icons/success.png | Bin 1583 -> 0 bytes .../Editor/Validator/Icons/success.png.meta | 128 --- .../Editor/Validator/Icons/success_d.png | Bin 1617 -> 0 bytes .../Editor/Validator/Icons/success_d.png.meta | 128 --- .../Editor/Validator/Icons/undefined.png | Bin 1561 -> 0 bytes .../Editor/Validator/Icons/undefined.png.meta | 128 --- .../Editor/Validator/Icons/undefined_d.png | Bin 1600 -> 0 bytes .../Validator/Icons/undefined_d.png.meta | 128 --- .../Editor/Validator/Icons/warning.png | Bin 1141 -> 0 bytes .../Editor/Validator/Icons/warning.png.meta | 128 --- .../Editor/Validator/Icons/warning_d.png | Bin 1185 -> 0 bytes .../Editor/Validator/Icons/warning_d.png.meta | 128 --- .../Editor/Validator/Scripts.meta | 8 - .../Editor/Validator/Scripts/Categories.meta | 3 - .../Scripts/Categories/CategoryEvaluator.cs | 45 - .../Categories/CategoryEvaluator.cs.meta | 3 - .../Scripts/Categories/ValidatorCategory.cs | 38 - .../Categories/ValidatorCategory.cs.meta | 3 - .../Editor/Validator/Scripts/Data.meta | 8 - .../Validator/Scripts/Data/MessageActions.cs | 75 -- .../Scripts/Data/MessageActions.cs.meta | 11 - .../Validator/Scripts/Data/TestResult.cs | 173 ---- .../Validator/Scripts/Data/TestResult.cs.meta | 11 - .../Scripts/Data/ValidationResult.cs | 31 - .../Scripts/Data/ValidationResult.cs.meta | 11 - .../Scripts/Data/ValidationSettings.cs | 10 - .../Scripts/Data/ValidationSettings.cs.meta | 11 - .../Validator/Scripts/Data/ValidationState.cs | 170 ---- .../Scripts/Data/ValidationState.cs.meta | 3 - .../Validator/Scripts/PackageValidator.cs | 295 ------- .../Scripts/PackageValidator.cs.meta | 11 - .../Validator/Scripts/Test Definitions.meta | 8 - .../Scripts/Test Definitions/AutomatedTest.cs | 47 -- .../Test Definitions/AutomatedTest.cs.meta | 11 - .../Scripts/Test Definitions/ITestScript.cs | 9 - .../Test Definitions/ITestScript.cs.meta | 11 - .../Test Definitions/Scriptable Objects.meta | 8 - .../AutomatedTestScriptableObject.cs | 11 - .../AutomatedTestScriptableObject.cs.meta | 11 - .../Scriptable Objects/Editor.meta | 8 - ...ValidationTestScriptableObjectInspector.cs | 181 ---- ...ationTestScriptableObjectInspector.cs.meta | 11 - .../ValidationTestScriptableObject.cs | 33 - .../ValidationTestScriptableObject.cs.meta | 11 - .../Test Definitions/ValidationTest.cs | 36 - .../Test Definitions/ValidationTest.cs.meta | 11 - .../Test Definitions/ValidationTestConfig.cs | 7 - .../ValidationTestConfig.cs.meta | 11 - .../Editor/Validator/Scripts/Tests.meta | 8 - .../Scripts/Tests/Check Animation Clips.asset | 26 - .../Tests/Check Animation Clips.asset.meta | 8 - .../Scripts/Tests/Check Audio Clipping.asset | 32 - .../Tests/Check Audio Clipping.asset.meta | 8 - .../Scripts/Tests/Check Colliders.asset | 26 - .../Scripts/Tests/Check Colliders.asset.meta | 8 - .../Tests/Check Compressed Files.asset | 31 - .../Tests/Check Compressed Files.asset.meta | 8 - .../Scripts/Tests/Check Demo Scenes.asset | 33 - .../Tests/Check Demo Scenes.asset.meta | 8 - .../Scripts/Tests/Check Documentation.asset | 31 - .../Tests/Check Documentation.asset.meta | 8 - .../Scripts/Tests/Check Empty Prefabs.asset | 31 - .../Tests/Check Empty Prefabs.asset.meta | 8 - .../Scripts/Tests/Check File Menu Names.asset | 26 - .../Tests/Check File Menu Names.asset.meta | 8 - .../Validator/Scripts/Tests/Check LODs.asset | 33 - .../Scripts/Tests/Check LODs.asset.meta | 8 - .../Scripts/Tests/Check Line Endings.asset | 26 - .../Tests/Check Line Endings.asset.meta | 8 - .../Scripts/Tests/Check Mesh Prefabs.asset | 26 - .../Tests/Check Mesh Prefabs.asset.meta | 8 - .../Check Missing Components in Assets.asset | 25 - ...ck Missing Components in Assets.asset.meta | 8 - .../Check Missing Components in Scenes.asset | 25 - ...ck Missing Components in Scenes.asset.meta | 8 - .../Tests/Check Model Import Logs.asset | 29 - .../Tests/Check Model Import Logs.asset.meta | 8 - .../Tests/Check Model Orientation.asset | 25 - .../Tests/Check Model Orientation.asset.meta | 8 - .../Scripts/Tests/Check Model Types.asset | 24 - .../Tests/Check Model Types.asset.meta | 8 - .../Tests/Check Normal Map Textures.asset | 25 - .../Check Normal Map Textures.asset.meta | 8 - .../Scripts/Tests/Check Package Size.asset | 24 - .../Tests/Check Package Size.asset.meta | 8 - .../Tests/Check Particle Systems.asset | 25 - .../Tests/Check Particle Systems.asset.meta | 8 - .../Scripts/Tests/Check Path Lengths.asset | 25 - .../Tests/Check Path Lengths.asset.meta | 8 - .../Tests/Check Prefab Transforms.asset | 28 - .../Tests/Check Prefab Transforms.asset.meta | 8 - .../Tests/Check Script Compilation.asset | 25 - .../Tests/Check Script Compilation.asset.meta | 8 - .../Tests/Check Shader Compilation.asset | 25 - .../Tests/Check Shader Compilation.asset.meta | 8 - .../Tests/Check Texture Dimensions.asset | 25 - .../Tests/Check Texture Dimensions.asset.meta | 8 - .../Scripts/Tests/Check Type Namespaces.asset | 26 - .../Tests/Check Type Namespaces.asset.meta | 8 - .../Tests/Remove Executable Files.asset | 27 - .../Tests/Remove Executable Files.asset.meta | 8 - .../Scripts/Tests/Remove JPG Files.asset | 30 - .../Scripts/Tests/Remove JPG Files.asset.meta | 8 - .../Tests/Remove JavaScript Files.asset | 25 - .../Tests/Remove JavaScript Files.asset.meta | 8 - .../Tests/Remove Lossy Audio Files.asset | 32 - .../Tests/Remove Lossy Audio Files.asset.meta | 8 - .../Scripts/Tests/Remove Mixamo Files.asset | 26 - .../Tests/Remove Mixamo Files.asset.meta | 8 - .../Tests/Remove SpeedTree Files.asset | 25 - .../Tests/Remove SpeedTree Files.asset.meta | 8 - .../Scripts/Tests/Remove Video Files.asset | 26 - .../Tests/Remove Video Files.asset.meta | 8 - .../Validator/Scripts/Tests/Test Methods.meta | 8 - .../Tests/Test Methods/CheckAnimationClips.cs | 55 -- .../Test Methods/CheckAnimationClips.cs.meta | 11 - .../Tests/Test Methods/CheckAudioClipping.cs | 119 --- .../Test Methods/CheckAudioClipping.cs.meta | 11 - .../Tests/Test Methods/CheckColliders.cs | 44 - .../Tests/Test Methods/CheckColliders.cs.meta | 11 - .../Test Methods/CheckCompressedFiles.cs | 110 --- .../Test Methods/CheckCompressedFiles.cs.meta | 11 - .../Tests/Test Methods/CheckDemoScenes.cs | 161 ---- .../Test Methods/CheckDemoScenes.cs.meta | 11 - .../Tests/Test Methods/CheckDocumentation.cs | 64 -- .../Test Methods/CheckDocumentation.cs.meta | 11 - .../Tests/Test Methods/CheckEmptyPrefabs.cs | 37 - .../Test Methods/CheckEmptyPrefabs.cs.meta | 11 - .../Tests/Test Methods/CheckFileMenuNames.cs | 142 ---- .../Test Methods/CheckFileMenuNames.cs.meta | 11 - .../Scripts/Tests/Test Methods/CheckLODs.cs | 69 -- .../Tests/Test Methods/CheckLODs.cs.meta | 11 - .../Tests/Test Methods/CheckLineEndings.cs | 68 -- .../Test Methods/CheckLineEndings.cs.meta | 11 - .../Tests/Test Methods/CheckMeshPrefabs.cs | 95 --- .../Test Methods/CheckMeshPrefabs.cs.meta | 11 - .../CheckMissingComponentsinAssets.cs | 57 -- .../CheckMissingComponentsinAssets.cs.meta | 11 - .../CheckMissingComponentsinScenes.cs | 81 -- .../CheckMissingComponentsinScenes.cs.meta | 11 - .../Test Methods/CheckModelImportLogs.cs | 53 -- .../Test Methods/CheckModelImportLogs.cs.meta | 11 - .../Test Methods/CheckModelOrientation.cs | 60 -- .../CheckModelOrientation.cs.meta | 11 - .../Tests/Test Methods/CheckModelTypes.cs | 49 -- .../Test Methods/CheckModelTypes.cs.meta | 11 - .../Test Methods/CheckNormalMapTextures.cs | 86 -- .../CheckNormalMapTextures.cs.meta | 11 - .../Tests/Test Methods/CheckPackageSize.cs | 65 -- .../Test Methods/CheckPackageSize.cs.meta | 11 - .../Test Methods/CheckParticleSystems.cs | 64 -- .../Test Methods/CheckParticleSystems.cs.meta | 11 - .../Tests/Test Methods/CheckPathLengths.cs | 89 -- .../Test Methods/CheckPathLengths.cs.meta | 11 - .../Test Methods/CheckPrefabTransforms.cs | 60 -- .../CheckPrefabTransforms.cs.meta | 11 - .../Test Methods/CheckScriptCompilation.cs | 30 - .../CheckScriptCompilation.cs.meta | 11 - .../Test Methods/CheckShaderCompilation.cs | 52 -- .../CheckShaderCompilation.cs.meta | 11 - .../Test Methods/CheckTextureDimensions.cs | 48 -- .../CheckTextureDimensions.cs.meta | 11 - .../Tests/Test Methods/CheckTypeNamespaces.cs | 115 --- .../Test Methods/CheckTypeNamespaces.cs.meta | 11 - .../Test Methods/RemoveExecutableFiles.cs | 29 - .../RemoveExecutableFiles.cs.meta | 11 - .../Tests/Test Methods/RemoveJPGFiles.cs | 29 - .../Tests/Test Methods/RemoveJPGFiles.cs.meta | 11 - .../Test Methods/RemoveJavaScriptFiles.cs | 29 - .../RemoveJavaScriptFiles.cs.meta | 11 - .../Test Methods/RemoveLossyAudioFiles.cs | 74 -- .../RemoveLossyAudioFiles.cs.meta | 11 - .../Tests/Test Methods/RemoveMixamoFiles.cs | 29 - .../Test Methods/RemoveMixamoFiles.cs.meta | 11 - .../Test Methods/RemoveSpeedTreeFiles.cs | 29 - .../Test Methods/RemoveSpeedTreeFiles.cs.meta | 11 - .../Tests/Test Methods/RemoveVideoFiles.cs | 29 - .../Test Methods/RemoveVideoFiles.cs.meta | 11 - .../Scripts/Tests/Test Methods/Utility.meta | 8 - .../Test Methods/Utility/AssetUtility.cs | 316 ------- .../Test Methods/Utility/AssetUtility.cs.meta | 11 - .../Utility/FileSignatureUtility.cs | 98 --- .../Utility/FileSignatureUtility.cs.meta | 11 - .../Tests/Test Methods/Utility/MeshUtility.cs | 26 - .../Test Methods/Utility/MeshUtility.cs.meta | 11 - .../Test Methods/Utility/ModelUtility.cs | 143 ---- .../Test Methods/Utility/ModelUtility.cs.meta | 11 - .../Test Methods/Utility/SceneUtility.cs | 26 - .../Test Methods/Utility/SceneUtility.cs.meta | 11 - .../Test Methods/Utility/ScriptUtility.cs | 659 --------------- .../Utility/ScriptUtility.cs.meta | 11 - .../Editor/Validator/Scripts/UI Elements.meta | 3 - .../UI Elements/AutomatedTestElement.cs | 237 ------ .../UI Elements/AutomatedTestElement.cs.meta | 3 - .../UI Elements/AutomatedTestsGroup.cs | 251 ------ .../UI Elements/AutomatedTestsGroup.cs.meta | 3 - .../UI Elements/AutomatedTestsGroupElement.cs | 143 ---- .../AutomatedTestsGroupElement.cs.meta | 3 - .../Scripts/UI Elements/PathBoxElement.cs | 248 ------ .../UI Elements/PathBoxElement.cs.meta | 11 - .../UI Elements/ValidationInfoElement.cs | 58 -- .../UI Elements/ValidationInfoElement.cs.meta | 3 - .../Editor/Validator/Scripts/Utility.meta | 8 - .../Scripts/Utility/ValidatorUtility.cs | 99 --- .../Scripts/Utility/ValidatorUtility.cs.meta | 11 - .../Editor/Validator/Styles.meta | 8 - .../Validator/Styles/Validator_Dark.uss | 184 ---- .../Validator/Styles/Validator_Dark.uss.meta | 11 - .../Validator/Styles/Validator_Light.uss | 189 ----- .../Validator/Styles/Validator_Light.uss.meta | 11 - .../Validator/Styles/Validator_Main.uss | 384 --------- .../Validator/Styles/Validator_Main.uss.meta | 11 - .../com.unity.asset-store-tools/LICENSE.md | 5 - .../LICENSE.md.meta | 7 - .../com.unity.asset-store-tools/package.json | 8 - .../package.json.meta | 7 - OneSignalExample/Packages/manifest.json | 11 +- OneSignalExample/Packages/packages-lock.json | 27 +- .../ProjectSettings/ProjectSettings.asset | 68 +- .../UserSettings/Layouts/default-6000.dwlt | 319 +++++-- OneSignalExample/UserSettings/Search.settings | 83 +- 371 files changed, 376 insertions(+), 19805 deletions(-) rename OneSignalExample/{Packages/com.unity.asset-store-tools/Editor/Exporter.meta => Assets/Plugins/Android/gradleTemplate.properties.backup.meta} (67%) rename OneSignalExample/{Packages/com.unity.asset-store-tools/Editor/Uploader/Icons.meta => Assets/Plugins/Android/mainTemplate.gradle.backup.meta} (67%) delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/open-in-browser.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/open-in-browser.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_black.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_black.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login/LoginWindow.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login/LoginWindow.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/AllPackageView.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/AllPackageView.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/PackageGroup.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/PackageGroup.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/PackageView.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/PackageView.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/UploadWindow.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/UploadWindow.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation/AssetValidationElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation/AssetValidationElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation/PackageValidationElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation/PackageValidationElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation/ValidationElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Validation/ValidationElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/FolderUploadWorkflowView.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/FolderUploadWorkflowView.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/HybridPackageUploadWorkflowView.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/HybridPackageUploadWorkflowView.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/UnityPackageUploadWorkflowView.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/UnityPackageUploadWorkflowView.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/UploadWorkflowView.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Upload/Workflows/UploadWorkflowView.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility/AssetStoreCache.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility/AssetStoreCache.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility/PackageFetcher.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility/PackageFetcher.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility/PackageViewStorer.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Utility/PackageViewStorer.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Dark.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Dark.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Light.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Light.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Main.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Main.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Main.uxml delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Main.uxml.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login/Login_Dark.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login/Login_Dark.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login/Login_Light.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login/Login_Light.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login/Login_Main.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Login/Login_Main.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages/AllPackages_Dark.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages/AllPackages_Dark.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages/AllPackages_Light.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages/AllPackages_Light.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages/AllPackages_Main.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/AllPackages/AllPackages_Main.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/UploadWindow_Dark.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/UploadWindow_Dark.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/UploadWindow_Light.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/UploadWindow_Light.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/UploadWindow_Main.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Upload/UploadWindow_Main.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASDebug.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASDebug.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASError.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASError.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASToolsPreferences.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASToolsPreferences.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASToolsUpdater.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/ASToolsUpdater.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/FileUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/FileUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Json.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Json.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/LegacyToolsRemover.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/LegacyToolsRemover.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/PackageUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/PackageUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/StyleSelector.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/StyleSelector.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater/Updater_Dark.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater/Updater_Dark.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater/Updater_Light.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater/Updater_Light.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater/Updater_Main.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/Styles/Updater/Updater_Main.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/SymlinkUtil.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Utility/SymlinkUtil.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/AssetStoreValidator.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/AssetStoreValidator.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/error.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/error.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/error_d.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/error_d.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/success.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/success.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/success_d.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/success_d.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/undefined.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/undefined.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/undefined_d.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/undefined_d.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/warning.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/warning.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/warning_d.png delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Icons/warning_d.png.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Categories.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Categories/CategoryEvaluator.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Categories/CategoryEvaluator.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Categories/ValidatorCategory.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Categories/ValidatorCategory.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/MessageActions.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/MessageActions.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/TestResult.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/TestResult.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/ValidationResult.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/ValidationResult.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/ValidationSettings.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/ValidationSettings.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/ValidationState.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Data/ValidationState.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/PackageValidator.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/PackageValidator.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/AutomatedTest.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/AutomatedTest.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/ITestScript.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/ITestScript.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/AutomatedTestScriptableObject.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/AutomatedTestScriptableObject.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/Editor.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/Editor/ValidationTestScriptableObjectInspector.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/Editor/ValidationTestScriptableObjectInspector.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/ValidationTestScriptableObject.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/Scriptable Objects/ValidationTestScriptableObject.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/ValidationTest.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/ValidationTest.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/ValidationTestConfig.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Test Definitions/ValidationTestConfig.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Animation Clips.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Animation Clips.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Audio Clipping.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Audio Clipping.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Colliders.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Colliders.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Compressed Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Compressed Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Demo Scenes.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Demo Scenes.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Documentation.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Documentation.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Empty Prefabs.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Empty Prefabs.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check File Menu Names.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check File Menu Names.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check LODs.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check LODs.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Line Endings.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Line Endings.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Mesh Prefabs.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Mesh Prefabs.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Missing Components in Assets.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Missing Components in Assets.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Missing Components in Scenes.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Missing Components in Scenes.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Model Import Logs.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Model Import Logs.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Model Orientation.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Model Orientation.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Model Types.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Model Types.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Normal Map Textures.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Normal Map Textures.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Package Size.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Package Size.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Particle Systems.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Particle Systems.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Path Lengths.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Path Lengths.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Prefab Transforms.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Prefab Transforms.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Script Compilation.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Script Compilation.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Shader Compilation.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Shader Compilation.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Texture Dimensions.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Texture Dimensions.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Type Namespaces.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Check Type Namespaces.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Executable Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Executable Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove JPG Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove JPG Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove JavaScript Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove JavaScript Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Lossy Audio Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Lossy Audio Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Mixamo Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Mixamo Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove SpeedTree Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove SpeedTree Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Video Files.asset delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Remove Video Files.asset.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckAnimationClips.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckAnimationClips.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckAudioClipping.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckAudioClipping.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckColliders.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckColliders.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckCompressedFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckCompressedFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckDemoScenes.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckDemoScenes.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckDocumentation.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckDocumentation.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckEmptyPrefabs.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckEmptyPrefabs.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckFileMenuNames.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckFileMenuNames.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckLODs.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckLODs.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckLineEndings.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckLineEndings.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckMeshPrefabs.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckMeshPrefabs.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckMissingComponentsinAssets.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckMissingComponentsinAssets.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckMissingComponentsinScenes.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckMissingComponentsinScenes.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckModelImportLogs.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckModelImportLogs.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckModelOrientation.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckModelOrientation.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckModelTypes.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckModelTypes.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckNormalMapTextures.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckNormalMapTextures.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckPackageSize.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckPackageSize.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckParticleSystems.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckParticleSystems.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckPathLengths.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckPathLengths.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckPrefabTransforms.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckPrefabTransforms.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckScriptCompilation.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckScriptCompilation.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckShaderCompilation.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckShaderCompilation.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckTextureDimensions.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckTextureDimensions.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckTypeNamespaces.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/CheckTypeNamespaces.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveExecutableFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveExecutableFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveJPGFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveJPGFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveJavaScriptFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveJavaScriptFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveLossyAudioFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveLossyAudioFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveMixamoFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveMixamoFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveSpeedTreeFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveSpeedTreeFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveVideoFiles.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/RemoveVideoFiles.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/AssetUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/AssetUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/FileSignatureUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/FileSignatureUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/MeshUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/MeshUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/ModelUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/ModelUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/SceneUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/SceneUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/ScriptUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Tests/Test Methods/Utility/ScriptUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/AutomatedTestElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/AutomatedTestElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/AutomatedTestsGroup.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/AutomatedTestsGroup.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/AutomatedTestsGroupElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/AutomatedTestsGroupElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/PathBoxElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/PathBoxElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/ValidationInfoElement.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/UI Elements/ValidationInfoElement.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Utility.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Utility/ValidatorUtility.cs delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/Utility/ValidatorUtility.cs.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles/Validator_Dark.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles/Validator_Dark.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles/Validator_Light.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles/Validator_Light.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles/Validator_Main.uss delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Validator/Styles/Validator_Main.uss.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/LICENSE.md delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/LICENSE.md.meta delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/package.json delete mode 100644 OneSignalExample/Packages/com.unity.asset-store-tools/package.json.meta diff --git a/.csharpierignore b/.csharpierignore index d0f9d4c20..9cc48c83c 100644 --- a/.csharpierignore +++ b/.csharpierignore @@ -1,2 +1,5 @@ # Exclude Packages folders (Unity packages and third-party code) -**/Packages/** \ No newline at end of file +**/Packages/** + +# Exclude non-C# files +**/*.xml \ No newline at end of file diff --git a/.gitignore b/.gitignore index 5aa842a38..bc946e8e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ OneSignalExample/.idea/ +OneSignalExample/.utmp/ .DS_Store diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter.meta b/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup.meta similarity index 67% rename from OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter.meta rename to OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup.meta index 4e1143b83..e9c755ead 100644 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter.meta +++ b/OneSignalExample/Assets/Plugins/Android/gradleTemplate.properties.backup.meta @@ -1,6 +1,5 @@ fileFormatVersion: 2 -guid: 5f5ca981958937a43997a9f365759edf -folderAsset: yes +guid: 0ae810e7442784060be01bbd863c3355 DefaultImporter: externalObjects: {} userData: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons.meta b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup.meta similarity index 67% rename from OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons.meta rename to OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup.meta index 7026063d3..ca953088e 100644 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons.meta +++ b/OneSignalExample/Assets/Plugins/Android/mainTemplate.gradle.backup.meta @@ -1,6 +1,5 @@ fileFormatVersion: 2 -guid: ab9d0e254817f4f4589a6a378d77babc -folderAsset: yes +guid: 219a95088b39942d789aad72e89674fd DefaultImporter: externalObjects: {} userData: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md b/OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md deleted file mode 100644 index 2c7b5b11c..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md +++ /dev/null @@ -1,279 +0,0 @@ -# Changelog -All notable changes to this package will be documented in this file. - -## [11.4.3] - 2024-08-01 - -### Validator Changes -- Hotfix: Remove non-ascii characters from the demo scene validation - -## [11.4.2] - 2024-07-30 - -### Validator Changes -- Check for nested .unitypackage files in the demo scene validation -- Prevent normal map test from erroring when misc importer types are detected -- Remove Templates category from the uncompressed images requirement list - -## [11.4.1] - 2024-05-10 - -### Exporter Changes -- Fixed an issue with bundled plugin folder contents not being exported - -### Other -- Miscellaneous internal changes - -## [11.4.0] - 2024-01-23 - -### Uploader Changes -- Added prevention of uploading packages larger than 6 GB -- Added a prompt to allow automatically generating meta files within hidden folders -- Fixed some obsolete API usage warnings in newer Unity versions - -### Validator Changes -- Added validation tests for: - - Animation Clip take names - - Model import logs - - Uncompressed Package size -- Updated the fail severity of Audio Clipping validation test -- Updated the Demo Scene test to treat default scenes with custom skyboxes as valid demo scenes -- Fixed some obsolete API usage warnings in newer Unity versions - -### Other -- Added an option to check for Asset Store Publishing Tools updates - -## [11.3.1] - 2023-08-14 - -### Uploader Changes -- Added the option to select indirect package dependencies from the project (e.g. Mathematics package installed by the Burst package) - -### Validator Changes -- Updated the Texture Dimensions test to ignore 'Sprite' and 'Editor GUI' texture types - -### Exporter Changes -- Updated exporter to ignore the 'ProjectSettings/ProjectVersion.txt' asset when exporting 'Complete Project' category packages - -## [11.3.0] - 2023-07-04 - -### Uploader Changes - -- Added the option to validate a pre-exported package -- Added the option to export a .unitypackage file without uploading -- Updated the dependency selection UI - -### Validator Changes - -- Added the option to validate several asset paths at once - - Note: when validating package that is comprised of several folders (e.g. Assets/MyPackage + - Assets/StreamingAssets + Assets/WebGLTemplates), please select all applicable paths that would be included in the package -- Added several new validation tests for: - - File Menu Names - - Compressed files - - Model Types - - Texture Dimensions - - Particle Systems - - Normal Map Textures - - Audio Clipping - - Path Lengths - - Script Compilation -- Updated validation test severities based on package category -- Updated validation tests to each have their own test logic class -- Updated validation tests to be displayed in alphabetical order -- Fixed several issues with the namespace check test -- Fixed scenes in Samples~ folders not being taken into account for the sample scene check test -- Other internal changes - -### Exporter Changes - -- Package exporter is now a separate module (similar to Uploader and Validator) -- Fixed hidden folders being included when exporting package content - - Note: this prevents an issue with the Unity Editor, where exported hidden folders would appear in the Project window - as empty folders when imported, despite having content on disk. Content nested within hidden folders is still collected, - provided it contains unique .meta files - -## [11.2.2] - 2023-02-23 - -### Validator Changes - -- Updated the 'LOD Setup' test to address some issues - - Added additional checks for LOD renderers (inactive renderer check, LOD Group reference check, relative hierarchy position to LOD Group check) - - LOD Group Component is no longer required to be on the root of the Prefab - - Updated the test result message interface when invalid Prefabs are found - -## [11.2.1] - 2023-01-17 - -### Uploader Changes - -- Added a more informative error when exporting content with clashing guid meta files in hidden folders -- Fixed a compilation issue for Unity 2020.1 and 2020.2 -- Fixed a rare error condition when queueing multiple package uploads in quick succession -- Fixed Asset Store Uploader state not being properly reset if the uploading process fails - -### Validator Changes - -- Updated the Asset Store Validator description -- Fixed a rare memory overflow issue when performing package validation - -## [11.2.0] - 2022-11-03 - -### Uploader Changes - -- Uploader will now use the custom package exporter by default - - An option to use the legacy (native) exporter can be found in the Asset Store Publishing Tools' settings window -- When exporting from the Assets folder, package dependencies can now be selected individually instead of being a choice between 'All' or 'None' - - This option is only available with the custom exporter -- Changed the way the Uploader reports completed uploading tasks - - Modal pop-up has been replaced by a new UI view state - - Added an option to the Asset Store Publishing Tools' Settings to display the pop-up after a completed upload -- Changed exported .unitypackage files to have distinguishable file names -- Fixed the Uploader window indefinitely stalling at 100% upload progress when a response from the Asset Store server is not received -- Fixed native package exporter producing broken packages when the export path contained hidden folders -- Fixed an issue with high CPU usage when uploading packages -- Fixed Asset Store Publishing Tools' settings not being saved between Editor sessions on macOS -- Other minor changes and tweaks - -### Validator Changes - -- Added two new tests: - - 'Types have namespaces': checks whether scripts and native libraries under the validated path are nested under a namespace - - 'Consistent line endings': checks whether scripts under the validated path have consistent line endings. This is similar to the warning from the Unity Editor compilation pipeline when a script contains both Windows and UNIX line endings. -- Improved 'Reset Prefabs' test to display and be more informative about prefabs with unusually low transform values -- Improved 'SpeedTree asset inclusion' test to search for '.st' files -- Improved 'Documentation inclusion' test to treat '.md' files as valid documentation files -- Improved 'Lossy audio file inclusion' test to treat '.aif' and '.aiff' files as valid non-lossy audio files -- Improved 'Lossy audio file inclusion' test to search the project for non-lossy variants of existing lossy audio files -- Removed 'Duplicate animation names' test -- Tweaked validation severities for several tests -- Other minor changes and tweaks - -## [11.1.0] - 2022-09-14 - -### Uploader Changes - -- Package Publisher Portal links can now be opened for all packages regardless of package status -- External Dependency Manager can now be selected as a 'Special Folder' if found in the root Assets folder - -### Validator Changes - -- Added category selection for the Validator - - Categories help determine the outcome of package validation more accurately. For example, documentation is not crucial for art packages, but is required for tooling packages. -- Added a list of prefabs with missing mesh references to 'Meshes have Prefabs' test when the test fails -- Corrected the message for a passing 'Shader compilation errors' test -- Improved the floating point precision accuracy of 'Reset Prefabs' test -- Fixed 'Missing Components in Assets' test checking all project folders instead of only the set path -- Fixed 'Prefabs for meshes' test not checking meshes in certain paths -- Fixed 'Reset Prefabs' test failing because of Prefabs with a Rect Transform Component -- Fixed 'Reset Prefabs' test ignoring Transform rotation -- Fixed test description text overlapping in some cases -- Other minor changes and tweaks - -## [11.0.2] - 2022-08-09 - -- Corrected some namespaces which were causing issues when deriving classes from Editor class - -## [11.0.1] - 2022-08-05 - -### Uploader Changes - -- Added Settings window (Asset Store Tools > Settings) -- Added Soft/Junction Symlink support (enable through Settings) -- Added workflow and path selection serialization (workflow saved locally, paths locally and online) -- No more logs when using the `-nullable` compiler option (thanks @alfish) -- Some API refactoring in preparation for CLI support -- Other minor fixes/improvements - -**Note:** when updating Asset Store Tools from the Package Manager, don't forget to remove the old version from the project (V11.0.0) before importing the new one (V11.0.1) - - -## [11.0.0] - 2022-07-20 - -### Uploader changes - -- UI has been reworked using UI Toolkit -- New login window, allowing to login using Unity Cloud Services -- Improved top bar, including search and sorting -- Draft packages moved to the top -- Added category, size, and last modified date next to the package -- Added a link to the publishing portal next to the package -- New uploading flow: “Pre-exported .unitypackage” -- Previous uploading flow (folder selection) has been renamed to “From Assets Folder” -- Dependencies check has been renamed to “Include Package Manifest” for clarity -- Special Folders can now be selected and uploaded together with the package’s main folder (i.e. StreamingAssets, Plugins) -- You can now upload to multiple packages at the same time without waiting for the first one to finish -- Package can now be validated in the Uploading window by pressing the “Validate” button -- Added refresh and logout buttons to the bottom toolbar for easier access -- Packages caching - package information will no longer be redownloaded every time you open the Uploader window during the same Editor session -- (Experimental) Custom exporter - will export your package ~2 times faster, but may miss some asset previews in the final product. To enable it - click three dots on the top left side of the window and enable “Use Custom Exporting” - - -### Validator changes - -- UI has been reworked using UI Toolkit -- New tests based on the new guidelines -- Updated tests’ titles, descriptions, and error reporting - -## [5.0.5] - 2021-11-04 - -- Fixed namespace issues - -## [5.0.4] - 2020-07-28 - -- Fixed issues with Unity 2020.1 - -## [5.0.3] - 2020-05-07 - -- Remove "Remove Standard Assets" check - -## [5.0.2] - 2020-04-21 - -- Enable auto login with Unity account -- Upload package with thread - -## [5.0.1] - 2020-03-23 - -- Fix domain resolve issue - -## [5.0.0] - 2019-10-09 - -- Added "Package Validator" tool -- Added Help window -- Added logout confirmation popup -- Updated toolbar menu layout -- Removed "Mass Labeler" tool -- Updated layout of Login and Package Upload windows -- Error messages are now more elaborate and user-friendly -- Removed deprecated "Main Assets" step from the Package Upload window -- Package Upload window now has a step for including package manager dependencies -- Tooltips are now added to each upload process step - - -## [4.1.0] - 2018-05-14 - -- Made Tool compatible with 2017.1 - -## [4.0.7] - 2017-07-10 - -- Tweaked menu items. - -## [4.0.6] - 2016-07-15 - -- Improved error messages. - -## [4.0.5] - 2016-03-17 - -- Enabling upload of fbm files. - -## [4.0.4] - 2015-11-16 - -- Login improvements - -## [4.0.3] - 2015-11-16 - -- Prepare the Tools for Unity 5.3 - -## [4.0.2] - 2015-10-23 - -- Fixed issue where Upload button would not work for some projects. -- Fixed issues for publishers that only had one package. - -## [4.0.0] - 2015-09-01 - -- Replaced Package Manager with Package Upload. Package management is now handled by Publisher Administration \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md.meta deleted file mode 100644 index 0db1ee3e5..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/CHANGELOG.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 06607220dbd46414e8f66bf9c5e3eb79 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor.meta deleted file mode 100644 index 8521ad694..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 166da5c6fc70e814a8262463903b2714 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs deleted file mode 100644 index 96f0282fe..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs +++ /dev/null @@ -1,4 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Unity.AssetStoreTools.Editor.Tests.asmdef")] -[assembly: InternalsVisibleTo("ab-builder")] -[assembly: InternalsVisibleTo("Inspector-Editor")] diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs.meta deleted file mode 100644 index 972ae52b3..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssemblyInfo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ccfd7faf75ab3c74a98015e772288d86 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs deleted file mode 100644 index fc8742dba..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs +++ /dev/null @@ -1,60 +0,0 @@ -using UnityEditor; -using UnityEngine; -using System; -using AssetStoreTools.Uploader; -using AssetStoreTools.Validator; -using AssetStoreTools.Utility; - -namespace AssetStoreTools -{ - internal class AssetStoreTools : EditorWindow - { - [MenuItem("Asset Store Tools/Asset Store Uploader", false, 0)] - public static void ShowAssetStoreToolsUploader() - { - Type inspectorType = Type.GetType("UnityEditor.InspectorWindow,UnityEditor.dll"); - var wnd = GetWindow(inspectorType); - wnd.Show(); - } - - - [MenuItem("Asset Store Tools/Asset Store Validator", false, 1)] - public static void ShowAssetStoreToolsValidator() - { - Type inspectorType = Type.GetType("UnityEditor.InspectorWindow,UnityEditor.dll"); - var wnd = GetWindow(typeof(AssetStoreUploader), inspectorType); - wnd.Show(); - } - - [MenuItem("Asset Store Tools/Publisher Portal", false, 20)] - public static void OpenPublisherPortal() - { - Application.OpenURL("https://publisher.unity.com/"); - } - - [MenuItem("Asset Store Tools/Submission Guidelines", false, 21)] - public static void OpenSubmissionGuidelines() - { - Application.OpenURL("https://assetstore.unity.com/publishing/submission-guidelines/"); - } - - [MenuItem("Asset Store Tools/Provide Feedback", false, 22)] - public static void OpenFeedback() - { - Application.OpenURL("https://forum.unity.com/threads/new-asset-store-tools-version-coming-july-20th-2022.1310939/"); - } - - [MenuItem("Asset Store Tools/Check for Updates", false, 45)] - public static void OpenUpdateChecker() - { - var wnd = GetWindowWithRect(new Rect(Screen.width / 2, Screen.height / 2, 400, 150), true); - wnd.Show(); - } - - [MenuItem("Asset Store Tools/Settings", false, 50)] - public static void OpenSettings() - { - ASToolsPreferencesProvider.OpenSettings(); - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs.meta deleted file mode 100644 index 9452bb059..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreTools.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6060eef206afc844caaa1732538e8890 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs deleted file mode 100644 index 062a12581..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs +++ /dev/null @@ -1,21 +0,0 @@ -using UnityEditor; -using UnityEngine; - -namespace AssetStoreTools -{ - internal abstract class AssetStoreToolsWindow : EditorWindow - { - protected abstract string WindowTitle { get; } - - protected virtual void Init() - { - titleContent = new GUIContent(WindowTitle); - } - - private void OnEnable() - { - Init(); - } - - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs.meta deleted file mode 100644 index 2fe87e578..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/AssetStoreToolsWindow.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c1057a05baaa45942808573065c02a03 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs deleted file mode 100644 index 56c7d0eb2..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs +++ /dev/null @@ -1,16 +0,0 @@ -using AssetStoreTools.Utility; - -namespace AssetStoreTools.Exporter -{ - internal class ExportResult - { - public bool Success; - public string ExportedPath; - public ASError Error; - - public static implicit operator bool(ExportResult value) - { - return value != null && value.Success; - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs.meta deleted file mode 100644 index a990a5098..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExportResult.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ce99a618d1e211444b53f18bb3444f75 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs deleted file mode 100644 index 74f7838e1..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace AssetStoreTools.Exporter -{ - public abstract class ExporterSettings - { - public string[] ExportPaths; - public string OutputFilename; - } - - public class DefaultExporterSettings : ExporterSettings - { - public string[] Dependencies; - } - - public class LegacyExporterSettings : ExporterSettings - { - public bool IncludeDependencies; - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs.meta deleted file mode 100644 index 24d41f792..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/ExporterSettings.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 399b115514c617d47a00b8c0a5e430fd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs deleted file mode 100644 index 42f0efb67..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs +++ /dev/null @@ -1,137 +0,0 @@ -using AssetStoreTools.Utility; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using UnityEditor; - -namespace AssetStoreTools.Exporter -{ - internal abstract class PackageExporter - { - protected const string ProgressBarTitle = "Exporting Package"; - protected const string ProgressBarStepSavingAssets = "Saving Assets..."; - protected const string ProgressBarStepGatheringFiles = "Gathering files..."; - protected const string ProgressBarStepCompressingPackage = "Compressing package..."; - - private static readonly string[] PluginFolderExtensions = { "androidlib", "bundle", "plugin", "framework", "xcframework" }; - - public static async Task ExportPackage(ExporterSettings exportSettings) - { - if (!IsSettingsValid(exportSettings, out Exception e)) - return new ExportResult() { Success = false, Error = ASError.GetGenericError(e) }; - - switch (exportSettings) - { - case LegacyExporterSettings legacySettings: - return await PackageExporterLegacy.ExportPackage(legacySettings); - case DefaultExporterSettings defaultSettings: - return PackageExporterDefault.ExportPackage(defaultSettings); - default: - return new ExportResult() { Success = false, Error = ASError.GetGenericError(new ArgumentException("Unrecognized ExportSettings type was provided")) }; - } - } - - private static bool IsSettingsValid(ExporterSettings settings, out Exception e) - { - e = null; - - if (settings == null) - e = new ArgumentException("Package Exporting failed: ExporterSettings cannot be null"); - else if (settings.ExportPaths == null || settings.ExportPaths.Length == 0) - e = new ArgumentException("Package Exporting failed: received an invalid export paths array"); - else if (string.IsNullOrEmpty(settings.OutputFilename)) - e = new ArgumentException("Package Exporting failed: received an invalid output path"); - else if (settings.OutputFilename.EndsWith("/") || settings.OutputFilename.EndsWith("\\")) - e = new ArgumentException("Package Exporting failed: output path must be a valid filename and not end with a directory separator character"); - - return e == null; - } - - protected string[] GetAssetPaths(string rootPath) - { - // To-do: slight optimization is possible in the future by having a list of excluded folders/file extensions - List paths = new List(); - - // Add files within given directory - var filePaths = Directory.GetFiles(rootPath).Select(p => p.Replace('\\', '/')).ToArray(); - paths.AddRange(filePaths); - - // Add directories within given directory - var directoryPaths = Directory.GetDirectories(rootPath).Select(p => p.Replace('\\', '/')).ToArray(); - foreach (var nestedDirectory in directoryPaths) - paths.AddRange(GetAssetPaths(nestedDirectory)); - - // Add the given directory itself if it is not empty - if (filePaths.Length > 0 || directoryPaths.Length > 0) - paths.Add(rootPath); - - return paths.ToArray(); - } - - protected string GetAssetGuid(string assetPath, bool generateForPlugin, bool hiddenSearch) - { - // Skip meta files as they do not have guids - if (assetPath.EndsWith(".meta")) - return string.Empty; - - // Skip hidden assets. They normally do not have meta files, but - // have been observed to retain them in the past due to a Unity bug - if (assetPath.EndsWith("~")) - return string.Empty; - - // Skip ProjectVersion.txt file specifically as it may introduce - // project compatibility issues when imported - if (string.Compare(assetPath, "ProjectSettings/ProjectVersion.txt", StringComparison.OrdinalIgnoreCase) == 0) - return string.Empty; - - // Attempt retrieving guid from the Asset Database first - var guid = AssetDatabase.AssetPathToGUID(assetPath); - if (guid != string.Empty) - return guid; - - // Some special folders (e.g. SomeName.framework) do not have meta files inside them. - // Their contents should be exported with any arbitrary GUID so that Unity Importer could pick them up - if (generateForPlugin && PathBelongsToPlugin(assetPath)) - return GUID.Generate().ToString(); - - // Files in hidden folders (e.g. Samples~) are not part of the Asset Database, - // therefore GUIDs need to be scraped from the .meta file. - // Note: only do this for custom exporter since the native exporter - // will not be able to retrieve the asset path from a hidden folder - if (hiddenSearch) - { - // To-do: handle hidden folders without meta files - var metaPath = $"{assetPath}.meta"; - - if (!File.Exists(metaPath)) - return string.Empty; - - using (StreamReader reader = new StreamReader(metaPath)) - { - string line; - while ((line = reader.ReadLine()) != string.Empty) - { - if (!line.StartsWith("guid:")) - continue; - var metaGuid = line.Substring("guid:".Length).Trim(); - return metaGuid; - } - } - } - - return string.Empty; - } - - private bool PathBelongsToPlugin(string assetPath) - { - return PluginFolderExtensions.Any(extension => assetPath.ToLower().Contains($".{extension}/")); - } - - protected virtual void PostExportCleanup() - { - EditorUtility.ClearProgressBar(); - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs.meta deleted file mode 100644 index 66906b4dc..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporter.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 52ef11a59e545544fafaa99a5fa6cce9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs deleted file mode 100644 index 85d8d9c8b..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs +++ /dev/null @@ -1,321 +0,0 @@ -using AssetStoreTools.Uploader.Utility; -using AssetStoreTools.Utility; -using AssetStoreTools.Utility.Json; -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Reflection; -using UnityEditor; -using UnityEngine; - -namespace AssetStoreTools.Exporter -{ - internal class PackageExporterDefault : PackageExporter - { - private const string TemporaryExportPathName = "CustomExport"; - - private DefaultExporterSettings _exportSettings; - - private PackageExporterDefault(DefaultExporterSettings exportSettings) - { - _exportSettings = exportSettings; - } - - public static ExportResult ExportPackage(DefaultExporterSettings exportSettings) - { - var exporter = new PackageExporterDefault(exportSettings); - return exporter.ExportPackage(); - } - - private ExportResult ExportPackage() - { - ASDebug.Log("Using custom package exporter"); - - // Save assets before exporting - EditorUtility.DisplayProgressBar(ProgressBarTitle, ProgressBarStepSavingAssets, 0.1f); - AssetDatabase.SaveAssets(); - - try - { - // Create a temporary export path - var temporaryExportPath = GetTemporaryExportPath(); - if (!Directory.Exists(temporaryExportPath)) - Directory.CreateDirectory(temporaryExportPath); - - // Construct an unzipped package structure - CreateTempPackageStructure(temporaryExportPath); - - // Build a .unitypackage file from the temporary folder - CreateUnityPackage(temporaryExportPath, _exportSettings.OutputFilename); - - EditorUtility.RevealInFinder(_exportSettings.OutputFilename); - - ASDebug.Log($"Package file has been created at {_exportSettings.OutputFilename}"); - return new ExportResult() { Success = true, ExportedPath = _exportSettings.OutputFilename }; - } - catch (Exception e) - { - return new ExportResult() { Success = false, Error = ASError.GetGenericError(e) }; - } - finally - { - PostExportCleanup(); - } - } - - private string GetTemporaryExportPath() - { - return $"{AssetStoreCache.TempCachePath}/{TemporaryExportPathName}"; - } - - private void CreateTempPackageStructure(string tempOutputPath) - { - EditorUtility.DisplayProgressBar(ProgressBarTitle, ProgressBarStepGatheringFiles, 0.4f); - var pathGuidPairs = GetPathGuidPairs(_exportSettings.ExportPaths); - - // Caching asset previews takes time, so we'll start doing it as we - // iterate through assets and only retrieve them after generating the rest - // of the package structure - AssetPreview.SetPreviewTextureCacheSize(pathGuidPairs.Count + 100); - var pathObjectPairs = new Dictionary(); - - foreach (var pair in pathGuidPairs) - { - var originalAssetPath = pair.Key; - var outputAssetPath = $"{tempOutputPath}/{pair.Value}"; - - if (Directory.Exists(outputAssetPath)) - { - var path1 = File.ReadAllText($"{outputAssetPath}/pathname"); - var path2 = originalAssetPath; - throw new InvalidOperationException($"Multiple assets with guid {pair.Value} have been detected " + - $"when exporting the package. Please resolve the guid conflicts and try again:\n{path1}\n{path2}"); - } - - Directory.CreateDirectory(outputAssetPath); - - // Every exported asset has a pathname file - using (StreamWriter writer = new StreamWriter($"{outputAssetPath}/pathname")) - writer.Write(originalAssetPath); - - // Only files (not folders) have an asset file - if (File.Exists(originalAssetPath)) - File.Copy(originalAssetPath, $"{outputAssetPath}/asset"); - - // Most files and folders have an asset.meta file (but ProjectSettings folder assets do not) - if (File.Exists($"{originalAssetPath}.meta")) - File.Copy($"{originalAssetPath}.meta", $"{outputAssetPath}/asset.meta"); - - // To-do: handle previews in hidden folders as they are not part of the AssetDatabase - var previewObject = AssetDatabase.LoadAssetAtPath(originalAssetPath); - if (previewObject == null) - continue; - // Start caching the asset preview - AssetPreview.GetAssetPreview(previewObject); - pathObjectPairs.Add(outputAssetPath, previewObject); - } - - WritePreviewTextures(pathObjectPairs); - - if (_exportSettings.Dependencies == null || _exportSettings.Dependencies.Length == 0) - return; - - var exportDependenciesDict = JsonValue.NewDict(); - var allRegistryPackages = PackageUtility.GetAllRegistryPackages(); - - foreach(var exportDependency in _exportSettings.Dependencies) - { - var registryPackage = allRegistryPackages.FirstOrDefault(x => x.name == exportDependency); - if (registryPackage == null) - { - // Package is either not from a registry source or does not exist in the project - UnityEngine.Debug.LogWarning($"Found an unsupported Package Manager dependency: {exportDependency}.\n" + - "This dependency is not supported in the project's manifest.json and will be skipped."); - continue; - } - - exportDependenciesDict[registryPackage.name] = registryPackage.version; - } - - var exportManifestJson = JsonValue.NewDict(); - exportManifestJson["dependencies"] = exportDependenciesDict; - - var tempManifestDirectoryPath = $"{tempOutputPath}/packagemanagermanifest"; - Directory.CreateDirectory(tempManifestDirectoryPath); - var tempManifestFilePath = $"{tempManifestDirectoryPath}/asset"; - - File.WriteAllText(tempManifestFilePath, exportManifestJson.ToString()); - } - - private Dictionary GetPathGuidPairs(string[] exportPaths) - { - var pathGuidPairs = new Dictionary(); - - foreach (var exportPath in exportPaths) - { - var assetPaths = GetAssetPaths(exportPath); - - foreach (var assetPath in assetPaths) - { - var guid = GetAssetGuid(assetPath, true, true); - if (string.IsNullOrEmpty(guid)) - continue; - - pathGuidPairs.Add(assetPath, guid); - } - } - - return pathGuidPairs; - } - - private void WritePreviewTextures(Dictionary pathObjectPairs) - { - foreach (var kvp in pathObjectPairs) - { - var obj = kvp.Value; - var queuePreview = false; - - switch (obj) - { - case Material _: - case TerrainLayer _: - case AudioClip _: - case Mesh _: - case Texture _: - case UnityEngine.Tilemaps.Tile _: - case GameObject _: - queuePreview = true; - break; - } - - if (!queuePreview) - continue; - - AssetDatabase.TryGetGUIDAndLocalFileIdentifier(obj, out var guid, out long _); - var preview = GetAssetPreviewFromGuid(guid); - - if (!preview) - continue; - - var thumbnailWidth = Mathf.Min(preview.width, 128); - var thumbnailHeight = Mathf.Min(preview.height, 128); - var rt = RenderTexture.GetTemporary(thumbnailWidth, thumbnailHeight, 0, RenderTextureFormat.Default, RenderTextureReadWrite.sRGB); - - var copy = new Texture2D(rt.width, rt.height, TextureFormat.ARGB32, false); - - RenderTexture.active = rt; - GL.Clear(true, true, new Color(0, 0, 0, 0)); - Graphics.Blit(preview, rt); - copy.ReadPixels(new Rect(0, 0, copy.width, copy.height), 0, 0, false); - copy.Apply(); - RenderTexture.active = null; - - var bytes = copy.EncodeToPNG(); - if (bytes != null && bytes.Length > 0) - { - File.WriteAllBytes(kvp.Key + "/preview.png", bytes); - } - - RenderTexture.ReleaseTemporary(rt); - } - } - - private Texture2D GetAssetPreviewFromGuid(string guid) - { - var method = typeof(AssetPreview).GetMethod("GetAssetPreviewFromGUID", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static, null, new[] { typeof(string) }, null); - var args = new object[] { guid }; - - return method?.Invoke(null, args) as Texture2D; - } - - private void CreateUnityPackage(string pathToArchive, string outputPath) - { - if (Directory.GetDirectories(pathToArchive).Length == 0) - throw new InvalidOperationException("Unable to export package. The specified path is empty"); - - EditorUtility.DisplayProgressBar(ProgressBarTitle, ProgressBarStepCompressingPackage, 0.5f); - - // Archiving process working path will be set to the - // temporary package path so adjust the output path accordingly - if (!Path.IsPathRooted(outputPath)) - outputPath = $"{Application.dataPath.Substring(0, Application.dataPath.Length - "/Assets".Length)}/{outputPath}"; - -#if UNITY_EDITOR_WIN - CreateUnityPackageUniversal(pathToArchive, outputPath); -#elif UNITY_EDITOR_OSX || UNITY_EDITOR_LINUX - CreateUnityPackageOsxLinux(pathToArchive, outputPath); -#endif - } - - private void CreateUnityPackageUniversal(string pathToArchive, string outputPath) - { - var _7zPath = EditorApplication.applicationContentsPath; -#if UNITY_EDITOR_WIN - _7zPath = Path.Combine(_7zPath, "Tools", "7z.exe"); -#elif UNITY_EDITOR_OSX || UNITY_EDITOR_LINUX - _7zPath = Path.Combine(_7zPath, "Tools", "7za"); -#endif - if (!File.Exists(_7zPath)) - throw new FileNotFoundException("Archiving utility was not found in your Unity installation directory"); - - var argumentsTar = $"a -r -ttar -y -bd archtemp.tar ."; - var result = StartProcess(_7zPath, argumentsTar, pathToArchive); - if (result != 0) - throw new Exception("Failed to compress the package"); - - // Create a GZIP archive - var argumentsGzip = $"a -tgzip -bd -y \"{outputPath}\" archtemp.tar"; - result = StartProcess(_7zPath, argumentsGzip, pathToArchive); - if (result != 0) - throw new Exception("Failed to compress the package"); - } - - private void CreateUnityPackageOsxLinux(string pathToArchive, string outputPath) - { - var tarPath = "/usr/bin/tar"; - - if (!File.Exists(tarPath)) - { - // Fallback to the universal export method - ASDebug.LogWarning("'/usr/bin/tar' executable not found. Falling back to 7za"); - CreateUnityPackageUniversal(pathToArchive, outputPath); - return; - } - - // Create a TAR archive - var arguments = $"-czpf \"{outputPath}\" ."; - var result = StartProcess(tarPath, arguments, pathToArchive); - if (result != 0) - throw new Exception("Failed to compress the package"); - } - - private int StartProcess(string processPath, string arguments, string workingDirectory) - { - var info = new ProcessStartInfo() - { - FileName = processPath, - Arguments = arguments, - WorkingDirectory = workingDirectory, - CreateNoWindow = true, - UseShellExecute = false - }; - - using (Process process = Process.Start(info)) - { - process.WaitForExit(); - return process.ExitCode; - } - } - - protected override void PostExportCleanup() - { - base.PostExportCleanup(); - - var tempExportPath = GetTemporaryExportPath(); - if (Directory.Exists(tempExportPath)) - Directory.Delete(tempExportPath, true); - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs.meta deleted file mode 100644 index fa1bd636a..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterDefault.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 32f50122a1b2bc2428cf8fba321e2414 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs deleted file mode 100644 index 3a665d79d..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs +++ /dev/null @@ -1,102 +0,0 @@ -using AssetStoreTools.Utility; -using System; -using System.Collections.Generic; -using System.IO; -using System.Reflection; -using System.Threading; -using System.Threading.Tasks; - -namespace AssetStoreTools.Exporter -{ - internal class PackageExporterLegacy : PackageExporter - { - private const string ExportMethodWithoutDependencies = "UnityEditor.PackageUtility.ExportPackage"; - private const string ExportMethodWithDependencies = "UnityEditor.PackageUtility.ExportPackageAndPackageManagerManifest"; - - private LegacyExporterSettings _exportSettings; - - private PackageExporterLegacy(LegacyExporterSettings exportSettings) - { - _exportSettings = exportSettings; - } - - public static async Task ExportPackage(LegacyExporterSettings exportSettings) - { - var exporter = new PackageExporterLegacy(exportSettings); - return await exporter.ExportPackage(); - } - - private async Task ExportPackage() - { - ASDebug.Log("Using native package exporter"); - - try - { - var guids = GetGuids(_exportSettings.ExportPaths, out bool onlyFolders); - - if (guids.Length == 0 || onlyFolders) - throw new ArgumentException("Package Exporting failed: provided export paths are empty or only contain empty folders"); - - string exportMethod = ExportMethodWithoutDependencies; - if (_exportSettings.IncludeDependencies) - exportMethod = ExportMethodWithDependencies; - - var split = exportMethod.Split('.'); - var assembly = Assembly.Load(split[0]); // UnityEditor - var typeName = $"{split[0]}.{split[1]}"; // UnityEditor.PackageUtility - var methodName = split[2]; // ExportPackage or ExportPackageAndPackageManagerManifest - - var type = assembly.GetType(typeName); - var method = type.GetMethod(methodName, BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public, - null, new Type[] { typeof(string[]), typeof(string) }, null); - - ASDebug.Log("Invoking native export method"); - - method?.Invoke(null, new object[] { guids, _exportSettings.OutputFilename }); - - // The internal exporter methods are asynchronous, therefore - // we need to wait for exporting to finish before returning - await Task.Run(() => - { - while (!File.Exists(_exportSettings.OutputFilename)) - Thread.Sleep(100); - }); - - ASDebug.Log($"Package file has been created at {_exportSettings.OutputFilename}"); - return new ExportResult() { Success = true, ExportedPath = _exportSettings.OutputFilename }; - } - catch (Exception e) - { - return new ExportResult() { Success = false, Error = ASError.GetGenericError(e) }; - } - finally - { - PostExportCleanup(); - } - } - - private string[] GetGuids(string[] exportPaths, out bool onlyFolders) - { - var guids = new List(); - onlyFolders = true; - - foreach (var exportPath in exportPaths) - { - var assetPaths = GetAssetPaths(exportPath); - - foreach (var assetPath in assetPaths) - { - var guid = GetAssetGuid(assetPath, false, false); - if (string.IsNullOrEmpty(guid)) - continue; - - guids.Add(guid); - if (onlyFolders == true && (File.Exists(assetPath))) - onlyFolders = false; - } - } - - return guids.ToArray(); - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs.meta deleted file mode 100644 index 853e472fe..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Exporter/PackageExporterLegacy.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3200380dff2de104aa79620e4b41dc70 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef deleted file mode 100644 index a222ddb71..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "asset-store-tools-editor", - "references": [], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [], - "versionDefines": [], - "noEngineReferences": false -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef.meta deleted file mode 100644 index 2f67bb9e0..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Unity.AssetStoreTools.Editor.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c183be512f4485d40a3437fabd6c81cf -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader.meta deleted file mode 100644 index b4b866142..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9722d52df16aab742b26fe301782c74c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs deleted file mode 100644 index 4ff2bd1f5..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs +++ /dev/null @@ -1,227 +0,0 @@ -using AssetStoreTools.Utility.Json; -using System; -using System.Collections.Generic; -using AssetStoreTools.Utility; -using UnityEditor; -using UnityEditor.UIElements; -using UnityEngine; -using UnityEngine.UIElements; -using AssetStoreTools.Uploader.Utility; -using AssetStoreTools.Uploader.UIElements; - -namespace AssetStoreTools.Uploader -{ - internal class AssetStoreUploader : AssetStoreToolsWindow - { - public const string MinRequiredPackageVersion = "2021.3"; - public const long MaxPackageSizeBytes = 6442450944; // 6 GB - - private const string MainWindowVisualTree = "Packages/com.unity.asset-store-tools/Editor/Uploader/Styles/Base/BaseWindow_Main"; - private const string DebugPhrase = "debug"; - - // UI Windows - private LoginWindow _loginWindow; - private UploadWindow _uploadWindow; - - private readonly List _debugBuffer = new List(); - - public static bool ShowPackageVersionDialog - { - get => string.Compare(Application.unityVersion, MinRequiredPackageVersion, StringComparison.Ordinal) == -1 && ASToolsPreferences.Instance.UploadVersionCheck; - set { ASToolsPreferences.Instance.UploadVersionCheck = value; ASToolsPreferences.Instance.Save(); } - } - - protected override string WindowTitle => "Asset Store Uploader"; - - protected override void Init() - { - if (_loginWindow != null && _uploadWindow != null) - return; - - minSize = new Vector2(400, 430); - this.SetAntiAliasing(4); - - base.Init(); - - VisualElement root = rootVisualElement; - root.AddToClassList("root"); - - // Getting a reference to the UXML Document and adding to the root - var visualTree = AssetDatabase.LoadAssetAtPath($"{MainWindowVisualTree}.uxml"); - VisualElement uxmlRoot = visualTree.CloneTree(); - uxmlRoot.style.flexGrow = 1; - root.Add(uxmlRoot); - - root.styleSheets.Add(StyleSelector.UploaderWindow.BaseWindowStyle); - root.styleSheets.Add(StyleSelector.UploaderWindow.BaseWindowTheme); - - - // Find necessary windows / views and sets up appropriate functionality - SetupCoreElements(); - - if (!AssetStoreAPI.IsUploading) - { - // Should only authenticate if the session is available. Other authentications are only available - // in the login window. See "SetupLoginElements". - HideElement(_uploadWindow); - Authenticate(); - } - else - { - ShowUploadWindow(); - } - } - - private void OnGUI() - { - CheckForDebugMode(); - } - - private void OnDestroy() - { - if (AssetStoreAPI.IsUploading) - EditorUtility.DisplayDialog("Notice", "Assets are still being uploaded to the Asset Store. " + - "If you wish to check on the progress, please re-open the Asset Store Uploader window", "OK"); - } - - private void SetupCoreElements() - { - _loginWindow = rootVisualElement.Q("LoginWindow"); - _uploadWindow = rootVisualElement.Q("UploadWindow"); - - _loginWindow.SetupLoginElements(OnLoginSuccess, OnLoginFail); - _uploadWindow.SetupWindows(OnLogout, OnPackageDownloadFail); - } - - #region Login Interface - - private async void Authenticate() - { - ShowLoginWindow(); - - // 1 - Check if there's an active session - // 2 - Check if there's a saved session - // 3 - Attempt to login via Cloud session token - // 4 - Prompt manual login - EnableLoginWindow(false); - var result = await AssetStoreAPI.LoginWithSessionAsync(); - if (result.Success) - OnLoginSuccess(result.Response); - else if (result.SilentFail) - OnLoginFailSession(); - else - OnLoginFail(result.Error); - } - - private void OnLoginFail(ASError error) - { - Debug.LogError(error.Message); - - _loginWindow.EnableErrorBox(true, error.Message); - EnableLoginWindow(true); - } - - private void OnLoginFailSession() - { - // All previous login methods are unavailable - EnableLoginWindow(true); - } - - private void OnLoginSuccess(JsonValue json) - { - ASDebug.Log($"Login json\n{json}"); - - if (!AssetStoreAPI.IsPublisherValid(json, out var error)) - { - EnableLoginWindow(true); - _loginWindow.EnableErrorBox(true, error.Message); - ASDebug.Log($"Publisher {json["name"]} is invalid."); - return; - } - - ASDebug.Log($"Publisher {json["name"]} is valid."); - AssetStoreAPI.SavedSessionId = json["xunitysession"].AsString(); - AssetStoreAPI.LastLoggedInUser = json["username"].AsString(); - - ShowUploadWindow(); - } - - private void OnPackageDownloadFail(ASError error) - { - _loginWindow.EnableErrorBox(true, error.Message); - EnableLoginWindow(true); - ShowLoginWindow(); - } - - private void OnLogout() - { - AssetStoreAPI.SavedSessionId = String.Empty; - AssetStoreCache.ClearTempCache(); - - _loginWindow.ClearLoginBoxes(); - ShowLoginWindow(); - EnableLoginWindow(true); - } - - #endregion - - #region UI Window Utils - private void ShowLoginWindow() - { - HideElement(_uploadWindow); - ShowElement(_loginWindow); - } - - private void ShowUploadWindow() - { - HideElement(_loginWindow); - ShowElement(_uploadWindow); - - _uploadWindow.ShowAllPackagesView(); - _uploadWindow.ShowPublisherEmail(AssetStoreAPI.LastLoggedInUser); - _uploadWindow.LoadPackages(true, OnPackageDownloadFail); - } - - private void ShowElement(params VisualElement[] elements) - { - foreach(var e in elements) - e.style.display = DisplayStyle.Flex; - } - - private void HideElement(params VisualElement[] elements) - { - foreach(var e in elements) - e.style.display = DisplayStyle.None; - } - - private void EnableLoginWindow(bool enable) - { - _loginWindow.SetEnabled(enable); - } - - #endregion - - #region Debug Utility - - private void CheckForDebugMode() - { - Event e = Event.current; - - if (e.type != EventType.KeyDown || e.keyCode == KeyCode.None) - return; - - _debugBuffer.Add(e.keyCode.ToString().ToLower()[0]); - if (_debugBuffer.Count > DebugPhrase.Length) - _debugBuffer.RemoveAt(0); - - if (string.Join(string.Empty, _debugBuffer.ToArray()) != DebugPhrase) - return; - - ASDebug.DebugModeEnabled = !ASDebug.DebugModeEnabled; - ASDebug.Log($"DEBUG MODE ENABLED: {ASDebug.DebugModeEnabled}"); - _debugBuffer.Clear(); - } - - #endregion - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs.meta deleted file mode 100644 index ef78266e2..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/AssetStoreUploader.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7b5319699cc84194a9a768ad33b86c21 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/open-in-browser.png b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/open-in-browser.png deleted file mode 100644 index 245875b4df64816f61a939405c6b33a38d121bab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 878 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 diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_black.png.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_black.png.meta deleted file mode 100644 index 305aa317d..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_black.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 8e0749dce5b14cc46b73b0303375c162 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 0 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 2 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 0 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png deleted file mode 100644 index 70f470378985603c5834f65f9db9e931a3d8ecd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33588 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%0Ajkl|$X1m`*2UvL4|z1#txFuHfs{VDwo=E<%>W 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 I?>_qf0QQ_UdH?_b diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png.meta deleted file mode 100644 index a0f13697c..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Icons/publisher_portal_white.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 003e2710f9b29d94c87632022a3c7c48 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 11 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - wrapW: 0 - nPOTScale: 0 - lightmap: 0 - compressionQuality: 50 - spriteMode: 1 - spriteExtrude: 18 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 1 - spriteTessellationDetail: -1 - textureType: 8 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 2 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - physicsShape: [] - bones: [] - spriteID: 5e97eb03825dee720800000000000000 - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts.meta deleted file mode 100644 index 63c6efc3d..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 15b24ad8f9d236249910fb8eef1e30ea -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs deleted file mode 100644 index f6f6996d2..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs +++ /dev/null @@ -1,796 +0,0 @@ -using AssetStoreTools.Uploader.Data; -using AssetStoreTools.Uploader.Utility; -using AssetStoreTools.Utility; -using AssetStoreTools.Utility.Json; -using System; -using System.Collections.Concurrent; -using System.Collections.Generic; -using System.IO; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading; -using System.Threading.Tasks; -using UnityEditor; -using UnityEngine; - -namespace AssetStoreTools.Uploader -{ - /// - /// A class for retrieving data from the Asset Store backend - /// Note: most data retrieval methods require to be set - /// - internal static class AssetStoreAPI - { - public const string ToolVersion = "V11.4.3"; - - private const string UnauthSessionId = "26c4202eb475d02864b40827dfff11a14657aa41"; - private const string KharmaSessionId = "kharma.sessionid"; - private const int UploadResponseTimeoutMs = 10000; - - public static string AssetStoreProdUrl = "https://kharma.unity3d.com"; - private static string s_sessionId = EditorPrefs.GetString(KharmaSessionId); - private static HttpClient httpClient = new HttpClient(); - private static CancellationTokenSource s_downloadCancellationSource; - - public static string SavedSessionId - { - get => s_sessionId; - set - { - s_sessionId = value; - EditorPrefs.SetString(KharmaSessionId, value); - httpClient.DefaultRequestHeaders.Clear(); - if (!string.IsNullOrEmpty(value)) - httpClient.DefaultRequestHeaders.Add("X-Unity-Session", SavedSessionId); - } - } - - public static bool IsCloudUserAvailable => CloudProjectSettings.userName != "anonymous"; - public static string LastLoggedInUser = ""; - public static ConcurrentDictionary ActiveUploads = new ConcurrentDictionary(); - public static bool IsUploading => (ActiveUploads.Count > 0); - - static AssetStoreAPI() - { - ServicePointManager.DefaultConnectionLimit = 500; - httpClient.DefaultRequestHeaders.ConnectionClose = false; - httpClient.Timeout = TimeSpan.FromMinutes(1320); - } - - /// - /// A structure used to return the success outcome and the result of Asset Store API calls - /// - internal class APIResult - { - public JsonValue Response; - public bool Success; - public bool SilentFail; - public ASError Error; - - public static implicit operator bool(APIResult value) - { - return value != null && value.Success != false; - } - } - - #region Login API - - /// - /// A login API call that uses the email and password credentials - /// - /// - /// Note: this method only returns a response from the server and does not set the itself - /// - public static async Task LoginWithCredentialsAsync(string email, string password) - { - FormUrlEncodedContent data = GetLoginContent(new Dictionary { { "user", email }, { "pass", password } }); - return await LoginAsync(data); - } - - /// - /// A login API call that uses the - /// - /// - /// Note: this method only returns a response from the server and does not set the itself - /// - public static async Task LoginWithSessionAsync() - { - if (string.IsNullOrEmpty(SavedSessionId)) - return new APIResult() { Success = false, SilentFail = true, Error = ASError.GetGenericError(new Exception("No active session available")) }; - - FormUrlEncodedContent data = GetLoginContent(new Dictionary { { "reuse_session", SavedSessionId }, { "xunitysession", UnauthSessionId } }); - return await LoginAsync(data); - } - - /// - /// A login API call that uses the - /// - /// - /// Note: this method only returns a response from the server and does not set the itself - /// - /// Cloud access token. Can be retrieved by calling - public static async Task LoginWithTokenAsync(string token) - { - FormUrlEncodedContent data = GetLoginContent(new Dictionary { { "user_access_token", token } }); - return await LoginAsync(data); - } - - private static async Task LoginAsync(FormUrlEncodedContent data) - { - OverrideAssetStoreUrl(); - Uri uri = new Uri($"{AssetStoreProdUrl}/login"); - - httpClient.DefaultRequestHeaders.Clear(); - httpClient.DefaultRequestHeaders.Add("Accept", "application/json"); - - try - { - var response = await httpClient.PostAsync(uri, data); - return UploadValuesCompletedLogin(response); - } - catch (Exception e) - { - return new APIResult() { Success = false, Error = ASError.GetGenericError(e) }; - } - } - - private static APIResult UploadValuesCompletedLogin(HttpResponseMessage response) - { - ASDebug.Log($"Upload Values Complete {response.ReasonPhrase}"); - ASDebug.Log($"Login success? {response.IsSuccessStatusCode}"); - try - { - response.EnsureSuccessStatusCode(); - var responseResult = response.Content.ReadAsStringAsync().Result; - var success = JSONParser.AssetStoreResponseParse(responseResult, out ASError error, out JsonValue jsonResult); - if (success) - return new APIResult() { Success = true, Response = jsonResult }; - else - return new APIResult() { Success = false, Error = error }; - } - catch (HttpRequestException ex) - { - return new APIResult() { Success = false, Error = ASError.GetLoginError(response, ex) }; - } - } - - #endregion - - #region Package Metadata API - - private static async Task GetPackageDataMain() - { - return await GetAssetStoreData(APIUri("asset-store-tools", "metadata/0", SavedSessionId)); - } - - private static async Task GetPackageDataExtra() - { - return await GetAssetStoreData(APIUri("management", "packages", SavedSessionId)); - } - - private static async Task GetCategories(bool useCached) - { - if (useCached) - { - if (AssetStoreCache.GetCachedCategories(out JsonValue cachedCategoryJson)) - return cachedCategoryJson; - - ASDebug.LogWarning("Failed to retrieve cached category data. Proceeding to download"); - } - var categoryJson = await GetAssetStoreData(APIUri("management", "categories", SavedSessionId)); - AssetStoreCache.CacheCategories(categoryJson); - - return categoryJson; - } - - /// - /// Retrieve data for all packages associated with the currently logged in account (identified by ) - /// - /// - /// - public static async Task GetFullPackageDataAsync(bool useCached) - { - if (useCached) - { - if (AssetStoreCache.GetCachedPackageMetadata(out JsonValue cachedData)) - return new APIResult() { Success = true, Response = cachedData }; - - ASDebug.LogWarning("Failed to retrieve cached package metadata. Proceeding to download"); - } - - try - { - var jsonMainData = await GetPackageDataMain(); - var jsonExtraData = await GetPackageDataExtra(); - var jsonCategoryData = await GetCategories(useCached); - - var joinedData = MergePackageData(jsonMainData, jsonExtraData, jsonCategoryData); - AssetStoreCache.CachePackageMetadata(joinedData); - - return new APIResult() { Success = true, Response = joinedData }; - } - catch (OperationCanceledException e) - { - ASDebug.Log("Package metadata download operation cancelled"); - DisposeDownloadCancellation(); - return new APIResult() { Success = false, SilentFail = true, Error = ASError.GetGenericError(e) }; - } - catch (Exception e) - { - return new APIResult() { Success = false, Error = ASError.GetGenericError(e) }; - } - } - - /// - /// Retrieve the thumbnail textures for all packages within the provided json structure and perform a given action after each retrieval - /// - /// A json file retrieved from - /// Return cached thumbnails if they are found - /// - /// Action to perform upon a successful thumbnail retrieval - /// - Package Id
- /// - Associated Thumbnail - /// - /// - /// Action to perform upon a failed thumbnail retrieval - /// - Package Id
- /// - Associated error - /// - public static async void GetPackageThumbnails(JsonValue packageJson, bool useCached, Action onSuccess, Action onFail) - { - SetupDownloadCancellation(); - var packageDict = packageJson["packages"].AsDict(); - var packageEnum = packageDict.GetEnumerator(); - - for (int i = 0; i < packageDict.Count; i++) - { - packageEnum.MoveNext(); - var package = packageEnum.Current; - - try - { - s_downloadCancellationSource.Token.ThrowIfCancellationRequested(); - - if (package.Value["icon_url"] - .IsNull()) // If no URL is found in the package metadata, use the default image - { - Texture2D fallbackTexture = null; - ASDebug.Log($"Package {package.Key} has no thumbnail. Returning default image"); - onSuccess?.Invoke(package.Key, fallbackTexture); - continue; - } - - if (useCached && - AssetStoreCache.GetCachedTexture(package.Key, - out Texture2D texture)) // Try returning cached thumbnails first - { - ASDebug.Log($"Returning cached thumbnail for package {package.Key}"); - onSuccess?.Invoke(package.Key, texture); - continue; - } - - var textureBytes = - await DownloadPackageThumbnail(package.Value["icon_url"].AsString()); - Texture2D tex = new Texture2D(1, 1, TextureFormat.RGBA32, false); - tex.LoadImage(textureBytes); - AssetStoreCache.CacheTexture(package.Key, tex); - ASDebug.Log($"Returning downloaded thumbnail for package {package.Key}"); - onSuccess?.Invoke(package.Key, tex); - } - catch (OperationCanceledException) - { - DisposeDownloadCancellation(); - ASDebug.Log("Package thumbnail download operation cancelled"); - return; - } - catch (Exception e) - { - onFail?.Invoke(package.Key, ASError.GetGenericError(e)); - } - finally - { - packageEnum.Dispose(); - } - } - } - - private static async Task DownloadPackageThumbnail(string url) - { - // icon_url is presented without http/https - Uri uri = new Uri($"https:{url}"); - - var textureBytes = await httpClient.GetAsync(uri, s_downloadCancellationSource.Token). - ContinueWith((response) => response.Result.Content.ReadAsByteArrayAsync().Result, s_downloadCancellationSource.Token); - s_downloadCancellationSource.Token.ThrowIfCancellationRequested(); - return textureBytes; - } - - /// - /// Retrieve, update the cache and return the updated data for a previously cached package - /// - public static async Task GetRefreshedPackageData(string packageId) - { - try - { - var refreshedDataJson = await GetPackageDataExtra(); - var refreshedPackage = default(JsonValue); - - // Find the updated package data in the latest data json - foreach (var p in refreshedDataJson["packages"].AsList()) - { - if (p["id"] == packageId) - { - refreshedPackage = p["versions"].AsList()[p["versions"].AsList().Count - 1]; - break; - } - } - - if (refreshedPackage.Equals(default(JsonValue))) - return new APIResult() { Success = false, Error = ASError.GetGenericError(new MissingMemberException($"Unable to find downloaded package data for package id {packageId}")) }; - - // Check if the supplied package id data has been cached and if it contains the corresponding package - if (!AssetStoreCache.GetCachedPackageMetadata(out JsonValue cachedData) || - !cachedData["packages"].AsDict().ContainsKey(packageId)) - return new APIResult() { Success = false, Error = ASError.GetGenericError(new MissingMemberException($"Unable to find cached package id {packageId}")) }; - - var cachedPackage = cachedData["packages"].AsDict()[packageId]; - - // Retrieve the category map - var categoryJson = await GetCategories(true); - var categories = CreateCategoryDictionary(categoryJson); - - // Update the package data - cachedPackage["name"] = refreshedPackage["name"].AsString(); - cachedPackage["status"] = refreshedPackage["status"].AsString(); - cachedPackage["extra_info"].AsDict()["category_info"].AsDict()["id"] = refreshedPackage["category_id"].AsString(); - cachedPackage["extra_info"].AsDict()["category_info"].AsDict()["name"] = - categories.ContainsKey(refreshedPackage["category_id"]) ? categories[refreshedPackage["category_id"].AsString()] : "Unknown"; - cachedPackage["extra_info"].AsDict()["modified"] = refreshedPackage["modified"].AsString(); - cachedPackage["extra_info"].AsDict()["size"] = refreshedPackage["size"].AsString(); - - AssetStoreCache.CachePackageMetadata(cachedData); - return new APIResult() { Success = true, Response = cachedPackage }; - } - catch (OperationCanceledException) - { - ASDebug.Log("Package metadata download operation cancelled"); - DisposeDownloadCancellation(); - return new APIResult() { Success = false, SilentFail = true }; - } - catch (Exception e) - { - return new APIResult() { Success = false, Error = ASError.GetGenericError(e) }; - } - } - - /// - /// Retrieve all Unity versions that the given package has already had uploaded content with - /// - /// - /// - /// - public static List GetPackageUploadedVersions(string packageId, string versionId) - { - var versions = new List(); - try - { - // Retrieve the data for already uploaded versions (should prevent interaction with Uploader) - var versionsTask = Task.Run(() => GetAssetStoreData(APIUri("content", $"preview/{packageId}/{versionId}", SavedSessionId))); - if (!versionsTask.Wait(5000)) - throw new TimeoutException("Could not retrieve uploaded versions within a reasonable time interval"); - - var versionsJson = versionsTask.Result; - foreach (var version in versionsJson["content"].AsDict()["unity_versions"].AsList()) - versions.Add(version.AsString()); - } - catch (OperationCanceledException) - { - ASDebug.Log("Package version download operation cancelled"); - DisposeDownloadCancellation(); - } - catch (Exception e) - { - ASDebug.LogError(e); - } - - return versions; - } - - #endregion - - #region Package Upload API - - /// - /// Upload a content file (.unitypackage) to a provided package version - /// - /// - /// Name of the package. Only used for identifying the package in class - /// Path to the .unitypackage file - /// The value of the main content folder for the provided package - /// The local path (relative to the root project folder) of the main content folder for the provided package - /// The path to the project that this package was built from - /// - public static async Task UploadPackageAsync(string versionId, string packageName, string filePath, - string localPackageGuid, string localPackagePath, string localProjectPath) - { - try - { - ASDebug.Log("Upload task starting"); - EditorApplication.LockReloadAssemblies(); - - if (!IsUploading) // Only subscribe before the first upload - EditorApplication.playModeStateChanged += EditorPlayModeStateChangeHandler; - - var progressData = new OngoingUpload(versionId, packageName); - ActiveUploads.TryAdd(versionId, progressData); - - var result = await Task.Run(() => UploadPackageTask(progressData, filePath, localPackageGuid, localPackagePath, localProjectPath)); - - ActiveUploads.TryRemove(versionId, out OngoingUpload _); - - ASDebug.Log("Upload task finished"); - return result; - } - catch (Exception e) - { - ASDebug.LogError("Upload task failed with an exception: " + e); - ActiveUploads.TryRemove(versionId, out OngoingUpload _); - return PackageUploadResult.PackageUploadFail(ASError.GetGenericError(e)); - } - finally - { - if (!IsUploading) // Only unsubscribe after the last upload - EditorApplication.playModeStateChanged -= EditorPlayModeStateChangeHandler; - - EditorApplication.UnlockReloadAssemblies(); - } - } - - private static PackageUploadResult UploadPackageTask(OngoingUpload currentUpload, string filePath, - string localPackageGuid, string localPackagePath, string localProjectPath) - { - ASDebug.Log("Preparing to upload package within API"); - string api = "asset-store-tools"; - string uri = $"package/{currentUpload.VersionId}/unitypackage"; - - Dictionary packageParams = new Dictionary - { - // Note: project_path is currently used to store UI selections - {"root_guid", localPackageGuid}, - {"root_path", localPackagePath}, - {"project_path", localProjectPath} - }; - - ASDebug.Log($"Creating upload request for {currentUpload.VersionId} {currentUpload.PackageName}"); - - FileStream requestFileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); - - bool responseTimedOut = false; - long chunkSize = 32768; - try - { - ASDebug.Log("Starting upload process..."); - - var content = new StreamContent(requestFileStream, (int)chunkSize); - var response = httpClient.PutAsync(APIUri(api, uri, SavedSessionId, packageParams), content, currentUpload.CancellationToken); - - // Progress tracking - int updateIntervalMs = 100; - bool allBytesSent = false; - DateTime timeOfCompletion = default(DateTime); - - while (!response.IsCompleted) - { - float uploadProgress = (float)requestFileStream.Position / requestFileStream.Length * 100; - currentUpload.UpdateProgress(uploadProgress); - Thread.Sleep(updateIntervalMs); - - // A timeout for rare cases, when package uploading reaches 100%, but PutAsync task IsComplete value remains 'False' - if (requestFileStream.Position == requestFileStream.Length) - { - if (!allBytesSent) - { - allBytesSent = true; - timeOfCompletion = DateTime.UtcNow; - } - else if (DateTime.UtcNow.Subtract(timeOfCompletion).TotalMilliseconds > UploadResponseTimeoutMs) - { - responseTimedOut = true; - currentUpload.Cancel(); - break; - } - } - } - - // 2020.3 - although cancellation token shows a requested cancellation, the HttpClient - // tends to return a false 'IsCanceled' value, thus yielding an exception when attempting to read the response. - // For now we'll just check the token as well, but this needs to be investigated later on. - if (response.IsCanceled || currentUpload.CancellationToken.IsCancellationRequested) - currentUpload.CancellationToken.ThrowIfCancellationRequested(); - - var responseString = response.Result.Content.ReadAsStringAsync().Result; - - var success = JSONParser.AssetStoreResponseParse(responseString, out ASError error, out JsonValue json); - ASDebug.Log("Upload response JSON: " + json.ToString()); - if (success) - return PackageUploadResult.PackageUploadSuccess(); - else - return PackageUploadResult.PackageUploadFail(error); - } - catch (OperationCanceledException) - { - // Uploading is canceled - if (!responseTimedOut) - { - ASDebug.Log("Upload operation cancelled"); - return PackageUploadResult.PackageUploadCancelled(); - } - else - { - ASDebug.LogWarning("All data has been uploaded, but waiting for the response timed out"); - return PackageUploadResult.PackageUploadResponseTimeout(); - } - } - catch (Exception e) - { - ASDebug.LogError("Upload operation encountered an undefined exception: " + e); - var fullError = e.InnerException != null ? ASError.GetGenericError(e.InnerException) : ASError.GetGenericError(e); - return PackageUploadResult.PackageUploadFail(fullError); - } - finally - { - requestFileStream.Dispose(); - currentUpload.Dispose(); - } - } - - /// - /// Cancel the uploading task for a package with the provided package id - /// - public static void AbortPackageUpload(string packageId) - { - ActiveUploads[packageId]?.Cancel(); - } - - #endregion - - #region Utility Methods - - public static async Task GetLatestAssetStoreToolsVersion() - { - try - { - var url = "https://api.assetstore.unity3d.com/package/latest-version/115"; - var result = await httpClient.GetAsync(url); - - result.EnsureSuccessStatusCode(); - - var resultStr = await result.Content.ReadAsStringAsync(); - - var json = JSONParser.SimpleParse(resultStr); - - return new APIResult() { Success = true, Response = json }; - } - catch (Exception e) - { - return new APIResult() { Success = false, Error = ASError.GetGenericError(e) }; - } - } - - private static string GetLicenseHash() - { - return UnityEditorInternal.InternalEditorUtility.GetAuthToken().Substring(0, 40); - } - - private static string GetHardwareHash() - { - return UnityEditorInternal.InternalEditorUtility.GetAuthToken().Substring(40, 40); - } - - private static FormUrlEncodedContent GetLoginContent(Dictionary loginData) - { - loginData.Add("unityversion", Application.unityVersion); - loginData.Add("toolversion", ToolVersion); - loginData.Add("license_hash", GetLicenseHash()); - loginData.Add("hardware_hash", GetHardwareHash()); - - return new FormUrlEncodedContent(loginData); - } - - private static async Task GetAssetStoreData(Uri uri) - { - SetupDownloadCancellation(); - - var response = await httpClient.GetAsync(uri, s_downloadCancellationSource.Token) - .ContinueWith((x) => x.Result.Content.ReadAsStringAsync().Result, s_downloadCancellationSource.Token); - s_downloadCancellationSource.Token.ThrowIfCancellationRequested(); - - if (!JSONParser.AssetStoreResponseParse(response, out var error, out var jsonMainData)) - throw error.Exception; - - return jsonMainData; - } - - private static Uri APIUri(string apiPath, string endPointPath, string sessionId) - { - return APIUri(apiPath, endPointPath, sessionId, null); - } - - // Method borrowed from A$ tools, could maybe be simplified to only retain what is necessary? - private static Uri APIUri(string apiPath, string endPointPath, string sessionId, IDictionary extraQuery) - { - Dictionary extraQueryMerged; - - if (extraQuery == null) - extraQueryMerged = new Dictionary(); - else - extraQueryMerged = new Dictionary(extraQuery); - - extraQueryMerged.Add("unityversion", Application.unityVersion); - extraQueryMerged.Add("toolversion", ToolVersion); - extraQueryMerged.Add("xunitysession", sessionId); - - string uriPath = $"{AssetStoreProdUrl}/api/{apiPath}/{endPointPath}.json"; - UriBuilder uriBuilder = new UriBuilder(uriPath); - - StringBuilder queryToAppend = new StringBuilder(); - foreach (KeyValuePair queryPair in extraQueryMerged) - { - string queryName = queryPair.Key; - string queryValue = Uri.EscapeDataString(queryPair.Value); - - queryToAppend.AppendFormat("&{0}={1}", queryName, queryValue); - } - if (!string.IsNullOrEmpty(uriBuilder.Query)) - uriBuilder.Query = uriBuilder.Query.Substring(1) + queryToAppend; - else - uriBuilder.Query = queryToAppend.Remove(0, 1).ToString(); - - return uriBuilder.Uri; - } - - private static JsonValue MergePackageData(JsonValue mainPackageData, JsonValue extraPackageData, JsonValue categoryData) - { - ASDebug.Log($"Main package data\n{mainPackageData}"); - var mainDataDict = mainPackageData["packages"].AsDict(); - - // Most likely both of them will be true at the same time, but better to be safe - if (mainDataDict.Count == 0 || !extraPackageData.ContainsKey("packages")) - return new JsonValue(); - - ASDebug.Log($"Extra package data\n{extraPackageData}"); - var extraDataDict = extraPackageData["packages"].AsList(); - - var categories = CreateCategoryDictionary(categoryData); - - foreach (var md in mainDataDict) - { - foreach (var ed in extraDataDict) - { - if (ed["id"].AsString() != md.Key) - continue; - - // Create a field for extra data - var extraData = JsonValue.NewDict(); - - // Add category field - var categoryEntry = JsonValue.NewDict(); - - var categoryId = ed["category_id"].AsString(); - var categoryName = categories.ContainsKey(categoryId) ? categories[categoryId] : "Unknown"; - - categoryEntry["id"] = categoryId; - categoryEntry["name"] = categoryName; - - extraData["category_info"] = categoryEntry; - - // Add modified time and size - var versions = ed["versions"].AsList(); - extraData["modified"] = versions[versions.Count - 1]["modified"]; - extraData["size"] = versions[versions.Count - 1]["size"]; - - md.Value.AsDict()["extra_info"] = extraData; - } - } - - mainPackageData.AsDict()["packages"] = new JsonValue(mainDataDict); - return mainPackageData; - } - - private static Dictionary CreateCategoryDictionary(JsonValue json) - { - var categories = new Dictionary(); - - var list = json.AsList(); - - for (int i = 0; i < list.Count; i++) - { - var category = list[i].AsDict(); - if (category["status"].AsString() == "deprecated") - continue; - categories.Add(category["id"].AsString(), category["assetstore_name"].AsString()); - } - - return categories; - } - - /// - /// Check if the account data is for a valid publisher account - /// - /// Json structure retrieved from one of the API login methods - public static bool IsPublisherValid(JsonValue json, out ASError error) - { - error = ASError.GetPublisherNullError(json["name"]); - - if (!json.ContainsKey("publisher")) - return false; - - // If publisher account is not created - let them know - return !json["publisher"].IsNull(); - } - - /// - /// Cancel all data retrieval tasks - /// - public static void AbortDownloadTasks() - { - s_downloadCancellationSource?.Cancel(); - } - - /// - /// Cancel all data uploading tasks - /// - public static void AbortUploadTasks() - { - foreach (var upload in ActiveUploads) - { - AbortPackageUpload(upload.Key); - } - } - - private static void SetupDownloadCancellation() - { - if (s_downloadCancellationSource != null && s_downloadCancellationSource.IsCancellationRequested) - DisposeDownloadCancellation(); - - if (s_downloadCancellationSource == null) - s_downloadCancellationSource = new CancellationTokenSource(); - } - - private static void DisposeDownloadCancellation() - { - s_downloadCancellationSource?.Dispose(); - s_downloadCancellationSource = null; - } - - private static void EditorPlayModeStateChangeHandler(PlayModeStateChange state) - { - if (state != PlayModeStateChange.ExitingEditMode) - return; - - EditorApplication.ExitPlaymode(); - EditorUtility.DisplayDialog("Notice", "Entering Play Mode is not allowed while there's a package upload in progress.\n\n" + - "Please wait until the upload is finished or cancel the upload from the Asset Store Uploader window", "OK"); - } - - private static void OverrideAssetStoreUrl() - { - var args = Environment.GetCommandLineArgs(); - for (var i = 0; i < args.Length; i++) - { - if (!args[i].Equals("-assetStoreUrl")) - continue; - - if (i + 1 >= args.Length) - return; - - ASDebug.Log($"Overriding A$ URL to: {args[i + 1]}"); - AssetStoreProdUrl = args[i + 1]; - return; - } - } - - #endregion - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs.meta deleted file mode 100644 index d248bfef2..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/AssetStoreAPI.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 684fca3fffd79d944a32d9b3adbfc007 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data.meta deleted file mode 100644 index be3554a6d..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9e3cae7082463da41b807724242fd617 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs deleted file mode 100644 index 3d6772df2..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using UnityEditor; -using UnityEngine.Analytics; - -namespace AssetStoreTools.Uploader.Data -{ - internal static class ASAnalytics - { - private const int VersionId = 3; - private const int MaxEventsPerHour = 20; - private const int MaxNumberOfElements = 1000; - - private const string VendorKey = "unity.assetStoreTools"; - private const string EventName = "assetStoreTools"; - - static bool EnableAnalytics() - { -#if UNITY_2023_2_OR_NEWER - return true; -#else - var result = EditorAnalytics.RegisterEventWithLimit(EventName, MaxEventsPerHour, MaxNumberOfElements, VendorKey, VersionId); - return result == AnalyticsResult.Ok; -#endif - } - - [System.Serializable] - public struct AnalyticsData -#if UNITY_2023_2_OR_NEWER - : IAnalytic.IData -#endif - { - public string ToolVersion; - public string PackageId; - public string Category; - public bool UsedValidator; - public string ValidatorResults; - public string UploadFinishedReason; - public double TimeTaken; - public long PackageSize; - public string Workflow; - public string EndpointUrl; - } - -#if UNITY_2023_2_OR_NEWER - [AnalyticInfo(eventName: EventName, vendorKey: VendorKey, version: VersionId, maxEventsPerHour: MaxEventsPerHour, maxNumberOfElements: MaxNumberOfElements)] - private class AssetStoreToolsAnalytic : IAnalytic - { - private AnalyticsData _data; - - public AssetStoreToolsAnalytic(AnalyticsData data) - { - _data = data; - } - - public bool TryGatherData(out IAnalytic.IData data, out Exception error) - { - error = null; - data = _data; - return data != null; - } - } -#endif - - public static void SendUploadingEvent(AnalyticsData data) - { - if (!EditorAnalytics.enabled) - return; - - if (!EnableAnalytics()) - return; - -#if UNITY_2023_2_OR_NEWER - var analytic = new AssetStoreToolsAnalytic(data); - EditorAnalytics.SendAnalytic(analytic); -#else - EditorAnalytics.SendEventWithLimit(EventName, data, VersionId); -#endif - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs.meta deleted file mode 100644 index 22a47b189..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/ASAnalytics.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 1095145789a64767a6add837eea19786 -timeCreated: 1658832954 \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs deleted file mode 100644 index ecc76aeaa..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Threading; - -namespace AssetStoreTools.Uploader.Data -{ - internal class OngoingUpload : IDisposable - { - private CancellationTokenSource _cancellationTokenSource; - - public string VersionId { get; } - public string PackageName { get; } - public float Progress { get; private set; } - public CancellationToken CancellationToken => _cancellationTokenSource.Token; - - public OngoingUpload(string versionId, string packageName) - { - VersionId = versionId; - PackageName = packageName; - Progress = 0f; - _cancellationTokenSource = new CancellationTokenSource(); - } - - public void Cancel() - { - _cancellationTokenSource?.Cancel(); - } - - public void Dispose() - { - _cancellationTokenSource?.Dispose(); - _cancellationTokenSource = null; - } - - public void UpdateProgress(float newProgress) - { - Progress = newProgress; - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs.meta deleted file mode 100644 index 82a24a3dd..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/OngoingUpload.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 601fdada4edc5b94eb83a21d1a01ed26 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs deleted file mode 100644 index 42d3205b9..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs +++ /dev/null @@ -1,36 +0,0 @@ -namespace AssetStoreTools.Uploader.Data -{ - internal class PackageData - { - public string Id { get; } - public string Name { get; } - public string VersionId { get; } - public string Status { get; } - public string Category { get; } - public bool IsCompleteProject { get; } - public string LastUploadedPath { get; } - public string LastUploadedGuid { get; } - - public string LastDate { get; } - public string LastSize { get; } - - public PackageData(string id, string name, string versionId, string status, string category, bool isCompleteProject, string lastUploadedPath, string lastUploadedGuid, string lastDate, string lastSize) - { - Id = id; - Name = name; - VersionId = versionId; - Status = status; - Category = category; - IsCompleteProject = isCompleteProject; - LastUploadedPath = lastUploadedPath; - LastUploadedGuid = lastUploadedGuid; - LastDate = lastDate; - LastSize = lastSize; - } - - public override string ToString() - { - return $"{Id} {Name} {VersionId} {Status} {Category} {LastUploadedPath} {LastUploadedGuid} {IsCompleteProject} {LastDate} {LastSize}"; - } - } -} \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs.meta deleted file mode 100644 index c9c1b2113..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageData.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 8157930875be4972a48c870a3d1e8ff1 -timeCreated: 1658919930 \ No newline at end of file diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs deleted file mode 100644 index 9931b4f62..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs +++ /dev/null @@ -1,46 +0,0 @@ -using AssetStoreTools.Utility; -using UnityEngine; - -namespace AssetStoreTools.Uploader.Data -{ - internal class PackageUploadResult - { - public enum UploadStatus - { - Default = 0, - Success = 1, - Fail = 2, - Cancelled = 3, - ResponseTimeout = 4 - } - - public UploadStatus Status; - public ASError Error; - - private PackageUploadResult() { } - - public static PackageUploadResult PackageUploadSuccess() => new PackageUploadResult() { Status = UploadStatus.Success }; - - public static PackageUploadResult PackageUploadFail(ASError e) => new PackageUploadResult() { Status = UploadStatus.Fail, Error = e }; - - public static PackageUploadResult PackageUploadCancelled() => new PackageUploadResult() { Status = UploadStatus.Cancelled }; - - public static PackageUploadResult PackageUploadResponseTimeout() => new PackageUploadResult() { Status = UploadStatus.ResponseTimeout }; - - public static Color GetColorByStatus(UploadStatus status) - { - switch (status) - { - default: - case UploadStatus.Default: - return new Color(0.13f, 0.59f, 0.95f); - case UploadStatus.Success: - return new Color(0f, 0.50f, 0.14f); - case UploadStatus.Cancelled: - return new Color(0.78f, 0.59f, 0f); - case UploadStatus.Fail: - return new Color(0.69f, 0.04f, 0.04f); - } - } - } -} diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs.meta deleted file mode 100644 index c69572269..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/Data/PackageUploadResult.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 188361b01a1450145a6fc2a7aa0a3a3c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements.meta deleted file mode 100644 index 87a66a2d5..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3eb6991a3db8cc34dad63504bc6c3c0e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login.meta b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login.meta deleted file mode 100644 index 0a7ccff81..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d6e2d6bcfe000764e9330d78017e32bc -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login/LoginWindow.cs b/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login/LoginWindow.cs deleted file mode 100644 index 625d083d0..000000000 --- a/OneSignalExample/Packages/com.unity.asset-store-tools/Editor/Uploader/Scripts/UI Elements/Login/LoginWindow.cs +++ /dev/null @@ -1,233 +0,0 @@ -using AssetStoreTools.Utility; -using AssetStoreTools.Utility.Json; -using System; -using UnityEditor; -using UnityEngine; -using UnityEngine.UIElements; - -namespace AssetStoreTools.Uploader.UIElements -{ - internal class LoginWindow : VisualElement - { - private readonly string REGISTER_URL = "https://publisher.unity.com/access"; - private readonly string FORGOT_PASSWORD_URL = "https://id.unity.com/password/new"; - - private Button _cloudLoginButton; - private Button _credentialsLoginButton; - - private Label _cloudLoginLabel; - - private TextField _emailField; - private TextField _passwordField; - - private Box _errorBox; - private Label _errorLabel; - - private double _cloudLoginRefreshTime = 1d; - private double _lastRefreshTime; - - public new class UxmlFactory : UxmlFactory { } - - public LoginWindow() - { - styleSheets.Add(StyleSelector.UploaderWindow.LoginWindowStyle); - styleSheets.Add(StyleSelector.UploaderWindow.LoginWindowTheme); - ConstructLoginWindow(); - EditorApplication.update += UpdateCloudLoginButton; - } - - public void SetupLoginElements(Action onSuccess, Action onFail) - { - this.SetEnabled(true); - - _cloudLoginLabel = _cloudLoginButton.Q