Skip to Content
Depot docs

Quickstart

Go from a game build to a store link that players can claim, install and play.

This guide takes you from nothing to a playable link. You sign in, create a game, sign and push a build, publish a free store page and share the link. It takes about fifteen minutes, plus the upload time for your build.

Depot runs on staging today. Production (depot.games) isn't launched yet, so every example uses https://api.staging.depot.games and store pages live on https://staging.depot.games.

Before you start

You need:

  • The depot CLI. See Install the CLI.
  • A finished build of your game in a folder, for example build/.
  • A web browser to sign in.

Point the CLI at staging for this shell session:

export DEPOT_API=https://api.staging.depot.games

Sign in

depot login

Your browser opens the Depot sign-in page. Sign in, or choose Create an account if you're new. The CLI keeps your session in the OS keychain. Check who you are with:

depot whoami

On a machine without a browser, run depot login --no-browser and open the printed URL somewhere else.

Create your studio

A studio is an organization on Depot. Games, builds, keys and store pages belong to it, and you become its owner.

depot org create --slug my-studio --name "My Studio"

The slug is part of your store URLs and can't change later. It takes 3 to 48 lowercase letters, digits and -.

Create a game

depot game create --slug my-game --name "My Game"

Every new game is restricted: its builds are encrypted, and a player needs to own the game to download it. You decide who can get it later, on the store page. The game also gets a base package automatically, which is what players own. See Concepts.

The game's slug is permanent too. Run depot game show my-game to see its id (game_…).

Create and enroll a signing key

You sign every build with your own key. Depot and the launcher check that signature before anything is installed.

depot keys generate
depot keys enroll --game my-game

depot keys generate writes an Ed25519 key to your Depot config directory (~/.config/depot/keys/default.json by default) with owner-only permissions. The private key never leaves your machine. depot keys enroll uploads only the public half.

Back up the key file. Pushes from CI or another machine need the same key, and players' launchers trust the key you enrolled first.

Push a build

Tell the launcher how to start the game with a launch file. This one is for a macOS build:

launch.json
[
  {
    "platform": "macos-arm64",
    "path": "MyGame.app/Contents/MacOS/MyGame",
    "args": [],
    "working_dir": "."
  }
]

Then push the folder, move the stable channel to it, and add a release note for players:

depot push --game my-game --platform macos-arm64 --release 1.0.0 \
  --input build/ --launch-file launch.json \
  --channel stable --note "First public build."

depot push splits the build into chunks, encrypts them, uploads only what Depot doesn't already have, and signs the release with your key. If the upload is interrupted, run the same command again and it picks up where it stopped.

Platform names look like macos-arm64, windows-x64 or linux-x64. Push once per platform. Without --platform, the CLI uses the platform of the machine you run it on.

The first push creates the game's content key and writes a backup to ~/.config/depot/content-keys/. Back that file up. Every later push needs it, and Depot never gives it back to you.

More on builds, channels and release notes: Push builds.

Write and publish a free store page

depot game page --game my-game \
  --tagline "A short line about your game." \
  --short-description "Shown in link previews." \
  --description "What the game is about. Paragraphs, - lists, **bold** and https links work." \
  --status early-access \
  --access free \
  --publish public

--access free lets anyone with a Depot account claim the game. Use key if players need a key from you, or invite if you give access directly. --publish unlisted serves the page by link only. The command prints the page URL.

Add art and screenshots whenever you like:

depot game art --game my-game --kind cover --file cover.png
depot game art --game my-game --kind hero --file hero.png
depot game screenshot --game my-game --file shot-1.png --caption "The first level"

Screenshots go into the page draft. Run depot game page --game my-game --publish public again to publish them. See Store pages.

Your page lives at:

https://staging.depot.games/p/my-studio/my-game

The URL uses your studio and game slugs, so it never changes. Post it wherever your players are.

What a player sees

  1. They open your link and see your page: art, description, platforms and a Sign in to get it free button.
  2. They sign in or create a Depot account and come straight back to the page. The game is added to their library.
  3. They press Install with Depot. The Depot launcher opens on your game. If they don't have the launcher yet, the page offers it for download.
  4. The launcher downloads, decrypts and verifies the build, then shows Play. From then on the game plays offline and updates when you move the stable channel.

The full journey is in How players get your game.

Next steps

On this page