4.3Publishing to the Epic Games Store

BuildPatchTool, your organization and product IDs, and the prerequisite installer that decides whether the game starts at all.

Section 3 of 5 in this chapter

  1. 1

    Set up BuildPatchTool

    Under Releases → Settings, point the app at BuildPatchTool. You get it from the Epic Developer Portal.

  2. 2

    Fill in the Epic target

    Under Releases → Stores, enter your Organization ID, Product ID, and Artifact ID, then the Launch executable and any launch arguments (usually none).

  3. 3

    Add BPT credentials

    The BPT client ID and client secret come from the Developer Portal. The secret is encrypted with your keychain and passed to BuildPatchTool through the environment, never on the command line.

  4. 4

    Upload

    Publish a finished build. As with Steam, promoting it to players stays a step you take in Epic's own portal.

Prerequisites: read this one

This is the single most expensive thing to get wrong when shipping to Epic, and it is invisible from your own machine.

Your development machine has that runtime, because Visual Studio put it there years ago. So does every machine at your studio. The failure only appears on a clean install, which is exactly the population your store page is aimed at.

USourceControl therefore turns prerequisites on by default and fills in Unreal's own installer. Two things have to line up: the build form's Stage the prerequisites installer option packages the installer into the build, and the Epic store form declares it to the launcher.

  DECLARED                        NOT DECLARED

  launcher reads prereq ids       launcher has nothing to read
        │                                │
  machine missing them?                  │
        │                                │
    yes ├──► runs the installer          │
        │                                │
     no └──► skips                       │
        │                                │
        ▼                                ▼
   game starts                    game exits before the
                                  splash screen, on any
                                  machine without the
                                  VC++ runtime
Figure 4-1. What the Epic launcher does with a build that declares prerequisites, and one that does not.

Turning prerequisites off requires you to write down why. That is not bureaucracy — it is a note to whoever is debugging a wave of "the game won't start" reports six months from now, telling them this was a decision rather than an oversight.

Was this helpful?

Back to top