This guide covers how the Microsoft Partner Center can be used to create and manage games to Xbox and Windows platforms. We'll cover how games can be edited, uploaded and published, and look at how various add-ons such as Consumables, Durables and Subscriptions can be created.
- Test Accounts
- Creating a Game
- Event-Based vs. Title-Managed Systems
- Gameplay Settings
- Featured stats and leaderboards
- Rich Presence
- Durables (without packages)
- Durables with packages (DLCs)
You can access the Partner Center dashboard here. You first need to be signed up as a Microsoft Partner before you can access your Partner Center dashboard.
Note: This guide will cover the Partner Center with "Workspaces" disabled.
The main elements on the Partner Center home page are the Windows & Xbox button which allows you to create and manage your games, and the Settings button on the right which allows you to configure the sandboxes and accounts that will be used to test your games.
Let's first take a look at the Settings.
The Settings panel allows you to configure Sandboxes for your games and create test accounts. Let's first take a look at Sandboxes.
You can create Sandboxes to test your games during development. A sandbox is a separate environment where Xbox Live features (such as multiplayer and achievements) can be tested without affecting the retail environment, which is known as content isolation. Store metadata for your game is also isolated while it's in a sandbox so you can ensure that its store listing is correct, before pushing the game to retail. For more information, read Windows Sandboxes (you will need to be logged in with a partner account to be able to see this page).
After selecting Sandboxes from the settings drop-down, you will be able to create new sandboxes and manage existing ones:
This will open the Account Settings and automatically navigate you to the Xbox Live -> Sandboxes menu. Here you can create a new Sandbox by assigning it an ID, where the prefix for the ID is auto-generated ("NNEKZS" in the screenshot above, but it may be different for you) and the suffix for the ID is selectable from the drop-down menu.
You then need to choose whether this Sandbox will be Isolated or Shared.
Shared sandboxes can be used with any product in your account, however Isolated sandboxes can be used only with products that you manually specify. If you create an Isolated sandbox, you will need to open the Sandbox (after creating it) and select the products that can be published to that sandbox (add-ons will inherit permissions from their parent products).
NOTE: You can later change the type of the Sandbox from Isolated to Shared (or vice-versa) on the same page.
Xbox Test Accounts
The Partner Center allows you to create test accounts that can be used during the development of your game(s) within a certain sandbox. This menu can be accessed in your Account Settings, under Xbox Live -> Xbox test accounts.
Here you will see a list of your existing test accounts (if any), and you can create new test accounts by clicking on "+ Create a new account(s)" at the top of the page. Please see Xbox Live test accounts for more information on creating test accounts.
Creating a Game
The "Create a new..." menu under Windows & Xbox -> Overview can be used to create a new app, game, bundle, and more. For this guide, we'll create a game:
This will open a new page where you can enter a name for your game, which Microsoft reserves for a set amount of months until it is revoked if the game remains unpublished. You can also choose to create a game demo.
Optionally, you can select whether this group will be part of an existing product group.
Once you click on Reserve product name, your game will be created and you will be taken to its Game setup page.
Here you can select the devices that it will make use of (which are selected separately for the retail release and for sandbox releases). You can select what Xbox services it makes use of, enable or disable publishing to Sandboxes, and view its Identity details.
You are required to select the device families that your game will be available on.
To make use of Xbox Live social features (such as achievements and leaderboards) you are required to select "Use full Xbox services feature set" under "Xbox services", however that will require approval from Microsoft and you cannot enable these without having contacted Microsoft first.
Also make sure that your game is enabled for Sandboxes. You can then click on Save draft to save your game project.
Event-Based vs. Title-Managed Systems
Before beginning this section, keep in mind that these settings will only be available to you if you have been approved for the Xbox Creator Program or for the full Xbox services feature set.
You can choose to use either Event-Based or Title-Managed systems for the Stats and Achievement systems for your game. This setting is present under Xbox services -> Xbox Settings -> Data Platform Setting.
The setting for stats and achievements are independent on Windows, i.e. you can use the Event-Based system for stats and the Title-Managed one for achievements, or vice-versa; however, this does not work on the Xbox Series X/S export, which requires to use one or the other for both stats and achievements.
An event-based system essentially lets you set up events and any related rules and logic on the Partner Center itself, where the title-managed system allows you to handle that yourself through your game code.
The recommendation from Microsoft is to use Event-Based Stats and Title-Managed Achievements whenever it is possible to use a mix of the two.
Now that you have selected the Stats system to use, we'll set up the gameplay settings in the Xbox Services -> Gameplay Settings menu.
Note: This guide will only cover the set up for Title-Managed Stats instead of Event-Based Stats. For setting up event-based stats, read Event-based stats and leaderboards portal config.
Upon opening the Gameplay settings menu, you will see various tabs at the top that allow you to set up different social features for your game, such as achievements, stats, leaderboards, rich presence, and more.
If you make any changes under any of these menus, you will need to click on "Publish" at the top so your changes are reflected in your game and any newly added or enabled social features are usable.
You can now go under the Achievements tab and click on "New achievement" to create a new achievement.
Doing so will open the New achievement page where you can enter the details for your new achievement and click Save.
Here you can set the Achievement name which is shown to players in your game. There are two different descriptions that you can create for an achievement:
- Locked description: This is shown if the player has not unlocked/completed the achievement
- Unlocked description: This is shown if the player has unlocked/completed the achievement
You can then select an image for your achievement, where you can also choose to use a placeholder image so your achievement is functional during development.
After that you can choose the type of the achievement, how much Gamerscore it awards, where the details are Public or Secret, and add optionally additional rewards.
You will now see your achievement(s) in a list on the main Achievements page:
The ID number on the left is used to point to a specific achievement in your game code so you can set the progress for it by calling the xboxone_achievements_set_progress() function (do note that the achievement ID is supplied as a string in that function).
For official documentation on these, see Achievements - Xbox Live.
Featured Stats & Leaderboards
You can now set up Stats & Leaderboards under the Featured Stats & Leaderboards tab. Let's first understand what Stats are.
Stats are basically variables associated with your game that are able to store values of various kinds for each player. By default, a stat is local to the player's console, however you can create featured stats that are global and can be used in leaderboards so players can complete with each other. This section essentially allows you to set up such featured stats and create leaderboards using them.
Under the Featured stats and leaderboards tab, you can click on "New Leaderboards" to create a new stat and a leaderboard from it.
Doing this will prompt you to create a new featured stat:
- Display name: This is the name of the featured stat as it appears to players.
- ID: This is the ID that you would use to refer to this stat from your game code.
- Format: This is the data type of the stat (whether it's an integer, decimal, percentage, etc.)
- Sort: This is how the leaderboard is sorted; e.g. "High to low" means the highest score is the best
Click on Save and your first leaderboard will be ready!
All your leaderboards will be visible in the Featured stats and leaderboards list:
For this example we've created two leaderboards:
- Coins Collected: This is an integer stat that is sorted from high to low
- Time Record: This is a decimal stat that is sorted from low to high
When uploading scores for any of these stats from your game code, you will need to specify the ID as a string.
For official documentation on these, see Stats & Leaderboards - Xbox Live.
We'll now take a look at the Rich Presence tab. This allows you to display a string on your player's profile so their followers & friends can see their real-time activity.
You can click on "Create new rich presence":
Doing so will open the following menu where you can set up your Rich Presence entry:
The Unique rich presence ID is the ID assigned to this rich presence that you will use in your game code to make use of its display string. The Display string is what appears on the user's profile when a rich presence is activated.
In your game, you can simply use xboxone_set_rich_presence() to activate a rich presence for a user. The display string for the rich presence will appear under the user's gamertag:
For official documentation on this, see Rich Presence - Xbox Live.
You can provide various kinds of add-ons (or in-app purchases) with your game by setting them up on the Partner Center. They can be created and managed under the Add-ons menu on your game page:
The "+ Create a new..." button at the top of the page allows you to create a specific type of add-on from its drop-down menu:
Here you are able to choose consumables (developer/store managed), durables with packages (also known as DLCs), durables and subscriptions. For this example, we'll create a consumable (developer-managed).
Selecting an add-on will show a prompt asking you to enter a product ID, which will be used to refer to this add-on from your game code and is not shown to players.
Clicking on "Create" will open the consumable's configuration page, where you will need to enter information into the following menus so your add-on is able to be published:
- Consumable setup: Here, select the Content type and Device family availability.
- Store listings: Here, manage the store listings for various languages.
- Pricing and availability: Here, set up the price for the add-on, the markets it's available in and its discoverability.
After editing an add-on you must click on the "Review and publish" button in the upper-right corner of the screen so that any changes or additions are reflected on the store and can be used in your game.
Let's now look at the differences you will find when setting up different kinds of add-ons.
Consumables are add-ons that can be acquired and used up (or consumed) by the player. They can then be acquired again.
Consumables can either be developer-managed or store-managed:
- Developer-managed: The amount of consumables the user has and has used up is managed by your game code. This is supported on all OS versions.
- Store-managed: The amount of consumables the user has and has used up is tracked by Microsoft across the customer's consoles or Windows PCs. On Windows 10 this is only supported by versions 1607 or later.
For store-managed consumables, you are able to set a quantity which is given to the player with a single purchase.
Durables (without packages)
A durable is a type of add-on that is not "used up" after being acquired and is simply added to the customer's account. There is a product lifetime that you can set for a durable, which controls the amount of time for which it remains active, after which it expires.
This can be used, for example, to unlock a new item or mode in-game, to buy an ad-free version of a game, and so on.
Durables with packages (DLCs)
A durable can be created with a package so that it packs files that can be loaded into the game once it is purchased by the player, making it fit for creating DLC. Creating a durable with packages requires you to enter the following information:
Apart from the Product ID, you also need to assign a name to the add-on that is unique across the store.
Important: Take note of the name that you enter here as you will need to use it if you wish to publish this DLC on Windows, as the name is not shown anywhere on the Partner Center again.
Of course, durables with packages are not complete without the packages! You can upload these in the Packages section of your durable configuration page.
Once the user purchases a durable with packages, the package files can be retrieved in-game and can be accessed as Included Files.
For creating a DLC package, follow these steps.
A DLC package also requires a config file, which may look something like this:
The information you need to enter into these fields is available on your game's configuration page under Game Setup -> Identity Details, as well as your DLC's Game Setup -> Identity Details page. Do note that the DefaultDisplayName for this DLC config should be the same as the reserved name for your DLC (the one you entered when creating the durable).
After the customer acquires a subscription add-on, they will be charged at recurring intervals so they can keep their access to it. On Windows these are only supported by versions 1607 and later (do note that your game needs to be compiled with Windows 10 SDK version 14393 or later).
Under the Properties for a subscription add-on, you can set the duration for each billing period (whether it's charged monthly, every 3 months, annually, etc.) and whether the subscription has a free trial period.
The last step before you can publish your game to either a sandbox or to the retail store is to upload a package. You need to upload a separate package for each platform that your game supports, which you can do from the Packages menu on your game's configuration page.
Here you can upload packages exported using an Xbox target from GMS2 (package for submission) or using the Windows target with the GDK extension.
You should now be able to publish your game to a sandbox (for testing) or to the retail store (for release). For this you need to use the "Review and publish" button on the upper-right corner of your game's configuration page:
This will open the Review and publish page where you can select the destination where your game will be published (either a sandbox or the retail store). Selecting a destination will then show you all the parts of your game that can be published, and indicate what parts are now complete, what has changed and whether something is incomplete.
Then you mark those parts that you want published, and click on "Publish" at the bottom of the page to publish your selected changes!
If there are any parts that are incomplete, you can click on them and fill in any required information.
For implementing Xbox Live features on Xbox targets, refer to your respective console's documentation and for implementing them on Windows (for the Microsoft Store) use the GDK extension.