Default User Required - Simplified User Model
If the game opts into having a required default user, the operating system will ensure that prior to launch, you have a user who is signed in. Further, if that user ever signs out, the game will be suspended on console and terminated on PC. The game will never get a sign-out event for the default user. We call this the simplified user model. For the vast majority of games, this should simplify your user management as most games have one local user (and possibly many remote users). You can immediately call XUserAddAsync with AddDefaultUserSilently and be 100% assured that you will get that user without any UI. All subsequent calls to XUserAddAsync with AddDefaultUserSilently will always return this default user. As an additional benefit, this also means that you can use this to hide latency in collecting information about that user. Since you have the guarantee that you will get the default user at launch, you can send off web requests to your own backend services to collect any data and reasonably expect that you will get your results prior to landing on the main menu of the game. Games are free to add additional users to the game using XUserAddAsync. Unlike in the case of the default users, games can get sign-out events for these added users. If a game is relaunched from a tile by a user who is not known to the game, the old instance of the game will be terminated and the user will get a newly launched instance of the game.Default User Not Required - Advanced User Model
This is the current behavior for the user model in the Microsoft Game Development Kit (GDK). In this case, you have no guarantee that you have a signed-in user at launch. This option is great for games where users are expected to come and go. It is also a great option for games that aren’t deeply integrated with XBOX services. This option is also called the advanced user model.Differences in the Simplified User Model between PC and console
In retail, there is one major difference between PC and console in the behavior of the simplified user model.- On console, the game will get suspended when the default user is signed out.
- On PC, the game will get terminated when the default user is signed out.
- On console, loose-deployed games using the simplified user model will not be allowed to launch unless there is already a default user signed in.
- On PC, loose-deployed games using the simplified user model can be launched without a user; however, when the game calls XUserAddAsync, if nobody is signed in, the game will get terminated and the PC Bootstrapper will get launched to help sign-in a user. Subsequent launches will work just fine so long as the user is fully signed into the XBOX network (also known as XBOX Live).
