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
feat(audience): auto-collect Epic account ID and detect Epic platform
When the PlayEveryWare EOS Unity plugin is present, the SDK now:
- Calls Identify() with the logged-in EpicAccountId automatically at Init
- Sets distribution_platform = "epic" in game_launch properties when
the game was launched from the Epic Games Store
Detection uses C# reflection so there is no hard compile-time dependency;
games without EOS are completely unaffected. Both EOS Unity plugin install
methods are supported:
- UPM package (com.playeveryware.eos / com.Epic.OnlineServices assembly)
- Legacy DLL install (EOSSDK / PlayEveryWare.EpicOnlineServices assembly)
EGS detection is based on launcher-injected CLI args (-EpicPortal,
-epicapp=, -epicenv=), not EOS initialisation, so Steam-only games that
use EOS for cross-play are not misattributed.
link.xml: type-level preserve="all" entries for AuthInterface and
EpicAccountId prevent IL2CPP High stripping from removing the method
metadata that reflection depends on. Assembly-level preserve="all" only
protects type declarations, not method bodies or their metadata.
examples/audience/Assets/link.xml mirrors the same rules because Unity's
linker skips package link.xml when the package is a file: path (dev mode).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
0 commit comments