GuidesBuild a launcherLauncher Concepts

Launcher concepts

Before you upload your game build and configure your launcher, let’s get familiar with the core concepts behind Stash Launcher.

Releases and build management

Releases are collections of game builds for Windows and macOS, organized into channels. Each channel can include both Windows and Mac builds, letting you manage who gets access to which version—such as “Beta” for testing or “Stable” for production. Upload builds via Stash Studio or the CLI.

Every project has a public channel open to all players. For restricted access, create private channels that require access codes, which you can manage in Stash Studio. Codes control who can join a channel and how many times they can be used.

Launcher deployment

Installers

Your launcher is deployed to players using a standalone NSIS installer (Windows) or universal disk image (macOS). All launcher related binaries are automatically code signed and notarized by Stash to ensure players receive a fully compliant binary with no security warning.

Both the Windows installer and Mac disk image are customizable via Stash Studio. You can use customized icons, graphical assets, EULAs, and other extensions like deep link registration, registry entries, or a custom install process.

Stash Launcher Installer

Download Hub

In addition to the installer, Stash automatically creates a fully customizable download hub with always up-to-date links for every supported platform. You can integrate this download page into your Stash webshop or host it as a completely standalone page. This download page then acts as a default method of delivery.

Stash Launcher Installer

Other Methods

If you prefer to use a custom delivery method or distribute your launcher through platforms like Steam, that’s fully supported—you’ll always have access to the latest signed binary download links in Stash Studio.

Incremental updates

Stash Launcher uses the wharf protocol for efficient game patching and updates. Wharf is a binary diffing system that enables incremental updates by only downloading and applying changes between game versions, rather than requiring full re-downloads.

Patching Process

The patching system operates in several key phases:

  1. Patch application: When a new game version is available, the launcher downloads a patch file containing the binary differences between the current and target versions.

  2. Source validation: The system validates the existing game installation against the expected source state to ensure patch compatibility.

  3. Incremental patching: The wharf patcher applies changes file-by-file, creating the new version by combining unchanged files from the source with new or modified content from the patch.

  4. Progress tracking: Throughout the patching process, players receive real-time progress updates showing the current file being processed and overall completion percentage.

  5. Atomic updates: The entire patch operation is committed atomically, ensuring the game installation remains in a consistent state even if the process is interrupted.

Learn more about tech behind our patching algorithm:

Launcher updates

The launcher itself supports completely silent, self-updating capabilities on both platforms. After players install the launcher, updates are downloaded and installed in the background without any user intervention. Updates are never applied while a game is running, so gameplay is never interrupted. Instead, the new version is silently installed and activated the next time the launcher is restarted, ensuring players are always on the latest version with zero disruption to their gaming experience.

Silent self-updating process

The launcher’s self-updating system operates entirely in the background:

  1. Automatic version checking: The launcher periodically checks for newer versions by comparing its current build version against the latest available version from Stash’s servers.

  2. Background download: When an update is available, the launcher downloads the new version as a compressed package to a temporary directory without interrupting the player’s current session.

  3. Seamless replacement: The update process extracts the new launcher executable and replaces the current one atomically, ensuring no downtime or visible interruption to players.

  4. Platform-specific handling: The system handles platform-specific requirements automatically:

    • Windows: Direct executable replacement
    • macOS: Proper handling of app bundle structure and code signing
  5. Zero user interaction: The entire process requires no player input, notifications, or restarts. Players continue using the launcher normally while updates happen transparently.

Player authentication

Note: Stash Launcher Authentication is currently in development and will be available soon.

In-game purchases

In-game purchases with the Stash Launcher are handled using Stash Pay. When a player initiates a purchase from within the game (on either Windows or macOS), the launcher uses Stash Pay to generate a secure checkout link. This link automatically authenticates the player and redirects them to the Stash Webshop’s checkout page, providing a seamless and consistent purchase experience across both the in-game store and the webshop.

For more details on Stash Pay and the checkout process, see the Stash Pay documentation.

Was this page helpful?