Accounts #
Pragma Engine’s Account service manages cross-platform, cross-progression, and cross-play titles. The Account service enables studios and publishers to have a single social community across multiple game launches.
Pragma Accounts support account linking across all PC, console, and mobile game platforms, as well as common social media identity providers. A Pragma Account acts as a parent for several sub-accounts that are used for different services, scopes, and features. These sub-accounts are scoped for different levels of data sensitivity to support data privacy compliance and straightforward data migration workflows.
Structure of an Account #
An account represents an individual player, linked to multiple identity providers for cross-platform support.
Social ID - A single ID shared across all game shards and game titles. This enables a single social ecosystem across multiple game launches. Associated data includes the social graph, guild identity, and related social features.
Player ID - A separate Player ID is assigned per game shard. This means an account may have several player IDs across multiple game shards or game titles. A separate ID per shard enables clear paths for data migration. Associated data includes player data, inventory, progression, and loadouts. Player IDs are never associated with sensitive social or personal data. Pragma Engine uses Player IDs for events such as party invite and matchmaking.
Personal ID - This ID is reserved for personal data deemed sensitive such as PII (personally identifiable information). It is generally recommended to store as little of this kind of information as possible.
Authentication #
Pragma Engine offers the flexibility to authenticate with any identity provider of your choice using the Identity Provider Plugin. The following are some pre-implemented/supported identity providers:
- Steam
- Epic
- Playstation
- Xbox
- Discord
- Twitch
- Google and Google Workspace
- Additional identity providers can be found in Configure Identity Providers
Pragma Engine’s SDK provides a streamlined process for authenticating players and operators. Authenticated players and operators can then use your game client to make requests to Pragma Engine.
Login and Session #
The Account service can manage your players’ and operators’ login and session experience. A user session is formed when a player or operator uses your game client and identity provider to connect to your game and social services.
Pragma Engine provides a test provider called Unsafe Provider
, intended for non-production use cases, such as during development and internal testing. Additional identity providers can be enabled in the config.
Cross-Platform Accounts #
A Pragma Account can be linked to multiple identity providers enabling cross-platform experiences. Pragma Engine supports the following:
- Cross-platform: describes games that ship on multiple platforms
- Cross-progression: enables players to continue their in-game progress on one account across multiple game platforms
- Cross-play: allows matchmaking to connect players across different game platforms
Topics in This Section #
Topic | Description |
---|---|
Authentication | Dedicated gateways and authentication endpoints. |
Login and Session | Manage user sessions with long-lived WebSockets and queues. |
Cross-Platform Accounts | Cross-progression, cross-play, and cross-platform support account linking between platforms. |
Identity Providers | Using identity providers for authentication and social integration. |
Account Data | Data that can't be scoped lower than the account itself. |
Player Groups | Group player accounts for live ops and shard management features. |
Limited Access Mode | Schedule time windows that open the platform for specified Player Groups. |
Account Plugin | The Account Plugin can be used to add custom behavior during the account lifecycle. |