> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launcherforge.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Build

> Publish stable releases, patches, and hotfixes through the interactive LauncherForge CLI.

# Upload a build

The upload workflow scans a packaged game directory, computes file hashes, transfers the required files, and creates a release.

## Before uploading

Confirm:

* The packaged build starts locally.
* The executable path matches the game configuration.
* The folder contains runtime files only.
* The version has not already been used.
* You have permission to publish to the selected game and branch.
* Your workspace has enough storage and bandwidth capacity.

## Guided workflow

<Steps>
  <Step title="Select Upload a build">
    Start from the CLI main menu.
  </Step>

  <Step title="Select workspace and game">
    Choose from the resources available to the authenticated account.
  </Step>

  <Step title="Select the branch">
    Confirm whether the release belongs to stable, beta, testing, or a private channel.
  </Step>

  <Step title="Enter version and release type">
    Provide the version and select `STABLE`, `PATCH`, or `HOTFIX`.
  </Step>

  <Step title="Enter the changelog">
    Describe the player-visible changes.
  </Step>

  <Step title="Select the build folder">
    Choose the root directory of the packaged game.
  </Step>

  <Step title="Review and confirm">
    Verify every value before transfer begins.
  </Step>
</Steps>

## File scanning and deduplication

LauncherForge calculates SHA-256 hashes to identify file content.

* A `STABLE` release uploads the complete build as a new full baseline.
* `PATCH` and `HOTFIX` releases use the manifest and hashes to transfer the files required for the new version.
* Unchanged content can be reused when the platform already has the matching file.

<Note>
  Renaming or rebuilding files can change their hashes even when the visible game content appears similar.
</Note>

## During the upload

Keep the terminal open and maintain a stable network connection. Do not move or modify the selected build folder while it is being scanned or uploaded.

## After the upload

Use **View upload status** and **List versions**, then verify the release in the dashboard and test it from the launcher.
