12 Free GitHub Actions Unity Library Cache and Addressables False Green Debug Tools (2026)
<span style="font-weight: 600;">October 2026</span> Unity teams hit <span style="font-style: italic;">InvalidKeyException</span> on installed fest builds while GitHub Actions stays green—stale <span style="font-style: italic;">Library/</span> cache hides Addressables group moves. This bookmark stack separates <span style="font-weight: 600;">workflow compiles</span> from <span style="font-weight: 600;">player loads catalog on cold CI</span>, hashes <span style="font-style: italic;">AddressablesContentState</span>, and gates <span style="font-style: italic;">addressables_ci_cache_receipt_v1.json</span> on BUILD_RECEIPT.<br><span style="color: #6366f1; font-weight: 600;">Beginner start:</span> read <span style="font-style: italic;">actions/cache</span> docs + evening cache-bust tutorial; <span style="color: #059669; font-weight: 600;">Developer path:</span> add catalog hash to cache key + weekly no-cache job.
GitHub actions/cache
Official ActionBuilt-in cache action—restore/save paths for Library/ and dependencies; keys must include Addressables catalog hash after group moves.
Pro tip: one no-cache weekly job on main catches false greens
Unity Addressables — Content State
Official DocsOfficial content-state contract—AddressablesContentState.bin tracks catalog/build state; hash belongs in CI cache keys.
Fail when: group rename without key bust
GameCI Unity Builder
Unity CIHeadless Unity build action—pair with explicit cache bust jobs before player packaging, not only compile checks.
Contrast: generic CI recipes list (build graph)
GNU sha256sum / shasum
CLI ToolContent-state fingerprint—hash AddressablesContentState.bin (or catalog JSON) into cache key suffix and receipt rows.
Receipt field: catalog_hash
jq
CLI ToolReceipt gate—require library_cache_bust_ok and catalog_hash match BUILD_RECEIPT before branch promotion.
CI check: jq -e .addressables_ci_cache_ok
JSON Schema
ValidationReceipt validation—schema for addressables_ci_cache_receipt_v1.json with cache key diff table + no-cache weekly row.
Gate: reject missing catalog_hash
Three-night verification ladder—F1–F6 gates, cache key diff table, #NoFalseGreenAddressables2026.
Read after: evening YAML setup
Beginner YAML path—hash Addressables content state, bust actions/cache, file unity_ci_library_cache_receipt_v1.json.
Time: ~one evening
Ninety-second C1–C6 gate—content-state hash in cache key, clean Library/ job, fail-closed bust before promote.
Developer path: run before Lesson 261
Player-side recovery—when CI was green but installed build throws InvalidKeyException after group moves.
Pair with: this list for preventive cache policy
BUILD_RECEIPT milestone—promote unity_ci_library_cache_receipt_v1.json after C1–C6 preflight.
Cousin: addressables_ci_cache_receipt_v1 (3-day challenge)
Preventive inventory week—K1–K7 before content strip; distinct from post-move CI cache verification (F1–F6).
Order: audit week → group moves → 3-day false-green ladder