Getting started for PC

This topic gives an overview of the steps involved in developing a PC game with the GDK, and links to additional topics with detailed descriptions of individual steps.
Note that if you are using a middleware engine, there are end-to-end guides at the end of the Get started for PC section that cover the same information in this topic with additional engine specific information.

Setting up your development environment

Set up your PC to prepare for development using the GDK by following the steps in Setting up your development PC for Gaming Runtime title development.

Creating a new GDK project or integrating the GDK into an existing desktop project

The next step is to create a new GDK project if you are starting from scratch, or to integrate the GDK into an existing desktop project.

Checking for updates

Note

Starting with the June 2022 GDK, checking for mandatory updates is no longer required at game launch on PC. The PC Bootstrapper manages this for MSIXVC packaged games built against the June 2022 GDK and future releases.

You can optionally check for and apply updates on PC if it is critical for the game to be up to date. See the checking for updates topic for more information.

Requesting additional permissions for your PC title

Some features, configured by your MicrosoftGame.config file, will require additional permissions to work properly. If you intend to use any of the following features, contact your account manager to get the necessary permissions.

For more information, see Getting started with packaging for PC.

Note

Starting with the March 2022 Gaming Services release, non-virtualized Filesystem and Registry writes, file writes to the installation location, and mods are enabled by default. For more information, see Flat File Install overview and Mods support.

Preparing to develop for Xbox services

In order to make use of features such as achievements and cloud saves, you'll need to integrate Xbox services functionality into your game.

For information about developing with Xbox services, see Getting started with Xbox services.

We recommend installing the Xbox app to help manage Xbox services sign-in on your PC.

If your title supports Xbox services multiplayer functionality, Xbox Game Bar must be installed (install from Microsoft Store).

Note

Xbox Game Bar is automatically included in most Windows 10 versions. For testing, Xbox Game Bar should always be updated to the most recent version.

Creating a Partner Center project and configuring your game to use it

You won't be able to test your Xbox services functionality until you have created a Partner Center project for your game and configured your game to use the values from your Partner Center project

Creating a product in Partner Center

Before you can test Xbox services functionality or publish a game to the Microsoft Store, you need to create your Xbox services-enabled product in Partner Center. For more information about Partner Center, see Setting up an app or game in Partner Center, for Managed Partners.

Updating MicrosoftGame.config

The MicrosoftGame.config file that was created when you created your project in the Creating a new GDK project or integrating the GDK into an existing desktop project section has default values that allow early development on PC and Xbox without the need for further configuration until you start to use features in the Gaming Runtime, Microsoft Store, and title identity. In order to use Xbox services functionality you need to update your project's MicrosoftGame.config with your Partner Center project identity details.

  1. Go to the Partner Center dashboard.
  2. Select your game from the list of products.
  3. Select the Game setup tab, and then select Identity details.
  4. Select Show Details to expand the Identity details section.
  5. Use the following values from the table in the Identity details section, and then copy those values from Partner Center into the corresponding element and field in MicrosoftGame.config.
Name in Partner Center MicrosoftGame.config
Xbox Title ID TitleId
Package/Identity/Name Identity->Name
Package/Identity/Publisher Identity->Publisher
Xbox services -> Xbox Settings -> MSAAppId MSAAppId

For example, the following identity details in Partner Center would result in your MicrosoftGame.config looking like the sample bellow:

Name in Partner Center Example value
Xbox Title ID 64353034
Package/Identity/Name 41336MicrosoftATG.Achievements2017Redux
Package/Identity/Publisher CN=A4954634-DF4B-47C7-AB70-D3215D246AF1
Xbox services -> Xbox Settings -> MSAAppId 0000000000000000
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">

  <Identity Name='41336MicrosoftATG.Achievements2017Redux' Version="1.1.0.0" Publisher='CN=A4954634-DF4B-47C7-AB70-D3215D246AF1' />


  <TitleId>64353034</TitleId>
  <MSAAppId>0000000000000000</MSAAppId>
  
  <ExecutableList>
    <Executable Name="Achievements2017_desktop.exe"
                TargetDeviceFamily="PC"
                Id="Game"/>
  </ExecutableList>
  
  <ShellVisuals DefaultDisplayName="Achievements2017 Desktop Sample"
                PublisherDisplayName="Xbox Advanced Technology Group"
                StoreLogo="Assets\StoreLogo.png"
                Square150x150Logo="Assets\Logo.png"
                Square44x44Logo="Assets\SmallLogo.png"
                Square480x480Logo="Assets\LargeLogo.png"
                Description="Achievements2017"
                ForegroundText="dark"
                BackgroundColor="#000000"
                SplashScreenImage="Assets\SplashScreen.png"/>
</Game>

See MicrosoftGame.config overview for additional information on the values in MicrosoftGame.config.

Testing Xbox services features

In order to test Xbox services features used by your game, you'll need to create one or more test accounts and switch to a development sandbox.

Creating a test account

You'll need to create a test account with access to your development sandbox to be able to test Xbox services functionality. For more information about creating test accounts, see Creating test accounts.

Switching your development sandbox

After you've created a test account, use the account to access your development sandbox by using the following steps.

  1. To find your sandbox ID, go to Partner Center.
  2. Navigate to your game.
  3. Select Xbox services > Gameplay settings in the left navigation pane.

Note

Your sandbox ID is on the first tab in the upper-left corner of the Gameplay Setting page. It's named something like "ABCDEF.0".

  1. Open the Start menu.
  2. Enter Microsoft GDK Command Prompts, and then select Enter on your keyboard.
  3. Open the first command prompt.
  4. In the command prompt, enter XblPCSandbox.exe [your sandbox ID].
  5. After the command prompt launches several apps, sign in with your test account to the Xbox App.

If you're able to sign in successfully, you've created a test account and changed to your sandbox to begin testing. If you have trouble signing in, refer to the Troubleshooting sign-in and sandboxes for help.

Remote testing

You may also find it helpful for testing to set up a remote test PC and configure remote debugging. For more information, see the Set up a remote test PC and Remote Debugging a C++ project in Visual Studio topics.

Packaging your game

In order to publish your game you need to package it first. MSIXVC is the packaging format that's required by Microsoft Store. A packaged game requires a MicrosoftGame.config file, which enables the title's identity and title-specific shell visuals in Microsoft Store. For more information, see MicrosoftGame.config overview.

To get started packaging your existing PC game, see Getting started with packaging for PC.

Note

As of the March 2022 Gaming Services release, improvements have been made to how files are laid out on disc as a result of installing an MSIXVC package. These improvements make game files more discoverable and simplify management of installed MSIXVC games. For more information, see Flat File Install overview.

Publishing

Once you're ready to publish, you'll need to submit your game in Partner Center. To submit your game, go to Partner Center and follow the instructions in the UI.

See also

Getting started with PC game development

Utilizing Microsoft Game Development Kit tools to install and launch your PC title