Set up multiple Steam apps in one namespace
Overview
By default, an AccelByte Gaming Services (AGS) namespace serves one Steam app. With Steam multiple apps, a namespace can serve up to two Steam App IDs at the same time. Use it when you ship more than one Steam app that connects to the same namespace, for example:
- A demo next to the full game.
- A playtest app that you run before the game's release.
- A re-release of an existing title.
Players from both apps share one player base, one inventory, and one progression.
How players are identified
A Steam ID belongs to the player's Steam account, not to an app. A player who launches either app resolves to the same AGS account. Different Steam players always get different AGS accounts.
This means Steam multiple apps cannot keep a player's data and progression separate for each app in a single namespace. If you need separate progression per app, use a separate namespace for each app. The player keeps the same AGS account, but each namespace has its own Game User ID, data, and progression. For more information, see How accounts work.
In Steam multiple apps, both apps share players, entitlements, and progression in the namespace. You cannot separate them later. An entitlement a player receives through one app is visible and usable in the other.
Supported features
| Feature | What you need to do | Section |
|---|---|---|
| User authentication (login and account linking) | • Configure the Steam login method for both apps. • Your game client must send the App ID of the running Steam app on every login and link request. The Unreal Engine Online Subsystem (OSS) does this for you. | Set up user authentication |
| E-commerce in-app purchase (IAP) sync | • Configure Steam IAP for both apps. Works in both Inventory mode and Transaction mode. • No game client change is needed. | Set up Steam in-app purchases |
| E-commerce downloadable content (DLC) sync | Nothing. DLC sync is not affected. It checks ownership at the Steam publisher level, not per app. | |
| Achievement sync | Your game server or Extend app must send the App ID when it unlocks a Steam achievement for a specific player account. | Sync Steam achievements |
| Steam lobby sync (Session) | Nothing. AGS already takes care of the Steam lobby sync handling for each app. | Sync Steam lobbies |
Prerequisites
- A Steam Publisher Web API Key that owns both apps. You enter one key for both apps.
- Access to the AGS Admin Portal, with permission to update third-party login methods and store integrations in your game namespace.
- To use the AGS CLI steps, install the AGS CLI and sign in. See Install and sign in. The examples use a Bash shell.
Guides
- Set up user authentication: Configure the Steam login method and send the App ID from your game client.
- Set up Steam in-app purchases: Configure Steam IAP and IAP item mapping for both apps.
- Sync Steam achievements: Unlock Steam achievements from your game server or Extend service.
- Sync Steam lobbies: Learn how AGS creates Steam lobbies for sessions with two apps.
- Roll out the changes safely for a live game: Enable Steam multiple apps without breaking live players.
Troubleshooting
| Symptom | Cause | Solution |
|---|---|---|
Login or link fails with 10252 or appId must be specified explicitly when multiple App IDs are enabled. | Steam multiple apps is on and the request has no appId. | Update the game client so it sends the App ID, or turn the setting off until every build is updated. See Send the App ID from your game client and Roll out the changes safely for a live game. |
Login or link fails with 10253 or the given appId is not permitted in this namespace. | The appId is not in the AppIds list, or the setting is off and the appId differs from the configured App ID. | Check the App ID of the running app against the Steam login method configuration. See Configure the Steam login method and How AGS validates the App ID during user authentication. |
Login fails with app id not match the platform token. | The ticket was issued by a different app than the App ID in the request. | Send the App ID of the app that generated the ticket. See Send the App ID from your game client. |
Achievement unlock fails with 39223. | The game server did not send appId while Steam multiple apps is on. | Send the appId in the request. See Sync Steam achievements. |
| Purchases from one app do not sync in Transaction mode. | The app is not in the appIds list, or Steam multiple apps was turned off. | Add the App ID back to the Steam IAP configuration. AGS resumes from the app's saved sync position. See Configure Steam IAP for both apps. |
| A player receives the wrong item after a purchase. | Both apps use the same item definition ID for different products. | Follow the rules in Configure IAP item mapping and correct the mappings. |