# Publishing to itch.io and Steam
[[Build Automation and CI]] already produces **Build Profile** and **Unity Build Automation** artifacts. This series is the *store pipeline* after that: a **non-commercial** itch.io page (and `butler` push) and a **Steam** app with depots and SteamPipe/SteamCMD. It does **not** cover IAP, Steam microtransactions, Unity Economy, ads, or paid DLC. itch has an HTML5 channel, but **Web / WebGL Builds** is a later queue item - do not treat this series as that course.
**Target:** Unity **6000.5+** desktop (Windows / macOS / Linux) and, if you already have an Android Build Profile, an optional itch Android channel. Quest / App Lab is out of scope here.
> [!warning] This series does not upload for you
> These are classroom steps you run on **your** itch and Steamworks accounts. **Do not put secrets, API keys, Steam Guard codes, or butler credentials in a project repo or in these notes.** No build was uploaded to a store as part of writing this series. Code samples here are shell commands and checklists, not a Unity runtime package.
> [!note] Verification status
> **Verified as process (official docs, 2026-11-10):** Unity Build Profiles / artifacts as described in [[Build Automation and CI]]; itch.io **butler** is the official command-line uploader (install, login, push, status/version pages on itch.io/docs/butler); Steamworks **depots** and **SteamPipe** / **SteamCMD** (and partner-site upload) are the official Steam content pipeline.
> **Not verified / out of scope:** any official Unity package for Steamworks (none is cited); Steamworks.NET or other third-party wrapper versions; exact current Steamworks partner UI labels; store review policy; mobile store pipelines; IAP.
## Parts
| # | Note | Covers |
|---|---|---|
| 1 | [[1. Artifacts and a Non-Commercial Policy]] | Build Profiles, what you may ship, no IAP |
| 2 | [[2. itch.io Pages and butler]] | Project page, channels, `butler push` |
| 3 | [[3. Steam Apps Depots and SteamPipe]] | App ID, depots, SteamCMD / partner upload |
| 4 | [[4. Versioning Branches and Checks]] | Version strings, Steam branches, test installs |
| 5 | [[5. Worked Example Ship a Classroom Build]] | One desktop artifact to itch; Steam depot outline |
| 6 | [[6. Publishing Pitfalls]] | Secrets in git, debug builds, WebGL deferred, monetization |
## Design lens (Level Up!)
Level 18 in [[Level Up! (Review)]] is business and pitch; this classroom track stays **non-commercial**. A public itch page and a Steam playtest depot are how a vertical slice leaves the lab.
## Patterns used (Game Programming Patterns)
- **Pipeline** - Build Profile → artifact folder → store upload ([[Build Automation and CI]]).
- **Command** - `butler push` and SteamCMD, versioned on purpose.
- **Type Object / data** - the Build Profile is the recipe.
See [[Game Programming Patterns (Review)]].
## Related (existing)
- [[Build Automation and CI]] / [[1. Build Profiles]] / [[2. Command Line Builds and a Build Script]] / [[3. GameCI and GitHub Actions]] / [[4. Unity Build Automation]] / [[5. Worked Example - Windows and Android Profiles]]
- [[Addressables]] / [[6. Content Builds Updates and CI]]
- [[Version Control]]
- [[Profiling and Optimization]]
- [[Level Up! (Review)]] Level 18 (scope only)
## Sources
- itch butler: https://itch.io/docs/butler/
- Installing butler: https://itch.io/docs/butler/installing.html
- Pushing builds: https://itch.io/docs/butler/pushing.html
- Steamworks uploading (SteamPipe): https://partner.steamgames.com/doc/sdk/uploading