Game Center Player Identity Continuity After App Transfer Between Developer Accounts

Dear Apple Developer Support Team,

We plan to transfer multiple non-Apple Arcade games from Developer Account A to Developer Account B. The transfers have not yet been initiated.

Approximately one million existing players use Game Center to sign in and link their identities to our in-game accounts. Before initiating the transfers, we need to clarify how player identities will be preserved.

If internal implementation details cannot be disclosed, please describe the observable behavior from our apps and backend servers. We would appreciate direct confirmation or correction of the following statements.

Background

We use Game Center authentication signatures to verify player identities and associate Game Center IDs with our own account system, following Apple’s requirement: “Trust only the fields in the signed payload.”

Our existing records contain legacy playerID (deprecated API) and teamPlayerID, but not gamePlayerID.

Apple documentation states that the current authentication signature payload for non-Arcade games contains teamPlayerID, bundleID, timestamp, and salt, but not gamePlayerID.

Therefore, even if gamePlayerID remains unchanged after the transfer, we cannot independently verify its authenticity.

After the transfer, there will be three player categories:

  1. Existing installations that are not updated, continuing to use versions signed by Account A.
  2. New installations downloaded from the App Store after the transfer, still using versions signed by Account A.
  3. Players who update to new versions released under Account B.

Questions

1. legacy playerID: Status and Availability

(A) Is playerID globally scoped rather than tied to a developer account (Team ID)? Does transferring an app leave existing players’ playerID values unchanged?

(B) Does Apple provide any way to map historically stored legacy playerID values to the corresponding gamePlayerID or teamPlayerID?

(C) Although the playerID API is deprecated, will Apple stop returning this value in a future iOS version, or under any specific conditions?

2. What Determines teamPlayerID?

Please confirm which model applies, or explain the actual mechanism:

(A) teamPlayerID is determined by the app’s current developer account (Team ID), meaning all players’ values change immediately when the transfer takes effect, regardless of app version.

(B) teamPlayerID is determined by the account that signed the installed app, meaning values change individually when players update to a version signed by Account B.

For the three player categories above, which account’s teamPlayerID will Game Center return? Specifically:

  • Will categories (1) and (2) receive the same value?
  • Are there differences between app updates, fresh installations, and uninstalling and reinstalling?

3. Can Older Versions Signed by Account A Still Be Verified?

(A) Can older versions in categories (1) and (2) still authenticate with Game Center and generate valid signatures that our backend can verify?

(B) Will Apple stop issuing authentication signatures for versions signed by Account A? If so, under what conditions or after what period?

4. How Can Players Be Reliably Reassociated with Their Original Game Accounts?

If teamPlayerID changes after the transfer, while gamePlayerID remains unchanged but is absent from the signed payload:

(A) Does Apple provide an official mechanism to prove that a post-transfer player identifier belongs to the same Game Center account as a previously stored identifier?

(B) If not, how does Apple recommend that non-Arcade games securely verify that returning players are the legitimate owners of their original game accounts after an account transfer?

(C) If Apple recommends using gamePlayerID, please clarify:

  • Is accepting a client-reported gamePlayerID, which is not included in the signed payload, an Apple-approved practice for non-Arcade games?
  • Since an attacker could submit another player’s gamePlayerID to hijack their account, what protection does Apple recommend against such impersonation?

5. Required Actions and Timing for Developers and Players

(A) What actions should Accounts A and B take at each stage of the transfer? Does Apple provide migration credentials, identifier mapping exports, or other migration mechanisms?

(B) Must players sign in or update the app before the transfer takes effect? What happens to those who do not?

(C) If players must act within a specific time window, how should we handle those who do not launch the game during that period and only return months or years later? How can their original accounts and game data be preserved?

6. Can We Verify These Behaviors Before the Transfer?

(A) Can Game Center Sandbox or TestFlight environments reproduce identifier changes before and after an app transfer between developer accounts?

(B) If not, can we transfer a test app between our two developer accounts to verify the actual behavior? Are there any restrictions?

(C) If neither approach is possible, what does Apple recommend for verifying these behaviors before the actual transfer?

⸻

This transfer affects the continuity of approximately one million existing player accounts. We would therefore like to obtain clarification before submitting the transfer requests.

If these questions are outside the current support team’s scope, please escalate this inquiry to the Game Center engineering team.

Thank you for your assistance.

Best regards !