Publish your game

This document shows you how to publish your game on Google Play Games on PC.

Before you begin

Integrate the Google Play Games SDK into your game.

Package your game as a WAB file

Google Play Games on PC requires your game's installer to be uploaded to Google Play Console as a Windows app bundle (WAB) file. To create a WAB file, ​follow these steps:

  1. Download the Play publishing tool. You can run this tool on the Windows command line or Powershell.

  2. Create the Play publishing config file, with any name. For example, play_publishing_config.xml with the following format:

    <?xml version="1.0" encoding="UTF-8"?>
    <play-publishing-config version="1.0">
      <application>
        <package-name>PACKAGE_NAME</package-name>
        <version-name>VERSION_NAME</version-name>
      </application>
      <installer requiresElevation=INSTALLER_REQUIRES_ELEVATION>
        <path>INSTALLER_PATH</path>
        <installation-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>InstallLocation</value-name>
        </installation-path-registry-location>
      </installer>
      <launcher requiresElevation=LAUNCHER_REQUIRES_ELEVATION>
        <launch-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>InstallLocation</value-name>
        </launch-path-registry-location>
        <executable-invocation>
          <filename>RELATIVE_PATH_TO_LAUNCHER_EXE</filename>
          <arguments>LAUNCHER_ARGS_IF_ANY</arguments>
        </executable-invocation>
      </launcher>
      <uninstaller requiresElevation=UNINSTALLER_REQUIRES_ELEVATION>
        <uninstall-path-registry-location>
          <key-name>UNIQUE_REGISTRY_PATH</key-name>
          <value-name>UninstallString</value-name>
        </uninstall-path-registry-location>
      </uninstaller>
    </play-publishing-config>

    Replace the following:

    • PACKAGE_NAME: The package name for your game. For example, com.yourcompany.yourgame.
    • VERSION_NAME: The game's version string. For example, 1.0.0.
    • INSTALLER_REQUIRES_ELEVATION: Indicates whether the installer executable needs to be run as Administrator to complete the installation process.

      • "true": Run the executable as Administrator.

      • "false": Run the executable as the current user.

    • INSTALLER_PATH: The path to your installer file within the WAB. This path can be either absolute or relative to the parent directory of the Play publishing config. For example, path\to\test\installer. Remember to use authenticode and code signing to sign your game's installer executable.

    • UNIQUE_REGISTRY_PATH: The root-key that will contain all your registry information. It has to be unique throughout the user's machine. This will be the relative path on top of HKLM. For example, SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\YourUniqueName. This entry will create a root-key under HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\YourUniqueName on a 64-bit Windows 11 machine.

    • LAUNCHER_REQUIRES_ESCALATION: Indicates if the launcher or game executable needs to be run as Administrator every time it is launched.

      • "true": Run the executable as Administrator.

      • "false": Run the executable as the current user.

    • RELATIVE_PATH_TO_LAUNCHER_EXE: The path to your launcher or game executable within the installation directory. This has to include your launcher or game executable filename. For example, if your launcher or game file is called mygame.exe and it is located under {INSTALL_DIR}\Resources\mygame.exe, you have to put Resources\mygame.exe

    • LAUNCHER_ARGS_IF_ANY: any command line arguments that need to be passed into your launcher or game. This entry is optional.

    • UNINSTALLER_REQUIRES_ELEVATION: Indicates if the uninstaller executable needs to be run as Administrator to complete the uninstallation process.

      • "true": Run the executable as Administrator.

      • "false": Run the executable as the current user.

    Example Play publishing config file

    Consider a game called MyGame, with game installer game_installer.exe, game's launcher launcher.exe. The example also shows how to use CDATA. The following is what the play_publishing_config.xml will look like:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <play-publishing-config version="1.0">
      <application>
        <package-name>com.mycompany.mygame</package-name>
        <version-name>1.0.0</version-name>
      </application>
      <installer requiresElevation="true">
        <path>game_installer.exe</path>
        <installation-path-registry-location>
          <key-name>SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MySystemWideUniqueKey</key-name>
          <value-name>InstallLocation</value-name>
        </installation-path-registry-location>
      </installer>
    
      <launcher requiresElevation="true">
        <launch-path-registry-location >
          <key-name>SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MySystemWideUniqueKey</key-name>
          <value-name>InstallLocation</value-name>
        </launch-path-registry-location>
        <executable-invocation>
          <filename>launcher.exe</filename>
          <arguments><![CDATA[arg1&arg2>arg3]]></arguments>
        </executable-invocation>
      </launcher>
    
      <uninstaller requiresElevation="true">
        <uninstall-path-registry-location>
          <key-name>SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MySystemWideUniqueKey</key-name>
          <value-name>UninstallString</value-name>
        </uninstall-path-registry-location>
      </uninstaller>
    </play-publishing-config>
    
  3. Run the Play publishing tool on the Windows command line or Powershell.

    playpublishingtool.exe build-installer-bundle --input=PLAY_PUBLISHING_CONFIG_PATH --output=WAB_OUTPUT_PATH
    

    To overwrite an existing WAB file with the same name, use the --force argument.

    playpublishingtool.exe build-installer-bundle --input=PLAY_PUBLISHING_CONFIG_PATH --output=WAB_OUTPUT_PATH --force
    

    Replace the following:

    • PLAY_PUBLISHING_CONFIG_PATH: The path to the Play publishing config. For example, path\to\play_publishing_config.xml.
    • WAB_OUTPUT_PATH: The path to the WAB file. For example, path\to\output_bundle.wab.

    How to use Play publishing tool

    Consider that you have the Play publishing tool binary playpublishingtool.exe, Play publishing config play_publishing_config.xml and your game installer game_installer.exe in the current working directory.

    Your current working directory should look like this:

    .\
    ├── game_installer.exe
    ├── play_publishing_config.xml
    ├── playpublishingtool.exe
    

    To create a WAB with the name, say, installer_bundle.wab in the same directory, the command would look like:

    playpublishingtool.exe build-installer-bundle --input=play_publishing_config.xml --output=installer_bundle.wab
    

    With the --force argument, the command would look like:

    playpublishingtool.exe build-installer-bundle --input=play_publishing_config.xml --output=installer_bundle.wab --force
    

    On success, you should see output similar to the following:

    Successfully built the installer bundle at installer_bundle.wab
    

    Find the WAB file in the folder:

      .\
      ├── game_installer.exe
      ├── installer_bundle.wab
      ├── play_publishing_config.xml
      ├── playpublishingtool.exe
    

