# 5. Worked Example: itch HTML5 Slice Part of [[Web and WebGL Builds]]. Prev: [[4. Publishing a Web Build]]. Next: [[6. Web Build Pitfalls]]. A vertical slice is enough (the same gray-box or gym you would ship as a Windows build). Version `0.1.0`. **No upload was performed** while writing this note. ## 5.1 Build 1. Web Build Profile, Release, product version `0.1.0`. 2. Publishing Settings: Brotli, **Decompression Fallback on**, Geometric heap, Initial 32 MB, Maximum 2048 MB, exceptions at default, Data caching optional, Debug Symbols Off or External, Show Diagnostics Overlay **on** for this first class push (you can turn it off later). 3. Build to `dist/web-0.1.0/`. 4. Serve that folder locally. Walk one happy path in the browser. Quit. If it only works in the Editor Game view, you are not ready. ## 5.2 itch 1. itch project kind: **HTML** (or switch it after the first push, official). Visibility: draft. 2. `butler push dist/web-0.1.0 yourname/classroom-arena:html5 --userversion 0.1.0 --hidden` — drop `--hidden` if the official restriction on existing channels applies (see [[2. itch.io Pages and butler]]). 3. Edit game: tag the channel **HTML5 / Playable in browser**, Save. 4. Incognito: the embed starts, one happy path works, diagnostics (if on) show a heap under 2048 MB. ## 5.3 Playtest checklist - [ ] Local HTTP serve works before any push. - [ ] The itch embed starts without the Editor. - [ ] Project kind is HTML, not a downloadable zip of the Web folder mistaken for a desktop build. - [ ] Decompression Fallback is on unless you proved headers. - [ ] Version strings agree. - [ ] No butler keys in Git. - [ ] No IAP. ## 5.4 Exercise Push `0.1.0`, then bump a visible string to `0.1.1`, rebuild, push again, and confirm the embed updates. Attach a screenshot of the running embed (and the diagnostics overlay if enabled). ## Sources - https://itch.io/docs/butler/pushing.html - [[5. Worked Example Ship a Classroom Build]]