Quick answer: Delete Library/BurstCache/ and the OS-level Burst cache. Reopen the project. Burst recompiles from scratch using the new package versions.

After updating Unity.Mathematics from 1.2.6 to 1.3.0, Burst jobs in the project produce slightly different results than expected. The math library’s implementations changed; Burst is using the old compiled output. The IL hash key didn’t change because the user code didn’t change.

Burst Caching Layers

Burst stores compiled native code in two places:

The IL hash sometimes misses changes that came from package updates — Burst sees the calling code is unchanged and reuses the old binary.

Clean Recompile

  1. Close Unity.
  2. Delete Library/BurstCache/ from the project folder.
  3. Delete the OS-level cache (Windows: %LOCALAPPDATA%\Unity\BurstCache).
  4. Reopen Unity. First entry into Play mode triggers fresh compilation; allow extra time.

Force Recompile per Job

For a single job:

  1. Jobs menu → Burst → Open Burst Inspector.
  2. Find the job.
  3. Right-click → Force Compile.

Quicker than wiping the whole cache when only one job is suspect.

Verify the Burst Build

In Burst Inspector you can inspect the assembly Burst generated for each job. If your code path includes math library calls, the assembly should reference the new versions’ symbols. A sanity check: a quick visual diff of the assembly before and after the package update.

For Shipping Builds

For final builds, set Burst’s build option Optimize For = Performance and Disable Safety Checks. Player builds use a different cache (Library/BurstCache/Player); also wipe this before final builds after major package changes.

Verifying

Run the affected job after clean recompile. Output should match the new package’s expected behavior. Add a unit test that pins one known input/output to detect future cache-staleness regressions.

“Burst’s cache key isn’t perfect across package updates. Wipe the cache after major math/collections updates.”

Add a CI step that wipes Library/BurstCache before release builds — eliminates “built with stale Burst” surprises in QA.