Skip to content

Deploy to Steam & itch.io

GemShell Pro lets you deploy your built game to Steam and itch.io with one click. Both platforms can be configured independently and deployed together.

PRO FEATURE

Deploy requires GemShell Pro.

Overview

  1. Build your game first (Step 4)
  2. Go to Deploy (Step 5)
  3. Configure Steam and/or itch.io (one-time setup)
  4. Click Deploy Now to upload

Settings are saved per-game in gemshell.config.json.


Steam Deploy

Requirements

  • Steamworks Partner account
  • App ID and Depot IDs from Steamworks Partner
  • SteamCMD (downloaded automatically by GemShell)

Setup

  1. Enable the Steam deploy card
  2. Authenticate with your Steam build account (username + password)
  3. Enter your Steam App ID (from Game Settings when Steam is enabled)
  4. Map Depots to architectures:
    • windows-x64 → Depot ID
    • mac-arm64 / mac-x64 → Depot IDs
    • linux-x64 / linux-arm64 → Depot IDs
  5. Optionally set a Release Branch (beta, preview, or leave empty)

Channel Names

ArchitectureDefault Channel
windows-x64windows
windows-arm64windows-arm64
windows-ia32windows-32
mac-arm64mac
mac-x64mac-intel
linux-x64linux
linux-arm64linux-arm64

Deploy

Click Deploy Now. GemShell builds the VDF config and uploads via SteamCMD. The build is set live on your chosen branch if configured.


itch.io Deploy

Requirements

Setup

  1. Install Butler (e.g. brew install butler on macOS)
  2. Enable the itch.io deploy card
  3. Enter your API key and save
  4. Enter your Project Slug (e.g. username/gamename or full URL)
  5. Configure Channels per architecture (defaults: windows, mac, mac-intel, linux)

Channel Names

ArchitectureDefault Channel
windows-x64windows
windows-arm64windows-arm64
windows-ia32windows-32
mac-arm64mac
mac-x64mac-intel
linux-x64linux
linux-arm64linux-arm64

Deploy

Click Deploy Now. Butler uploads each build to its channel. The last deploy (time, version, channels) is shown in the card header.


Config File

Deploy settings are stored in gemshell.config.json:

json
{
  "steam_deploy": {
    "enabled": true,
    "depots": {
      "windows-x64": "1234568",
      "mac-arm64": "1234569",
      "linux-x64": "1234570"
    },
    "branch": "beta",
    "last_deploy": {
      "timestamp": "2025-02-20T12:00:00.000Z",
      "buildId": "..."
    }
  },
  "itch_deploy": {
    "enabled": true,
    "project_slug": "username/gamename",
    "channels": {
      "windows-x64": "windows",
      "mac-arm64": "mac"
    },
    "last_deploy": {
      "timestamp": "2025-02-20T12:00:00.000Z",
      "version": "1.0.0",
      "channels": "mac, windows"
    }
  }
}

API Key

The itch.io API key is stored in App Data (not in the project) for security.