Party also translates chat in real time. In anonymous matchmaking and international competitive games, these transcription and translation capabilities are a more engaging multiplayer experience.
PlayFab Party features
- Encryption and authentication: Party authenticates user devices by using their PlayFab user identity and encrypts data with a DTLS-like protocol.
- Device-to-device datagram networking: At the core of Party are relays that are hosted globally across the Azure cloud. User devices use these relays to create Party networks and send game data to one another. The Party networking system includes configurable transport features such as automatic retries when encountering packet loss.
- Voice and text chat: User devices can bind audio devices to Party networks for real-time voice chat. Party also supports text chat messages between users.
- Speech-to-text and voice synthesis: Party can transcribe user voice chat and synthesize utterances for text messages. This functionality has several uses but was primarily designed as an accessibility aid.
- Real-time translation: Party can understand and synthesize real-time translations of user voice and text chat.
Microsoft Game Development Kit (GDK) considerations
XBOX services requirements
User communication for XBOX services titles must meet several requirements for user safety. Using PlayFab Party with the PlayFab Party XBOX services Plug-in ensures that your title meets all the XBOX services communication and security requirements.An Xbox Requirement (XR) is a requirement for a game that must be met before it can be published on XBOX platforms.
- XR-015: Managing Player Communication.
- XR-045: XBOX services and Account Privileges. The XBOX services Plug-in only enforces the XPRIVILEGE_COMMUNICATIONS portion. If your title uses other XBOX services features, you’re required to perform the necessary privilege checks.
- XR-072: Supporting Voice.
- XR-007: Cross-Network Play, Data Usage, and Companion App Interactions. PlayFab Party only enforces the Cross-network gameplay portion that requires a server. Your title is responsible for the necessary privilege checks and XBOX services interaction.
- XR-064: Joinable Game Sessions and Online Play
- XR-067: Maintaining Multiplayer Session State
- XR-124: Game Invitations
Network initialization
PlayFab Party doesn’t automatically handle network initialization for Microsoft Game Development Kit (GDK) titles. Wait for the network to become initialized before calling into PlayFab Party. Party APIs fail until the network is initialized.Suspend and resume
You should register for suspend and resume events viaRegisterAppStateChangeNotification. On suspend, clean up Party with PartyManager::Cleanup(). On resume, you should again wait for network initialization before calling PartyManager::Initialize(). Party APIs fail if you attempt to use them across a suspend/resume cycle.
It can take a couple hundred milliseconds for PartyManager::Cleanup() to complete. We recommend cleaning up Party in parallel with your other suspend operations in order to avoid suspend timeouts. If calling Partymanager::Cleanup() asynchronously, you should make sure to block the suspend notification until Party’s cleanup returns.
Pricing information
PlayFab Party is free for the Microsoft Game Development Kit (GDK) by using XBOX services identities. For more information about pricing and billing, see XBOX services Free Program FAQ.Configuring your title in the PlayFab portal
- Go to https://developer.playfab.com/, and then create an account.
- Create a PlayFab studio and title ID by using your new account.
- Go to your newly created title, select the Multiplayer section, and then select the Party (Preview) tab.
- Select Enable, and then enter the access code XBOX Live. Party is enabled after a few moments.
- On the API Features tab, copy your PlayFab title ID and entity ICD.
- Add the title ID and entity ICD to the client PlayFab Party API initialization function. You can now use PlayFab Party in your Microsoft Game Development Kit (GDK) title.
Adding the PlayFab Party library to your Microsoft Game Development Kit (GDK) project by using Visual Studio
- Right-click your project in the Visual Studio Solution Explorer, and then select Properties.
- In Configuration Properties, go to the XBOX One section.
- Select the Gaming Extension Libraries drop-down list, and then add a reference to PlayFab Party and the XBOX Live Helper.
The libraries are installed in a default location under Program Files (x86)\Microsoft GDK[Version]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\x64 (October 2024 or later) -or- Program Files (x86)\Microsoft GDK[Version]\GRDK\ExtensionLibraries\PlayFab.Party.Cpp\Redist\CommonConfiguration\neutral (June 2024 or earlier).
