Launcher Concepts

Learn the core concepts behind Stash Launcher including releases and build management, launcher deployment methods, incremental updates using the wharf protocol, silent self-updating capabilities, player authentication, and in-game purchases with Stash Pay.

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

Configuring your Launcher visual appearance and install experience inside Stash Studio.

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 download page with animated background. Fully customizable on all platforms.

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:

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.

Source validation

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

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.

Progress tracking

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

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

Self-Update Process

The launcher automatically keeps itself up to date through a seamless process:

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.

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.

Seamless replacement

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

Platform-specific handling

The system handles platform-specific requirements automatically:

  • Windows: Direct executable replacement
  • macOS: Proper handling of app bundle structure and code signing

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.

How is this guide?