More information
Establishing users during initial activation GDK Simplified User Model The initial user is provided to the title by calling XUserAddAsync(silent) and will always return a single result for the launching user. GDK Advanced User Model, ERA, and UWP Multiple User Applications If the game is using the user who launched the title:- For the GDK the active user can be determined by calling XUserAddAsync(silent). If the system returns that no default present, the title must prompt for a user using XUserAddAsync without the silent option. This will display an account picker for the user.
- For ERA and UWP the active user can be found from the app activation context’s recommended user (CoreApplicationContext.CurrentUser). If the app activation context has not provided a recommended user and the title takes profile-related actions, the title must launch the account picker and set the active user based on the user’s profile selection.
- The title displays an engagement prompt and must show the account picker. The user is based on the selection.
- For the GDK the account picker is invoked using XUserAddAsync
- For ERA and UWP the account picker is invoked using ShowAccountPickerAsync.
- If there are no changes to the user/controller pairing, then the title must proceed.
- In ERA or UWP a title’s previous active user is still signed in but is on a new User object (generally caused by the user signing out and then signing back in while the title is suspended), then the title must use the new signed-in User object as a replacement for the signed-out User object. Usage must continue as if the user had never signed out.
- If all expected users are paired with a valid, but different, controller, then the title must update and use the new system controller pairings.
- If the expected user has either no valid controllers then the title must establish an active controller for the user by using the account picker.
- If the expected player is not signed in, the title must either remove the player from the game or reestablish a user and active controller. Titles generally do this by displaying the account picker. If a new user is chosen as part of reestablishing a user, titles must use that new user’s state for gameplay if game state is saved per user.
Additional resources
For information on player identity using the GDK, read the Users sectionCertification test cases
The following table shows which test cases for XR-112 apply to your title if using the GDK Simplified User Model or the GDK Advanced User Model, ERA and UWP Multiple User Applications.112-02 Initial user and controller
Test steps- Sign into Profile A and launch the title.
- Verify the active user can control the title.
- Repeat step [1] with no signed in profile and verify the title prompts to establish an active user.
- Establish the active user and verify the user can control the title.
Titles must set the active user to the controller/user pairing which launched the title, or show an engagement prompt to identify the controller and user, or display the account picker to sign in. Pass examples
- The title sets the active user to the controller/user pairing which launched the title.
- The title shows an engagement prompt to identify the controller and user.
- The title displays the account picker to sign in.
- The title does not allow the user to control the title with the first controller used.
- The title does not prompt the user to establish an active user when launched with no user signed in.
112-03 No signed-in user
Test steps- Verify that no users are signed in.
- Launch the title and enter every mode that supports the saving of user data.
- Validate that each mode offers the user the opportunity to sign in before any data loss occurs.
- Cancel the opportunity to sign in, and verify that the title provides a warning indicating that progress will not be saved.
Titles must offer users the opportunity to sign in if the title is in a mode that would normally save user data or game state. Titles must notify users that their progress will not be saved if they continue with gameplay without signing in Pass examples
- A user who is not signed in is prompted to sign in when accessing a title mode that would normally save user data or game state.
- The user is notified that progress will not be saved if he or she continues in mode without signing in.
- While in a mode that normally saves user data or game state, users are not notified that progress will not be saved if they continue in that mode without signing in.
- Users are notified that they will not be able to save their progress after data loss has already occurred.
112-04 Active user indication
Test steps- Sign into a profile that has not seen the title before and has no associated save data.
- Launch the title.
- Verify that the title identifies the active user within the UI prior to performing any profile-related actions. Examples of “profile-related action” include altering a user’s saved game or preferences, saving data to the user’s profile, awarding achievements, writing statistics for a user, or any other local or cloud usage or manipulation of user data or state.
- Create a save.
- Re-launch the title and verify that the title identifies the active user within the UI prior to performing any profile-related actions.
- Disconnect from XBOX Live.
- Re-launch the title and verify that the title identifies the active user within the UI prior to performing any profile-related actions.
Titles must indicate the current user context prior to the first profile-related action. Pass examples
- The title displays the user’s gamertag and/or gamerpic within the title before performing any profile-related actions.
- A title that does not use user profiles does not indicate the active user.
- A title displays multiple active users for game modes that support multiple users.
- The title does not indicate the active user of the title prior to performing profile-related actions.
112-05 Access to account picker
Test steps- Sign into a profile and launch the title.
- Confirm that the title allows the active user to access the account picker in the title and select a different profile.
Titles must allow users to access the account picker in the title to change the active user. Pass examples
- The title allows the user to access the account picker in the title.
- The title does not allow the user access to the account picker in the title.
112-06 Handling profile change
Test steps- Sign into a profile and launch the title.
- Access the account picker and select a different profile.
- Verify that the title reacts appropriately and switches the context of the active user to the new profile.
- Repeat steps 1-4 for every location in the title where there is access to the account picker.
Titles must allow users to seamlessly change to another user’s context. Pass examples
- The title notifies the user that changing the active user could result in data loss and prompts the user for confirmation prior to proceeding to the account picker.
- The title updates appropriately to the context of the new active user.
- The title does not appropriately update to the context of the new active user.
112-07 User change during constrained mode
Test steps- Sign in profile A and launch the title.
- At various locations within the title, press the XBOX button to constrain the title.
- While the title is constrained, sign out of Profile A and sign into profile B.
- Resume the title.
- Verify that the title reacts accordingly to the new active user.
- An application automatically switches the active user context to Profile B upon resuming.
- A game title automatically removes Profile A from the title or reestablishes a new user and uses that new user’s state for gameplay.
- Titles do not update to remove profile A from the context as the active user.
- A game continues to use Profile A’s state for gameplay after a new profile is selected.
112-08 User change during suspend
On retail consoles, a game will be suspended under the following conditions:- When the console enters Connected Standby by being turned off with the power mode set to Instant-on.
- When the game remains out of focus for ten minutes. For example, launching an application such as Settings and keeping it in focus for ten minutes.
- Sign into an XBOX profile and launch the game.
- At various locations throughout the game, suspend the game.
- While the game is suspended, sign out of profile A and sign into profile B.
- Resume the game and verify the game reacts accordingly to the new active user.
- Enter gameplay with the new active user and verify the user is able to make progress.
- When a game is resumed from suspension, the game must verify if all previously engaged users are still signed into the console.
- The game automatically switches the active user context to profile B upon resuming.
- The game automatically removes profile A from the game or reestablishes a new user and uses that new user’s state for gameplay.
- The game does not update to remove profile A from the context as the active user.
- The game continues to use profile A’s state for gameplay after a new profile is selected.
