New tool at tools/watch_and_upload.py. Polls the Builds-steam folder for a new AI Apocalypse.exe, waits for the build to settle (no mtime change for 20s — avoids racing mid-write), then:

  1. Wipes ContentBuilder/content/windows_content/
  2. Copies Builds-steam/ CONTENTS (not folder) into staging
  3. Excludes _BackUpThisFolder / _BurstDebug / _DoNotShip / SavesDir
  4. Runs steamcmd via cached session auth (no interactive prompts once initial Steam Guard has been cleared)
  5. Parses + logs the resulting BuildID
  6. Loops back to watching

Every future build becomes “Unity -> Build; Steam auto-updates”. No more manual copy dance, no more nesting trap.

Flags: —once upload once, exit —now upload immediately without waiting for rebuild —dry-run stage only, skip steamcmd (useful for sanity checking) —username / —vdf overrides for one-offs

Stdlib only — no watchdog dependency. Polls every 5s.

Co-Authored-By: Claude Opus 4.7 (1M context) [email protected]


Commit 2af29d1 by astafford8488.