com.unity.burst 1.8.20

com.unity.burst

Source docs
Notes: processedReleased April 7, 2025

Browse versions

PreviousNext

Unity Compatibility

Minimum Unity: 2020.3

Package Dependencies

Features

  • Added LLVM 19 Support
  • Added stack protector AOT settings options.
  • Added an `[Alias]` attribute that can be applied to job structs and/or fields to indicate they *can* alias. The attribute is experimental and can be used to override default implicit `[NoAlias]` attributes (like in job structs)

API Changes

    🔧 Bug Fixes

    • Fixed hashing error that could occur when an assembly contained a type reference with a "module" resolution scope
    • Fixed internal compiler error when using a `FixedStringNBytes` value in an interpolated string
    • Fixed a crash caused by assigning `null` to a `Span`
    • Fixed "Unable to resolve the method" error that occurred when two or more methods had the same name, one of the methods contained a generic parameter, and the generic parameter type had two or more generic arguments
    • Fixed handling of `stackalloc`ed arrays with initial values for newer versions of Visual Studio
    • When building for Android with the Mono scripting backend, arm64-v8a symbols could be incorrectly included in the output, even though Mono for Android only supports armv7. This is now fixed.
    • Fixed compiler crash that could happen when using an interface method that had a default implementation defined in another interface
    • Fixed cropping of tooltips in the inspector.
    • Fixed rare "Unhandled exception. System.InvalidCastException: Unable to cast object of type 'System.IO.MemoryStream' to type 'System.Text.StringBuilder'" error that could occur during Burst compilation
    • Fixed a `BC1054` error that could occur if a struct with a pointer-to-generic-parameter-typed field was used as a generic argument to an interface type
    • Fixed compiler crash when trying to use the `Span(T[])` or `Span(T[],int,int)` constructors
    • Fixed the alias performance regression when using LLVM 19, that was introduced in Burst version 1.8.20 (when LLVM 19 support was added)
    • Fixed that a struct address would incorrectly be assumed not to alias with its `[NoAlias]` members if its first field was a `[NoAlias]` field (either explicitly marked as job, or a `NativeArray` in a job struct).

    📈 Improvements

    • EmbeddedLinux SSE4 default
    • Job structs now by default carry an implicit `[NoAlias]` attribute.