You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace the deprecated bundled Google EDM4U integration with Unity External Dependency Manager 2.0.
Details
Motivation
Unity Asset Store rejected the v6 submission because it referenced Google's superseded EDM4U package. Unity now requires package maintainers to use com.unity.external-dependency-manager. See Unity’s EDM setup guidance.
Scope
Declare Unity EDM 2.0 in the Android and iOS UPM packages.
Remove the legacy EDM4U installer and vendored demo binaries.
Refresh demo lockfiles, project settings, notices, and documentation.
Add distribution checks preventing legacy EDM4U from being reintroduced.
No public OneSignal API changes.
Testing
Unit testing
No unit tests were added because this changes Unity package resolution and distribution metadata rather than runtime behavior.
Manual testing
Ran python3 .github/scripts/validate-unity-distribution.py.
Ran npm pack --dry-run for all three UPM packages.
Resolved Unity EDM 2.0 and compiled the demo projects with Unity 2022.3 and Unity 6.
Affected code checklist
Notifications
Display
Open
Push Processing
Confirm Deliveries
Outcomes
Sessions
In-App Messaging
REST API requests
Public API changes
Checklist
Overview
I have filled out all REQUIRED sections above
PR does one thing
Any Public API changes are explained in the PR details and conform to existing APIs
Testing
I have included test coverage for these changes, or explained why they are not needed
All automated tests pass, or I explained why that is not possible
I have personally tested this on my device, or explained why that is not possible
Final pass
Code is as readable as possible.
I have reviewed this PR myself, ensuring it meets each checklist item
High — Legacy Google EDM left in customer projects
Removing InstallEdm4uStep and the reset cleanup of Assets/ExternalDependencyManager leaves upgrades with no migration for existing Assets-folder EDM4U. Dual resolvers commonly break Android/iOS resolution; Unity EDM 2.0 docs recommend keeping only one manager active and deleting Assets installs. Add a setup step and/or v6 migration note to detect and remove/disable legacy Google EDM.
Medium — demo-no-location under-validated
CI blocks legacy EDM in both demos, but validate_packages() only checks examples/demo/Packages/manifest.json. Mirror those manifest checks for demo-no-location.
Medium — Demo EDM settings asymmetry examples/demo commits ExternalDependencyManagerSettings.json (edmEnabled: true); demo-no-location gitignores most ProjectSettings/, so it does not. Track the same settings (or document why not) to avoid prompt/resolution drift.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
One Line Summary
Replace the deprecated bundled Google EDM4U integration with Unity External Dependency Manager 2.0.
Details
Motivation
Unity Asset Store rejected the v6 submission because it referenced Google's superseded EDM4U package. Unity now requires package maintainers to use
com.unity.external-dependency-manager. See Unity’s EDM setup guidance.Scope
Testing
Unit testing
No unit tests were added because this changes Unity package resolution and distribution metadata rather than runtime behavior.
Manual testing
python3 .github/scripts/validate-unity-distribution.py.npm pack --dry-runfor all three UPM packages.Affected code checklist
Checklist
Overview
Testing
Final pass