Publish the game using Play Console

After you successfully create the WAB for your game, upload it to Play Console and manage its settings and requirements. Follow the steps to publish your game:

Add the Google Play Games on PC form factor

Publish a game only requires this step the first time.

  1. In the Play Console on the left menu, select Test and release > Setup > Advanced settings (direct link).
  2. Go to the Form factors tab and add Google Play Games on PC(Windows) from the + Add form factor drop-down.

  3. Click the Manage button corresponding to the Google Play Games on PC form factor on the right-hand side.

  4. Select the option Use a dedicated track for your Windows app bundle game.

  5. Click Save and then Save again on the confirmation dialog.

Upload the WAB file

To upload the WAB file:

  1. In the Play Console on the left menu, select Test and release > Production (direct link).
  2. In the Production page, select Google Play Games on PC (Windows) only from the form factor drop-down on the right-hand side.
  3. In the Windows app bundle tab, click Upload a Windows app bundle button and upload the WAB file. Alternatively, you can also click the Upload a Windows app bundle button on the right side of the form factor drop-down.
  4. Click Save.

Configure the windows PC requirements

To configure the windows PC requirements:

  1. In the Play Console on the left menu, select Grow users > Store presence > Store settings (direct link).
  2. In the PC requirements section, click the Edit button on the right-hand side.
  3. Update the fields and click Save.

Configure the in-app purchase graphic

This is an optional step. To configure the in-app purchase graphic:

  1. In the Play Console on the left menu, select Grow users > Store presence > Store listings(direct link).
  2. In the Default store listing section in the Listings tab, click the -> (arrow) button on the right-hand side. This will take you to the Default store listing page.
  3. Navigate to the Google Play Games on PC section and upload the image at Google Play Games on PC (Windows) in-app purchase graphic.
  4. Click Save.

Send changes for review

  1. In the Play Console on the left menu, select Publishing overview.
  2. In the Changes not yet sent for review section, click Send changes for review.

When the Review team has approved your changes, your game will be discoverable on Google Play.