com.unity.burst 1.7.2

com.unity.burst

Notes: processedReleased June 1, 2022

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2019.4

Package Dependencies

🔧 Bug Fixes

  • Fixed internal compiler error when encountering a `calli` with closed generics
  • Fixed bug where disabling native debug mode, after having previously enabled it in the same editor session, didn't in fact disable native debug mode
  • Fixed a regression where out parameters of C# 9.0 function pointers weren't working in Burst.
  • Fixed bug in static constructor ordering in the presence of indirect dependencies between static constructors (i.e. static constructor -> static method -> static constructor) that could result in a runtime crash
  • Fixed a bug that manifested when using IAP in UWP builds with Burst - we were scanning the assembly hierarchy too deep for Bursted types, which led to an `AssemblyResolutionException`.
  • Added workaround for "cannot dlopen until fork() handlers have completed" issue seen in macOS 12.3
  • Fix compiler crash when the only usage of a static field was in a formatted exception string
  • Fixed compiler crash when trying to dynamically call `BurstCompiler.CompileFunctionPointer` in Burst-compiled code
  • Fix burst inspector sometimes stalling during loading for script reloads.
  • Fixed a bug with `Span` and `ReadOnlySpan` types where if the indices used were not already 32-bit signed integers, an internal compiler error would occur if running with safety checks enabled.
  • Fixed a really convoluted bug that could manifest in Burst returning out of date cached libraries, which would manifest as random exceptions in Burst jobs/function-pointers (users deleting the BurstCache would workaround the bug).
  • Fixed hashing bug that could occur when a function pointer type is used in a method parameter
  • Fixed a compiler crash if users used `__refvalue` or `__arglist` in Burst. Neither of these are supported, but now we will nicely tell you via a compiler error that they aren't supported.
  • Fixed hashing error that could occur in the presence of multiple synthesized explicit interface implementations with the same name and signature
  • Fixed a compiler error when trying to acquire the function pointer of a generic function from Bursted code.
  • Using a function only through a C# function pointer could cause a crash

Features

  • Added support for the `System.Runtime.CompilerServices.IsExternalInit` workaround documented here into Burst when used in 2022.1+.

📈 Improvements

  • Changed how we process static readonly fields in static constructors such that we'll allow more computational budget per static field. This fixes the case where having too many static readonly variables in a single static constructor could fail to compile, while they would work if each was in their own static constructors.
  • SDK Updates.