12 Free GitHub Actions Unity Library Cache and Addressables False Green Debug Tools (2026)

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 Action

Built-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

Official content-state contractAddressablesContentState.bin tracks catalog/build state; hash belongs in CI cache keys.
Fail when: group rename without key bust

Headless Unity build action—pair with explicit cache bust jobs before player packaging, not only compile checks.
Contrast: generic CI recipes list (build graph)

Content-state fingerprint—hash AddressablesContentState.bin (or catalog JSON) into cache key suffix and receipt rows.
Receipt field: catalog_hash

jq

CLI Tool

Receipt 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

Validation

Receipt 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