From 8bdfacb4a0d72f7aff61069927a0c80572c65b53 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Thu, 9 Jul 2026 18:46:32 -0700 Subject: [PATCH 1/4] docs: bump min Unity to 2022.3 --- README.md | 2 +- examples/demo/Assets/OneSignal/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2b14740c3..33efc7628 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ And via many additional platforms. [Check them all out](https://documentation.on ## Requirements - A [OneSignal Account](https://app.onesignal.com/signup) if you do not already have one - Your OneSignal App ID which you can find under **Settings > Keys & IDs** -- Unity 2021.3 or newer +- Unity 2022.3 or newer - Android Builds: Target API Level 33 or higher - iOS Builds: CocoaPods 1.11.3 or newer - In order to test push notifications you will need diff --git a/examples/demo/Assets/OneSignal/README.md b/examples/demo/Assets/OneSignal/README.md index eeebf702c..d47f06754 100644 --- a/examples/demo/Assets/OneSignal/README.md +++ b/examples/demo/Assets/OneSignal/README.md @@ -32,7 +32,7 @@ And via many additional platforms. [Check them all out](https://documentation.on ## Requirements - A [OneSignal Account](https://app.onesignal.com/signup) if you do not already have one - Your OneSignal App ID which you can find under **Settings > Keys & IDs** -- Unity 2021.3 or newer +- Unity 2022.3 or newer - Android Builds: Target API Level 33 or higher - iOS Builds: CocoaPods 1.11.3 or newer - In order to test push notifications you will need From bfdc20d6b4a787a58cf91f22964b688d28582497 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Thu, 9 Jul 2026 19:24:52 -0700 Subject: [PATCH 2/4] fix: support opening demo with Unity 2022 Guard APIs unavailable in Unity 2022 and provide a launcher that temporarily disables the newer accessibility module while preserving Unity 6 E2E behavior. Co-authored-by: Cursor --- .../Scripts/Services/AccessibilityBridge.cs | 16 ++++++++ .../Assets/Scripts/UI/Dialogs/DialogBase.cs | 9 ++++- .../UI/Dialogs/MultiPairInputDialog.cs | 4 +- .../Scripts/UI/Dialogs/OutcomeDialog.cs | 4 +- .../Scripts/UI/Dialogs/TrackEventDialog.cs | 2 +- examples/demo/README.md | 10 +++++ examples/demo/open-unity-2022.sh | 40 +++++++++++++++++++ 7 files changed, 79 insertions(+), 6 deletions(-) create mode 100755 examples/demo/open-unity-2022.sh diff --git a/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs b/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs index 1bd63ba91..c6eba25a6 100644 --- a/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs +++ b/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs @@ -4,7 +4,9 @@ using System.Globalization; using System.Reflection; using UnityEngine; +#if UNITY_2023_2_OR_NEWER using UnityEngine.Accessibility; +#endif using UnityEngine.UIElements; namespace OneSignalDemo.Services @@ -15,6 +17,7 @@ namespace OneSignalDemo.Services /// public class AccessibilityBridge : MonoBehaviour { +#if UNITY_2023_2_OR_NEWER // GeometryChangedEvent is the hot path; this tick catches drift from sources that // don't raise it (animation curves, opacity tweens, value mutations). private const float FrameRefreshIntervalSeconds = 0.05f; @@ -912,6 +915,19 @@ public IosInfoTap(Func isEnabled, Action action) Action = action; } } +#endif +#else + public static void EnableForE2E(VisualElement root) { } + + public static void RegisterE2ETapTarget( + VisualElement target, + Func isEnabled, + Action action + ) { } + + public static void RequestResync() { } + + public static void RequestImmediateResync() { } #endif } } diff --git a/examples/demo/Assets/Scripts/UI/Dialogs/DialogBase.cs b/examples/demo/Assets/Scripts/UI/Dialogs/DialogBase.cs index 17d05433f..fb64a9380 100644 --- a/examples/demo/Assets/Scripts/UI/Dialogs/DialogBase.cs +++ b/examples/demo/Assets/Scripts/UI/Dialogs/DialogBase.cs @@ -98,10 +98,17 @@ protected TextField CreateTextField(string label, string name, string placeholde field.name = name; field.AddToClassList("input-field"); if (!string.IsNullOrEmpty(placeholder)) - field.textEdition.placeholder = placeholder; + SetPlaceholder(field, placeholder); return field; } + protected static void SetPlaceholder(TextField field, string placeholder) + { +#if UNITY_2023_1_OR_NEWER + field.textEdition.placeholder = placeholder; +#endif + } + protected Button CreateConfirmButton(string text, Action onClick) { var btn = new Button(onClick); diff --git a/examples/demo/Assets/Scripts/UI/Dialogs/MultiPairInputDialog.cs b/examples/demo/Assets/Scripts/UI/Dialogs/MultiPairInputDialog.cs index 987ffd903..e13d8a762 100644 --- a/examples/demo/Assets/Scripts/UI/Dialogs/MultiPairInputDialog.cs +++ b/examples/demo/Assets/Scripts/UI/Dialogs/MultiPairInputDialog.cs @@ -100,14 +100,14 @@ private void AddRow() keyField.name = $"multipair_key_{rowIndex}"; keyField.AddToClassList("input-field"); keyField.AddToClassList("dialog-field-group-left"); - keyField.textEdition.placeholder = _keyLabel; + SetPlaceholder(keyField, _keyLabel); keyField.RegisterValueChangedCallback(_ => ValidateAll()); var valueField = new TextField(); valueField.name = $"multipair_value_{rowIndex}"; valueField.AddToClassList("input-field"); valueField.AddToClassList("dialog-field-group"); - valueField.textEdition.placeholder = _valueLabel; + SetPlaceholder(valueField, _valueLabel); valueField.RegisterValueChangedCallback(_ => ValidateAll()); row.Add(keyField); diff --git a/examples/demo/Assets/Scripts/UI/Dialogs/OutcomeDialog.cs b/examples/demo/Assets/Scripts/UI/Dialogs/OutcomeDialog.cs index 0db76afaa..0aebbac08 100644 --- a/examples/demo/Assets/Scripts/UI/Dialogs/OutcomeDialog.cs +++ b/examples/demo/Assets/Scripts/UI/Dialogs/OutcomeDialog.cs @@ -64,7 +64,7 @@ protected override void BuildContent(VisualElement container) _nameField = new TextField(); _nameField.name = "outcome_name_input"; _nameField.AddToClassList("input-field"); - _nameField.textEdition.placeholder = "Outcome Name"; + SetPlaceholder(_nameField, "Outcome Name"); _nameField.RegisterValueChangedCallback(_ => ValidateInput()); container.Add(_nameField); @@ -74,7 +74,7 @@ protected override void BuildContent(VisualElement container) _valueField = new TextField(); _valueField.name = "outcome_value_input"; _valueField.AddToClassList("input-field"); - _valueField.textEdition.placeholder = "Value"; + SetPlaceholder(_valueField, "Value"); _valueField.RegisterValueChangedCallback(_ => ValidateInput()); _valueContainer.Add(_valueField); diff --git a/examples/demo/Assets/Scripts/UI/Dialogs/TrackEventDialog.cs b/examples/demo/Assets/Scripts/UI/Dialogs/TrackEventDialog.cs index efa7ff42a..b8d9a587b 100644 --- a/examples/demo/Assets/Scripts/UI/Dialogs/TrackEventDialog.cs +++ b/examples/demo/Assets/Scripts/UI/Dialogs/TrackEventDialog.cs @@ -45,7 +45,7 @@ protected override void BuildContent(VisualElement container) _propertiesField = new TextField(); _propertiesField.name = "event_properties_input"; _propertiesField.AddToClassList("input-field"); - _propertiesField.textEdition.placeholder = "{\"key\": \"value\"}"; + SetPlaceholder(_propertiesField, "{\"key\": \"value\"}"); _propertiesField.RegisterValueChangedCallback(_ => ValidateInput()); container.Add(_propertiesField); diff --git a/examples/demo/README.md b/examples/demo/README.md index d66c70702..c23f926c6 100644 --- a/examples/demo/README.md +++ b/examples/demo/README.md @@ -22,6 +22,16 @@ You can build and install without opening the Unity editor by using the provided Both scripts accept `--no-install` to build only, `--install-only` to skip rebuilding, and `run-ios.sh` also supports `--open` to open the generated Xcode workspace. Set `UNITY_PATH` if Unity is not at the default location. +### Unity 2022 + +Unity's Accessibility module is not available in 2022.3. Use the compatibility launcher to open the demo without that module: + +```sh +./open-unity-2022.sh +``` + +The launcher restores the Unity 6 package configuration when the Editor exits. Set `UNITY_PATH` to use a different 2022.3 installation. + ## Clean Generated State Use `clean.sh` when you want to retest setup from the Unity Editor or clear build artifacts before switching between dependency configurations: diff --git a/examples/demo/open-unity-2022.sh b/examples/demo/open-unity-2022.sh new file mode 100755 index 000000000..c378bf5f4 --- /dev/null +++ b/examples/demo/open-unity-2022.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +set -euo pipefail + +PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +MANIFEST="$PROJECT_DIR/Packages/manifest.json" +LOCK_FILE="$PROJECT_DIR/Packages/packages-lock.json" +UNITY_PATH="${UNITY_PATH:-/Applications/Unity/Hub/Editor/2022.3.62f3/Unity.app/Contents/MacOS/Unity}" +BACKUP_DIR="$(mktemp -d)" + +restore_packages() { + cp "$BACKUP_DIR/manifest.json" "$MANIFEST" + if [[ -f "$BACKUP_DIR/packages-lock.json" ]]; then + cp "$BACKUP_DIR/packages-lock.json" "$LOCK_FILE" + else + rm -f "$LOCK_FILE" + fi + rm -rf "$BACKUP_DIR" +} +trap restore_packages EXIT + +cp "$MANIFEST" "$BACKUP_DIR/manifest.json" +if [[ -f "$LOCK_FILE" ]]; then + cp "$LOCK_FILE" "$BACKUP_DIR/packages-lock.json" +fi + +python3 - "$MANIFEST" <<'PY' +import json +import sys + +path = sys.argv[1] +with open(path, encoding="utf-8") as file: + manifest = json.load(file) +manifest["dependencies"].pop("com.unity.modules.accessibility", None) +with open(path, "w", encoding="utf-8") as file: + json.dump(manifest, file, indent=2) + file.write("\n") +PY +rm -f "$LOCK_FILE" + +"$UNITY_PATH" -projectPath "$PROJECT_DIR" "$@" From 25882ac629d343f31a52d3b750954fed02f0615e Mon Sep 17 00:00:00 2001 From: Fadi George Date: Thu, 9 Jul 2026 19:36:39 -0700 Subject: [PATCH 3/4] fix: open demo directly across Unity versions Keep the accessibility module CI-only so Unity 2022 and Unity 6 can both resolve the committed project without swapping manifests. Co-authored-by: Cursor --- .github/workflows/e2e.yml | 36 ++++++++++++++--- .../Scripts/Services/AccessibilityBridge.cs | 4 +- examples/demo/Packages/manifest.json | 1 - examples/demo/Packages/packages-lock.json | 6 --- examples/demo/README.md | 10 +---- examples/demo/open-unity-2022.sh | 40 ------------------- 6 files changed, 35 insertions(+), 62 deletions(-) delete mode 100755 examples/demo/open-unity-2022.sh diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 1828c7110..7858b8c8f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -42,6 +42,19 @@ jobs: onesignal-app-id: ${{ vars.APPIUM_ONESIGNAL_APP_ID }} onesignal-api-key: ${{ secrets.APPIUM_ONESIGNAL_API_KEY }} + - name: Enable E2E accessibility + run: | + python3 - <<'PY' + import json + from pathlib import Path + + path = Path("examples/demo/Packages/manifest.json") + manifest = json.loads(path.read_text()) + manifest["dependencies"]["com.unity.modules.accessibility"] = "1.0.0" + path.write_text(json.dumps(manifest, indent=2) + "\n") + PY + printf '%s\n' '-define:ONESIGNAL_E2E_ACCESSIBILITY' > examples/demo/Assets/csc.rsp + - name: Resolve OneSignal Android SDK version id: android-sdk-version run: | @@ -61,7 +74,7 @@ jobs: uses: actions/cache@v5 with: path: examples/demo/Library - key: unity-library-android-${{ hashFiles('examples/demo/Packages/manifest.json', 'examples/demo/ProjectSettings/ProjectVersion.txt') }} + key: unity-library-android-${{ hashFiles('examples/demo/Packages/manifest.json', 'examples/demo/Assets/csc.rsp', 'examples/demo/ProjectSettings/ProjectVersion.txt') }} restore-keys: unity-library-android- - name: Build APK @@ -72,7 +85,7 @@ jobs: UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: projectPath: examples/demo - unityVersion: auto + unityVersion: 6000.4.11f1 targetPlatform: Android buildMethod: BuildScript.BuildAndroidEmulator allowDirtyBuild: true @@ -108,11 +121,24 @@ jobs: onesignal-app-id: ${{ vars.APPIUM_ONESIGNAL_APP_ID }} onesignal-api-key: ${{ secrets.APPIUM_ONESIGNAL_API_KEY }} + - name: Enable E2E accessibility + run: | + python3 - <<'PY' + import json + from pathlib import Path + + path = Path("examples/demo/Packages/manifest.json") + manifest = json.loads(path.read_text()) + manifest["dependencies"]["com.unity.modules.accessibility"] = "1.0.0" + path.write_text(json.dumps(manifest, indent=2) + "\n") + PY + printf '%s\n' '-define:ONESIGNAL_E2E_ACCESSIBILITY' > examples/demo/Assets/csc.rsp + - name: Cache Unity Library uses: actions/cache@v5 with: path: examples/demo/Library - key: unity-library-ios-${{ hashFiles('examples/demo/Packages/manifest.json', 'examples/demo/ProjectSettings/ProjectVersion.txt') }} + key: unity-library-ios-${{ hashFiles('examples/demo/Packages/manifest.json', 'examples/demo/Assets/csc.rsp', 'examples/demo/ProjectSettings/ProjectVersion.txt') }} restore-keys: unity-library-ios- - name: Cache Xcode DerivedData @@ -123,7 +149,7 @@ jobs: uses: actions/cache@v5 with: path: examples/demo/Build/iOS-DerivedData - key: deriveddata-${{ runner.os }}-${{ hashFiles('examples/demo/Packages/manifest.json', 'examples/demo/ProjectSettings/ProjectVersion.txt', 'examples/demo/ProjectSettings/ProjectSettings.asset', 'com.onesignal.unity.ios/Editor/**', 'com.onesignal.unity.core/Editor/**', 'examples/demo/iOS/ExportOptions.plist') }} + key: deriveddata-${{ runner.os }}-${{ hashFiles('examples/demo/Packages/manifest.json', 'examples/demo/Assets/csc.rsp', 'examples/demo/ProjectSettings/ProjectVersion.txt', 'examples/demo/ProjectSettings/ProjectSettings.asset', 'com.onesignal.unity.ios/Editor/**', 'com.onesignal.unity.core/Editor/**', 'examples/demo/iOS/ExportOptions.plist') }} restore-keys: deriveddata-${{ runner.os }}- - name: Export Xcode project from Unity @@ -134,7 +160,7 @@ jobs: UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }} with: projectPath: examples/demo - unityVersion: auto + unityVersion: 6000.4.11f1 targetPlatform: iOS buildMethod: BuildScript.BuildiOSDevice allowDirtyBuild: true diff --git a/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs b/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs index c6eba25a6..e1d488913 100644 --- a/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs +++ b/examples/demo/Assets/Scripts/Services/AccessibilityBridge.cs @@ -4,7 +4,7 @@ using System.Globalization; using System.Reflection; using UnityEngine; -#if UNITY_2023_2_OR_NEWER +#if UNITY_2023_2_OR_NEWER && ONESIGNAL_E2E_ACCESSIBILITY using UnityEngine.Accessibility; #endif using UnityEngine.UIElements; @@ -17,7 +17,7 @@ namespace OneSignalDemo.Services /// public class AccessibilityBridge : MonoBehaviour { -#if UNITY_2023_2_OR_NEWER +#if UNITY_2023_2_OR_NEWER && ONESIGNAL_E2E_ACCESSIBILITY // GeometryChangedEvent is the hot path; this tick catches drift from sources that // don't raise it (animation curves, opacity tweens, value mutations). private const float FrameRefreshIntervalSeconds = 0.05f; diff --git a/examples/demo/Packages/manifest.json b/examples/demo/Packages/manifest.json index 000faea9d..c1656c30c 100644 --- a/examples/demo/Packages/manifest.json +++ b/examples/demo/Packages/manifest.json @@ -4,7 +4,6 @@ "com.onesignal.unity.core": "file:../../../com.onesignal.unity.core", "com.onesignal.unity.ios": "file:../../../com.onesignal.unity.ios", "com.unity.nuget.newtonsoft-json": "3.2.2", - "com.unity.modules.accessibility": "1.0.0", "com.unity.modules.androidjni": "1.0.0", "com.unity.modules.uielements": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0" diff --git a/examples/demo/Packages/packages-lock.json b/examples/demo/Packages/packages-lock.json index 5ea253b10..984541678 100644 --- a/examples/demo/Packages/packages-lock.json +++ b/examples/demo/Packages/packages-lock.json @@ -29,12 +29,6 @@ "dependencies": {}, "url": "https://packages.unity.com" }, - "com.unity.modules.accessibility": { - "version": "1.0.0", - "depth": 0, - "source": "builtin", - "dependencies": {} - }, "com.unity.modules.androidjni": { "version": "1.0.0", "depth": 0, diff --git a/examples/demo/README.md b/examples/demo/README.md index c23f926c6..f33ca45c0 100644 --- a/examples/demo/README.md +++ b/examples/demo/README.md @@ -22,15 +22,9 @@ You can build and install without opening the Unity editor by using the provided Both scripts accept `--no-install` to build only, `--install-only` to skip rebuilding, and `run-ios.sh` also supports `--open` to open the generated Xcode workspace. Set `UNITY_PATH` if Unity is not at the default location. -### Unity 2022 +### Unity versions -Unity's Accessibility module is not available in 2022.3. Use the compatibility launcher to open the demo without that module: - -```sh -./open-unity-2022.sh -``` - -The launcher restores the Unity 6 package configuration when the Editor exits. Set `UNITY_PATH` to use a different 2022.3 installation. +The demo can be opened directly in Unity 2022.3 or Unity 6. The E2E workflow enables Unity 6's Accessibility module only for automated builds because that module is not available in Unity 2022.3. ## Clean Generated State diff --git a/examples/demo/open-unity-2022.sh b/examples/demo/open-unity-2022.sh deleted file mode 100755 index c378bf5f4..000000000 --- a/examples/demo/open-unity-2022.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail - -PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -MANIFEST="$PROJECT_DIR/Packages/manifest.json" -LOCK_FILE="$PROJECT_DIR/Packages/packages-lock.json" -UNITY_PATH="${UNITY_PATH:-/Applications/Unity/Hub/Editor/2022.3.62f3/Unity.app/Contents/MacOS/Unity}" -BACKUP_DIR="$(mktemp -d)" - -restore_packages() { - cp "$BACKUP_DIR/manifest.json" "$MANIFEST" - if [[ -f "$BACKUP_DIR/packages-lock.json" ]]; then - cp "$BACKUP_DIR/packages-lock.json" "$LOCK_FILE" - else - rm -f "$LOCK_FILE" - fi - rm -rf "$BACKUP_DIR" -} -trap restore_packages EXIT - -cp "$MANIFEST" "$BACKUP_DIR/manifest.json" -if [[ -f "$LOCK_FILE" ]]; then - cp "$LOCK_FILE" "$BACKUP_DIR/packages-lock.json" -fi - -python3 - "$MANIFEST" <<'PY' -import json -import sys - -path = sys.argv[1] -with open(path, encoding="utf-8") as file: - manifest = json.load(file) -manifest["dependencies"].pop("com.unity.modules.accessibility", None) -with open(path, "w", encoding="utf-8") as file: - json.dump(manifest, file, indent=2) - file.write("\n") -PY -rm -f "$LOCK_FILE" - -"$UNITY_PATH" -projectPath "$PROJECT_DIR" "$@" From 6d1c7faf2c7ae73709c25a126d5383ab3f280748 Mon Sep 17 00:00:00 2001 From: Fadi George Date: Thu, 9 Jul 2026 19:57:05 -0700 Subject: [PATCH 4/4] fix(editor): skip init in asset import worker --- .../Editor/OneSignalAndroidDependencies.cs | 3 +++ .../Editor/OneSignaliOSDependencies.cs | 3 +++ .../Editor/OneSignalFileInventory.cs | 21 ++++++++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.cs b/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.cs index 34cf30749..d1b20350d 100644 --- a/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.cs +++ b/com.onesignal.unity.android/Editor/OneSignalAndroidDependencies.cs @@ -37,6 +37,9 @@ internal static class OneSignalAndroidDependencies { static OneSignalAndroidDependencies() { + if (AssetDatabase.IsAssetImportWorkerProcess()) + return; + OneSignalSDKSettings.Changed += WriteDependencies; WriteDependencies(); } diff --git a/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.cs b/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.cs index 284af1471..4bb5ab620 100644 --- a/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.cs +++ b/com.onesignal.unity.ios/Editor/OneSignaliOSDependencies.cs @@ -37,6 +37,9 @@ internal static class OneSignaliOSDependencies { static OneSignaliOSDependencies() { + if (AssetDatabase.IsAssetImportWorkerProcess()) + return; + OneSignalSDK.OneSignalSDKSettings.Changed += WriteDependencies; WriteDependencies(); } diff --git a/examples/demo/Assets/OneSignal/Editor/OneSignalFileInventory.cs b/examples/demo/Assets/OneSignal/Editor/OneSignalFileInventory.cs index 578cf5853..82cf4c524 100644 --- a/examples/demo/Assets/OneSignal/Editor/OneSignalFileInventory.cs +++ b/examples/demo/Assets/OneSignal/Editor/OneSignalFileInventory.cs @@ -47,7 +47,9 @@ internal sealed class OneSignalFileInventory : ScriptableObject public static string[] GetCurrentPaths() => ConvertPathsToUnix( Directory.GetFiles(PackageAssetsPath, "*", SearchOption.AllDirectories) - ); + ) + .Except(GeneratedDependencyPaths) + .ToArray(); /// /// Makes sure are using forward slash to be Unix compatible. @@ -75,5 +77,22 @@ public static string[] ConvertPathsToUnix(string[] paths) "Resources" ); public static readonly string AssetPath = Path.Combine(EditorResourcesPath, AssetName); + private static readonly string[] GeneratedDependencyPaths = ConvertPathsToUnix( + new[] + { + Path.Combine( + PackageAssetsPath, + "Editor", + "OneSignalAndroidDependencies.xml" + ), + Path.Combine( + PackageAssetsPath, + "Editor", + "OneSignalAndroidDependencies.xml.meta" + ), + Path.Combine(PackageAssetsPath, "Editor", "OneSignaliOSDependencies.xml"), + Path.Combine(PackageAssetsPath, "Editor", "OneSignaliOSDependencies.xml.meta"), + } + ); } }