What ships that nobody uses
Every screen, setting, test tool, piece of code and file in the game that isn't on the kill side, checked for one thing: does a player ever reach it? Below are the items worth acting on, each with what it is, where it's used, its size, and my advice. Tick the ones to remove. Nothing gets removed until you've ticked this page; then only the ticked items go, one at a time, each with tests.
Not on this page: kill films, kill tracks, finishers and skin kills (the kill session's list), and weapons, skins, arenas and rooms (shared). What I found there is listed for the other sessions under Other lanes.
222 lab and capture files (78,136 lines) are compiled into the phone apps, though only test runs on our Macs and VM can start them.
Installed size, phones. About 7 MB less to download. Today's build 8: 163 MB .aab, 267 MB .ipa (internal builds).
HOW TO PLAY (14 pages), ARSENAL (kept: the kill preview lives there), the VS BOTS sheet, and a full set of old v3 screens kept behind an emergency switch.
F1, the ` key and a 3-finger tap open DEV TUNING in every build. The new developer-mode gate fixes it (Task 1, already approved by your rule).
Where the app's size goes
Build 8 (3 Nov, c24bb85a8), measured from the files themselves and Unity's build report. Code is the biggest part, and almost a quarter of our code is test code.
The phone app, build 8
| Part | Android installed | Android download | iPhone installed | iPhone download |
|---|---|---|---|---|
| Game + engine code (IL2CPP) | 125.8 MB | 38.7 MB | 142.9 MB | 49.1 MB |
| Assets (art, sound, kill tracks) | 120.7 MB | 67.3 MB | 103.3 MB | 61.2 MB |
| Code metadata | 16.6 MB | ~5 MB | 17.6 MB | 5.6 MB |
| Other native libraries, Java, plist, icons | 51.3 MB | 20.5 MB | 9.9 MB | 3.3 MB |
The download is the compressed size (zip); "installed" is the size on the phone. The .ipa's 148 MB of symbols and the .aab's symbol files are not shipped to players. Build 8 is an internal tester build (SB_INTERNAL test tools); a public build is a little smaller.
Share of the game's 11.2 MB of compiled code (IL), all sides. Our side's test code is 2.68 MB of it; the kill side's and shared areas' another 0.54 MB.
What the ticked items save
| Item | Code (IL) | Assets | Installed | Download |
|---|
Code savings are estimates: compiled code in the phone apps scales with the IL (measured on build 8: about 5.5 MB installed and 1.8 MB downloaded per MB of IL, ±30 %). Asset savings are Unity's own per-file sizes. The table follows your ticks.
Tick what goes
Ours to remove, after your tick. Advice on each; the totals at the bottom follow your ticks.
Dev tools: hidden behind one gate
Your rule (3 Nov 21:28): every development-time feature unlocks only through a hidden trick in Settings > About, in every build. This is being built first (Task 1). These stay in the game, locked.
For the other lanes
Found during the scan, but not mine to remove. Each goes to its owner through the coordinator.
Checked, nothing to remove
So you know they were looked at.
Looked at and fine
- Modes: the cut modes (Weekend Cup, Mode of the Day, the 7 themed rules, KO FRENZY) are already gone from the code by the simple-modes CUTS lane. What's left is kept on purpose (the LIGHTS OUT map look, a possible arena event).
- Settings: all 8 tabs (ACCOUNT, AUDIO, GRAPHICS, THEME, GAMEPLAY, CONTROLS, ACCESS, ABOUT) are reachable and every row is read by the game. The old v3 settings screen is item C5.
- Saved settings keys: no orphan keys on our side. The keys the scan flagged are read through the settings helper in a shared file.
- Engine modules (cloth, terrain, vehicles, VR / XR, wind…): listed in the package manifest, but Unity already strips unused engine code from builds ("strip engine code" is on). Removing them saves ~0 MB.
- Packages: AdMob, Firebase (6), Unity IAP, notifications, Newtonsoft JSON, URP and uGUI are all used.
- Our art and sound files: every non-kill file in Resources is named by the code. The only unreferenced files (56, 0.9 MB) are kill-film sounds, listed for the kill session.
- Season art (12 seasons × 0.9 MB home picture + 3 small ones): all needed for monthly seasons; item C13 only shrinks them.
- The rename's save copy (Stick Brawl → Stickbash data folder, desktop only, runs once): tiny, protects Mac testers' saves. Keep.
- UI kit pieces only the gallery lab uses (slider, stepper, toggle, big picker, ribbon, reward card, tab rail / strip; ~20 KB of code): kept for now, since the pre-launch lanes' new screens may use them. I'll check again at the end.
How it was scanned
Plan: stickbash-online docs/superpowers/plans/2026-11-03-prelaunch-cleanup.md (bfbebe5).
Method
1. What the game can reach. The compiled game (Assembly-CSharp, v4 + train 2) was walked call by call from its start-up points: 53,508 methods. Anything only reachable through the test director (the -capture lab switch) is test code; anything reachable from nowhere is never called. A text scan of all 1,457 source files cross-checks it.
2. What sits behind switches. Code that only labs switch on (the old v3 screens, the trailer tools) was found by listing every on/off switch the game reads and who sets it.
3. Files. Every file in Resources was matched against the names the code loads, and sized from Unity's build report of build 8.
4. Sizes. From the build 8 .aab and .ipa themselves; code savings scale from the generated C++ (checked: the test director's share of the C++ matches its share of the IL within 25 %).
Limits: the code walk used the desktop compile, so a few iPhone / Android-only paths look unused when they aren't (sign-in with Game Center, the recovery key, crash reports). I checked those by hand and left them out. Screenshots are from earlier lab runs of the same screens.