# 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