How to integrate launcher with Steam

How it works

You can integrate your game with launcher in Steam. It allows you to promote your other Steam games via Xsolla Launcher.

Prerequisites

To set up Steam integration, you need:

  • a Steam AppID
  • an account and game in Steamworks
  • a game build for publication on Steam
  • a ready-to-use Launcher configured in Publisher Account

You can find your Steam AppID in your game administration panel in Steamworks. Go to the Steamworks > App Admin section and you will see it next to the name of your project.

Integration steps

Set up Steam platform and download files

  1. Open your project in Publisher Account.
  2. Click Launcher in the side menu.
  3. Find the launcher on the dashboard, and click Edit launcher.
  4. Go to the Settings section and click Set up to the right of the Steam platform logo.
  5. Enter your Steam Web API Key.
  6. Enter Steam App ID of your game.
  7. Click Download launcher host to download the LauncherHost.zip archive for Windows or macOS.
  8. Click Download config to download the game’s configuration files.
  9. Go to the Launcher behavior tab and select what the launcher should do when a user runs the game from Steam (optional):
    • Run the launcher (default)
    • Run a game

Note
Regardless of your choice, the launcher is still displayed after closing the game.

  1. Go to the User login tab and select a login method (optional):
    • Automatically via Steam account (default).
    • Manually via login widget. The widget uses the login project selected during launcher creation.

Generate and download launcher installer

Refer to the guide to generate and download the launcher installer.

Prepare the game build for Steam

  1. Unpack the LauncherHost.zip archive (should be downloaded at step 1) to any directory. This archive contains the PreparingSteam directory for preparing the game with a launcher to be uploaded to Steam. Folder structure for Windows:
    • LauncherHost.exe — an executable file for the LauncherHost utility
    • Qt5Core.dll, vcruntime140-140_1.dll, msvcp140-140_1.dll — service libraries for the LauncherHost.exe utility
    • installer — a folder for the launcher installer

  1. Folder structure for MacOS:
    • LauncherHost — a executable file for LauncherHost utility
    • Frameworks — a system folder for the LauncherHost utility libs
    • installer — a folder for the launcher installer

  1. Create a new folder in the PreparingSteam folder.
  2. Copy and paste your game build into that folder.
  3. Set up the game executable file name (Windows / macOS) in the Game > Build > Executable files section and specify the relative path to the game executable file.

Note
You should specify the name of the game executable file with the extension.

  1. Copy and paste a stand-alone launcher installer (Windows / macOS) to the installer folder.
  2. Copy and paste the Steam configuration files in the PreparingSteam folder.
  3. If you already have your game on Steam, replace the LauncherHost.exe file name with the name of your game’s executable file. You can find this information in your game administration panel in the Executable field of the Apps & Packages > All applications > Steamworks admin > Installation > General installation section.

Note
You can replace the name of the LauncherHost.exe file with the name of your game’s executable file for integration debugging if you do not want to change the executable file.

  1. Enable using ISteamApps::GetLaunchCommandLine() in your game administration panel.

  1. Click Prepare for Publishing to check if there are any conflicts between your work and that of other users.

Upload Windows game build files to Steam

  1. Log in to Steamworks and download the Steamworks SDK.
  2. Unpack the SDK archive.

  1. Go to the steamworks_sdk_151\sdk\tools folder and unpack the SteamPipeGUI utility for uploading game builds to Steam.

  1. Run the SteamPipeGUI utility.

  1. Fill out the following fields in the settings window:
    1. In the App ID field, specify your game’s Steam AppID.
    2. In the Build description field, enter a short description of this build to make it easier to identify in your Steam admin panel.
    3. In the Steamworks SDK ContentBuilder Path field, specify the path to the Steamworks SDK ContentBuilder.
    4. In the Steam Login and Steam Password fields, enter your Steamworks login and password.

    1. Click Add Depot. In the Build Path field, specify the path to PreparingSteam with the game build and the Launcher installer.

    1. Click Upload and wait for the uploading to finish.

Upload macOS game build files to Steam

  1. Copy and paste launcher.dmg in the prepairingSteam/installer.
  2. Copy and paste hostArgs.json in the prepairingSteam folder.
  3. Upload files to Steam:
    1. Open the unpacked SteamSDK folder.

    1. Go to the tools/scripts folder.
    2. Create a vdf script named appbuild<steam_id>.vdf, where <steam_id> is your project’s Steam ID and the following content (replace xxxxxx in line 3 with Steam ID, yyyyyy in line 11 with Depot ID - this is Steam ID + 1:

Copy
Full screen
Small screen

       "AppID" "xxxxxx" // your AppID
        "Desc" "This is a simple build script 1" // internal description for this build
    
        "ContentRoot" "../content/" // root content folder, relative to location of this file
        "BuildOutput" "../output/" // build output folder for build logs and build cache files
    
        "Depots"
        {
            "yyyyyy" // your DepotID
            {
                "FileMapping"
                {
                    "LocalPath" "*" // all files from contentroot folder
                    "DepotPath" "." // mapped into the root of the depot
                    "recursive" "1" // include all subfolders
                }
            }
        }
    }

      1. Save changes.
      2. Copy the contents of the PrepairingSteam directory and paste them into the tools/ContentBuilder/Content folder.
      3. In the terminal console, go to the tools/ContentBuilder/builder_osx folder.
      4. Call the ./steamcmd.sh command to start initialization and configuration.
      5. Call the following command to run the script that uploads the build to the Steam servers:

    Copy
    Full screen
    Small screen

      cmd.sh +login <username> <password> +run_app_build_http ../scripts/app_build_{Steam_id}.vdf

      Publish game build on Steamworks

      1. Go to your game administration panel in Steamworks.
      2. Click Steamworks Admin to open the application admin page.

      1. Go to the SteamPipes > Builds section.

      1. Create a new branch or use a default branch.
      2. Find the uploaded build by its build ID, uploading date, or description, and place the build in your branch.
      3. Click Preview change and view your changes.
      4. Click Set Build Live Now.

      Was this article helpful?
      Thank you!
      Is there anything we can improve? Message
      We’re sorry to hear that
      Please explain why this article wasn’t helpful to you. Message
      Thank you for your feedback!
      We’ll review your message and use it to help us improve your experience.
      Rate this page
      Rate this page
      Is there anything we can improve?

      Don’t want to answer

      Thank you for your feedback!
      Last updated: April 5, 2023

      Found a typo or other text error? Select the text and press Ctrl+Enter.

      Report a problem
      We always review our content. Your feedback helps us improve it.
      Provide an email so we can follow up
      Thank you for your feedback!