Build and Ship

Build & Ship turns a Unity build and its release into a single click: it builds your player from a reusable profile, stages it cleanly, and uploads it to Steam, itch.io or your web server (FTP) — then announces the release on Discord and Slack. Everything can also be driven from the command line for CI.

Build & Ship is a pure editor tool: the entire package lives under an Editor/ folder, so nothing is ever included in your player builds.

Features at a Glance

  • Reusable Ship Profiles: one ScriptableObject bundles the build target, scenes, scripting defines, output folder and a list of destinations.
  • One-click pipeline: validate, build, stage, zip and ship — all from the Build & Ship window or a CI command line.
  • Automatic version bumping: optionally bump PlayerSettings.bundleVersion (patch / minor) or set it manually before each build.
  • Optional verification gate: run Sparrow Verification before building and abort on errors (soft dependency — works fine without it).
  • Clean staging: Unity’s *_DoNotShip and BackUpThisFolder_ButDontShipItWithYourGame folders are stripped before anything is uploaded.
  • Multiple destinations: itch.io (butler), Steam (steamcmd), FTP / web server, Discord and Slack announcements, and a local zip archive.
  • Encrypted credentials: passwords and webhook URLs are stored AES-256 encrypted and never written to any log.
  • Build history: every run is recorded to Library/BuildAndShip/history.jsonl and shown in the window.

How the pipeline works

A single run walks through these steps in order:

  1. Validate: the profile and every enabled destination are checked; any error aborts the run before building.
  2. Verify (optional): if enabled, Sparrow Verification runs a full scan and the build is aborted when it reports errors.
  3. Version bump (optional): the bundle version is bumped or set as configured.
  4. Build: Unity builds the player via BuildPipeline.BuildPlayer.
  5. Stage: the output is copied to Library/BuildAndShip/staging/ with the DoNotShip folders removed. Every destination ships this staged copy.
  6. Zip (optional): the staged build can be zipped so announcements can reference the archive.
  7. Ship: each enabled destination runs sequentially (never in parallel), keeping bandwidth and logs sane.
  8. History: the result is appended to the build history.

Requirements & dependencies

  • Depends only on Sparrow.Utilities, which ships with every Sparrow asset.
  • Sparrow Verification is optional: if installed, the profile toggle runs a full scan before building; if not, the step is simply skipped with a note.
  • The external tools butler (itch.io) and steamcmd (Steam) are only needed if you use those destinations.

Getting started

Open Window → Sparrow → Build & Ship, create a profile, add at least one destination, and hit 🚀 Build & Ship. See Using the Package for the full walkthrough.

Was this page helpful?