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
*_DoNotShipandBackUpThisFolder_ButDontShipItWithYourGamefolders 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.jsonland shown in the window.
How the pipeline works
A single run walks through these steps in order:
- Validate: the profile and every enabled destination are checked; any error aborts the run before building.
- Verify (optional): if enabled, Sparrow Verification runs a full scan and the build is aborted when it reports errors.
- Version bump (optional): the bundle version is bumped or set as configured.
- Build: Unity builds the player via
BuildPipeline.BuildPlayer. - Stage: the output is copied to
Library/BuildAndShip/staging/with the DoNotShip folders removed. Every destination ships this staged copy. - Zip (optional): the staged build can be zipped so announcements can reference the archive.
- Ship: each enabled destination runs sequentially (never in parallel), keeping bandwidth and logs sane.
- 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) andsteamcmd(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.
