Versionshinweise

Known Issues in 2021.2.0a15

  • Editor: Editor doesn't show the created layouts anymore. (1330174)
    First seen in 2021.2.0a15.
    Fixed in 2021.2.0a16.

  • Editor: Editor texture streaming breaking after doing a build. (1327396)
    Fixed in 2021.2.0a16.

  • GI: Performance regression when baking light probes with a light cookie in the scene (1323393)
    Fixed in 2021.2.0a16.

  • HDRP: Camera doesn't rotate in HDRP Template with the SimpleCameraController.cs script (1326816)
    Fixed in 2021.2.0a16.

  • macOS: Occasional crashes on M1 with HDRP (1322965)
    First seen in 2021.2.0a2.
    Fixed in 2021.2.0a16.

  • Shadergraph: Custom function nodes in file mode, that directly access shadergraph properties, fail to compile (1322467)
    First seen in 2021.2.0a9.
    Fixed in 2021.2.0a16.

  • Shadergraph: Selecting URP Shadergraph material results in error spam (1319637)
    Fixed in 2021.2.0a16.

  • Shadergraph: Can't create multiple Boolean or Enum keywords. (1329021)
    Fixed in 2021.2.0a16.

  • UI Toolkit: Node groups, systems, properties, sticky notes can not be renamed (1329611)
    First seen in 2021.2.0a2.
    Fixed in 2021.2.0a16.

  • Universal: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)
    Fixed in 2021.2.0a16.

  • WebGL: "SharedArrayBuffer will require cross-origin isolation as of M91" warning is thrown when launching Player on Chrome (1323832)
    Fixed in 2021.2.0a16.

  • Asset Import Pipeline: Prefab script field reference is lost when project is upgraded (1328724)

  • AI: Crash with ComputeTileMeshJob when generating Navmesh (1329346)

  • DirectX12: Editor crashes on GfxDeviceD3D12Base::DrawBuffersCommon when switching between Scenes (1329083)

  • Scene Management: Crash on BuildPrefabInstanceCorrespondingObjectMap when overriding nested prefab inside AssetDatabase.StartAssetEditing() block (1324978)

  • Terrain: All the textures are cleared when creating Texture array (1323870)

  • Package Manager: User can't easily configure location of both UPM and Asset Store package local cache (1317232)

  • IL2CPP: Build fails when using a combination of messages, SyncVars and SyncList in a project (1328966)

  • Metal: Performance in Game View is significantly impacted by Gfx.WaitForPresentOnGfxThread when a second monitor is connected (1327408)

  • Templates: Editor Crashes when performing Undo and Redo after duplicating Game Object with LEGO Model Asset component (1298503)

  • MacOS: Crash while building when "Importing assets" step is canceled (1331302)

  • Asset Bundles: [macOS] Editor crashes when trying to build Asset bundles in InitializeOnLoad or InitializeOnLoadMethod time (1328463)

  • Mono: Crash on System.Net.Sockets.Socket:QueueIOSelectorJob when using a VPN and opening a project that uses Visual Studio (1308797)

  • Global Illumination: [GPUPLM] Crash in RadeonRaysMeshManager::RemoveGeometry while baking Terrain game object with 4k lightmaps on certain GPU (1255993)

  • Physics: OnTriggerEnter gets called after reparenting a RigidBody (1323883)

  • WebGL: [iOS] video is not playing on iOS (1288692)

  • Scripting: Increased Script Assembly reload time (1323490)

  • Settings Window: Editor freezes when FixedTimestep value in the Preferences is set to 0/0 (1326481)

  • Global Illumination: Reflection probes don't contain indirect scene lighting after the on-demand GI bake from the Lighting window (1324246)

  • Mobile: [Android] Build fails when there are 680 or more files in the Streaming Assets folder (1272592)

  • 2D: [Skinning Editor] Vertex can't be created after modifying Vertexes weight and when Sprite is from the .psb file (1322204)

  • Animation: AnimationEvent is fired late or isn't fired at all when Animation's 'Motion Time' value is set manually (1324763)

  • Build Pipeline: IBP: Windows Mono builds don't build in Mac (1328709)

  • Terrain: Crash on TreeRenderer::WillRenderTrees when being in Play Mode for several seconds (1317966)

  • Animation: [Performance Regression] AnimationWindowState:get_allCurves takes approximately 5000ms to load animation in the Animation window (1320250)

  • Scene/Game View: Editor performance in the Scene View regressed drastically when multi selecting GameObjects (1329140)

  • IMGUI: Contents of a ModalUtility window are invisible when it is launched from a Unity Context Menu (1313636)

  • Asset Import Pipeline: Editor crashes while exiting play mode (1328667)

  • Serialization: Crash in SerializedProperty::IsValid when reordering a SerializedProperty list (1320319)

  • MacOS: [Metal][Editor] Memory grows continuously until Editor crashes when importing 100k materials (1214197)

  • MacOS: MacOS editor fails to load platform editor extensions (1322945)

  • UI Builder: Visual Studio opens up instead of UI Builder on double-clicking on uXML file in the Project window (1298297)

  • Project Browser: Basic primitive Meshes are not shown in Select Mesh window (1314696)

New 2021.2.0a15 Entries since 2021.2.0a14

Features

  • Burst: Added a new OptimizeFor mode Balanced. This becomes the default optimization mode, and trades off slightly lower maximum performance for much faster compile times.

  • Burst: Added an OptimizeFor option to [BurstCompile], allowing users to say they want fast code, small code, or fastly compiled code.

  • Burst: Added experimental half precision floating point type f16.

  • Burst: Added experimental support for half precision floating point Arm Neon intrinsics.

  • Burst: Added source location metadata into hash cache.

  • Burst: Added support for having [return: MarshalAs(UnmanagedType.U1)] or [return: MarshalAs(UnmanagedType.I1)] on a bool return external function.

  • Burst: Added support for the C# 8.0 construct default(T) is null to Burst by transforming the generated Box + 'is the box non-null?' at compile time.

  • Burst: Added workarounds for known issue with Windows Native Debuggers and Dll numbers.

  • Burst: An additional warning about delegates being used by BurstCompiler.CompileFunctionPointer that are not decorated as expected. In most cases, Burst will automatically add the C-declaration attribute in IL Post Processing, but if the usage of CompileFunctionPointer is abstracted away behind an open generic implementation, then Burst will not be able to automatically correct the delegate declaration, and thus this warning will fire.

  • Burst: Assemblies are now allowed to have an [assembly: BurstCompile()] attribute to let users specify compile options that should apply assembly wide (for instance [assembly: BurstCompile(OptimizeFor = OptimizeFor.FastCompilation)]).

  • Burst: Automatically add [UnmanagedFunctionPointer(CallingConvention.Cdecl)] to any delegates that are used for BurstCompiler.CompileFunctionPointer<>() or error if the delegate has the attribute and it is not Cdecl.

  • Burst: Can now call BurstCompiler.CompileFunctionPointer() in Burst code.

  • Burst: Intrinsics: Neon - Added support for basic vld1 APIs.

  • Burst: Made it possible to get a pointer to UTF-8 encoded string literal data in HPC# code via StringLiteral.UTF8().

  • Burst: New AotNativeLinkEmbeddedLinux for EmbeddedLinux.

  • Burst: New burst_TargetPlatform_EmbeddedLinux.

  • Graphics: Introduced a tool to help set the bounds of a VFX.

  • Package: Polybrush 1.1.2.

  • Particles: Added a mesh weighting field to the list of meshes, to control how many of each mesh to use.

  • UI Toolkit: Added support for up to 7 levels of stencil-based masking.

  • UI Toolkit: Added the contextual action of unpacking a template in a document in the UI Builder (UI Builder).

  • UI Toolkit: Rendering antialiased vector shapes without MSAA in UI Toolkit.

Improvements

  • 2D: Improved performance for setting multiple Tiles on a Tilemap.

  • Asset Import: Made Asset Import faster when using mikktspace tangent generation on meshes containing degenerate triangles.

  • Asset Import: Small improvement to model import times for models that contain animations.

  • Asset Pipeline: Improved editor startup time by Prefetching AssetDatabases to reduce cost of Pagefaults.

  • DX12: Bind dynamic lightmaps resources (Enlighten) to ray tracing shaders - unity_DynamicLightmap, unity_DynamicDirectionality and unity_DynamicLightmapST. DYNAMICLIGHTMAP_ON shader keyword is enabled when these resources are used by Renderers.

  • Editor: Added new devices to the Device Simulator:

    • Apple iPad Air 2
    • Apple iPad Air (4th generation)
    • Apple iPhone 12 mini
    • Apple iPhone 12
    • Apple iPhone 12 Pro
    • Apple iPhone 12 Pro Max
    • Apple iPhone SE (2nd generation)
    • Google Pixel 5
    • Huawei P40 Pro
    • OnePlus 7 Pro
    • Samsung Galaxy Z Fold2 5G
    • Samsung Galaxy Note10
    • Samsung Galaxy Note10+ 5G
    • Samsung Galaxy Note20 Ultra 5G
    • Samsung Galaxy S8
    • Samsung Galaxy S9
    • vivo NEX 3 5G
    • Xiaomi Mi A3.
  • Editor: Allow importing LOD meshes with indices that have preceding zeroes. Specifying a range, e.g. LOD1-3 will assign the mesh to all LOD levels in the range.

  • Editor: Optimized drag selection in Editor scenes.

  • Editor: Transform component Scale inspector field got the ability to constrain scale proportions. There's also an editor preference whether newly created objects should have constrain proportions scale on by default.

  • GI: Added asynchronous environment sky updates for realtime GI, avoiding frame hitches whenever the sky changes.

  • Graphics: Improved performance of ASTC decompression by using multi-threading (around 6x using 8 threads).

  • Package: Updated Addressables package to 1.17.17.

  • Package: Visual Scripting - Improved migration tools to allow users to migrate their project to recent Visual Scripting version.

  • Scripting: Multithreaded asset garbage collection and increased speed by up to 2.5x.

  • UI: Reused PropertyFields backing fields when possible.

  • UI Toolkit: Set UIDocument's execution order to -100 to ensure root visual element is created when user's OnEnable runs.

API Changes

  • Android: Added: TargetDevices player setting, so users can select if they want their Android application to run on all devices, just Android phones, tablets, and TV devices, or just Chrome OS devices.

  • Graphics: Added: Rendering.SupportedRenderingFeatures.reflectionProbesBlendDistance to provide SRPs with the ability to enable the blend distance fields in the ReflectionProbe inspector.

  • Graphics: Added: ReflectionProbe.UpdateCachedState() to update the internal data related to reflection probe used by the culling system.

  • Terrain: Changed: IOnInspectorGUI ShowBrushGUI overloads removed and replaced with a single ShowBrushGUI call with default parameters.

  • Terrain: Changed: TerrainAPI namespace is no longer part of an experimental namespace and has been renamed TerrainTools.

  • Terrain: Changed: TerrainPaintTool GetDesc changed to GetDescription.

  • Terrain: Changed: TerrainUtility moved to UnityEngine.TerrainUtils namespace.

  • Terrain: Changed: TerrainUtility.TerrainMap moved to UnityEditor.TerrainUtils.TerrainMap. TerrainMap.TileCoord moved to UnityEditor.TerrainUtils.TerrainTileCoord.

  • Terrain: Changed: UnityEditor.TerrainAPI.TerrainPaintUtilityEditor.BrushPreview changed to UnityEditor.TerrainTools.TerrainBrushPreviewMode.

  • UI Toolkit: Added: Expose ScrollView.mode property.

Changes

  • 2D: Tile.StartUp is called after Tilemap is loaded instead of on the first Update after Tilemap is loaded. (1327583)

  • Android: Show Require ES3.1, Require ES3.1+AEP, Require ES 3.2 checkboxes in Android PlayerSettings when "Auto Graphics API" is enabled.

  • Burst: Armv8.2 Neon intrinsics are now fully supported.

  • Burst: Changed Burst minimum editor version to 2019.4.

  • Burst: Changed how exceptions throw types and messages are stored in our Burst binaries to reduce binary size.

  • Burst: Changed how SLEEF global variables for trig functions are pulled into Burst to reduce duplications.

  • Burst: Changed how we resolve function references in the compiler to improve resolving an existing function reference by 3x.

  • Burst: Changed our link step to not use response files if the command line was smaller enough, saving the cost of the round-trip to the disk.

  • Burst: Constant array data is now named after the static field it belongs to in assembly.

  • Burst: Disabled threading within the lld linker instances we use for in-editor and desktop cross compilation, because we're already threading seperate process instances of lld and it results in lot of OS context switching.

  • Burst: DOTS Runtime shares the logging code path with the general case.

  • Burst: Exception strings no longer contain the entry-point name of the job/function-pointer that caused the throw. This change was required because the Burst compiler has to produce deterministic results from any given compile, which is fundamentally opposed to per-entry-point function derivations.

  • Burst: Improved how we handle generic resolution in Cecil to cache the strictly resolved generic types and save a bunch of time in the compiler.

  • Burst: Improved iteration speed by reducing the time it takes for Burst to check if any Burst-compilable code has changed.

  • Burst: In order to prevent conflicts with the main Unity process, Burst is now inactive in secondary Unity processes, including the asset import worker and out-of-process profiler. This means that in those secondary processes, code that would normally be Burst-compiled will now run under Mono. In a future release of Burst, we hope to lift this restriction and allow Burst-compiled code to run in secondary Unity processes.

  • Burst: Made half <-> float / double conversions use native hardware where possible (Arm or AVX2 targets).

  • Burst: The Unity.Burst.Intrinsics.Common.Pause intrinsic is no longer experimental.

  • Burst: Tweaked how the IL Post Processed 'direct call' Burst function pointers are compiled so that the compilation is deferred until they are needed (previously we'd enqueue them all for compilation on a domain reload).

  • Burst: Upgraded Burst to use LLVM Version 11.0.1 by default, bringing the latest optimization improvements from the LLVM project.

  • Burst: Use rpmalloc as our native allocator on Windows to speed up concurrently executing LLVM work.

  • Burst: When Burst has previously compiled a method, and neither the assembly containing that method nor any of that assembly's dependencies have changed, it was possible after a domain reload for the Mono version of the method to be used for a short time before being replaced by the Burst version. This has now been improved such that the Burst version will be used immediately.

  • Graphics: Do not resize unity_SpecCubeN_BoxMax and unity_SpecCubeN_BoxMin to encompass the bounds of the object itself if an SRP is active.

  • Graphics: Improved quality of RGBM encoded ASTC textures and fallback to ETC2 was removed.

  • Graphics: Unity_SpecCubeN_BoxMax.w now contains the blend distance of the reflection probe.
    unity_SpecCube1_BoxMin.w now contains information on the relative importance between SpecCube 0 and SpecCube1.

  • Graphics: Updated SRP templates to 12.0.0.

  • Services: Removed the "Migrate" button section from In-App Purchasing Settings when com.unity.purchasing version of 2 or less is installed. The migration warning messages are now in the section with the "Latest Version" section.

Fixes

  • 2D: Fixed GridSelection on a Tile Palette losing its target when the Tile Palette is saved. (1327582)

  • 2D: Fixed issue when upgrading a Tilemap with invalid data where transform and color data was not maintained, and loaded from the original Tile Asset instead. (1324908)

  • 2D: Prevented users from selecting a disabled GameObject as an active target for the Tile Palette. (1327021)

  • Animation: Fixed animation events to fire correctly when overriding the loop in a AnimationClipPlayable. (1292994)

  • Animation: Removed invalid error messages and display correct inspector when viewing a state with invalid StateMachineBehaviours. (1319708)

  • Asset Bundles: Fixed error being logged when accessing an archive file that was modified while it was still opened. (1319389)

  • Asset Import: Fixed ClipAnimations clips having their IDs regenerated when they are assigned. (1246450)

  • Asset Import: Switching Texture Importer tabs does not dirty the importer. (1321256)

  • Asset Pipeline: Fixed issue that Asset Pipeline reports wrong time in reports. (1327442)
    First seen in 2021.2.0a12.

  • Build Pipeline: Fixed Copy error related to compilation of CPP plugins in packages. (1328759)
    First seen in 2021.2.0a14.

  • Build Pipeline: Fixed Windows build on Mac and Linux. (1328709)
    First seen in 2021.2.0.

  • Burst: Added PreserveAttribute to prevent the internal log from being stripped in il2cpp builds.

  • Burst: Broken link restored for known issues with debugging and profiling.

  • Burst: Clang segmentation fault on iOS when member function debug information was emitted, it is disabled for this platform now.

  • Burst: Corrected 'Enable safety checks tooltip`.

  • Burst: Crash when extracting sequence point information for error reporting/debug information generation.

  • Burst: Direct Call extension methods that only differ on argument types are now supported (previously Burst's AssemblyLoader would complain about multiple matches).

  • Burst: Dots runtime function pointer transform has been simplified, making it less brittle and fixing some bad IL generation.

  • Burst: Fixed a bug in LLVM that it would incorrectly convert some memset -> memcpy if both pointers derived from the same memory address, and where one indexed into the 0th element of the pointer.

  • Burst: Fixed a bug that occurred when an explicitly laid out struct was used by a dup instruction, which caused an internal compiler error.

  • Burst: Fixed a bug where eager-compilation could pick up out-of-date global Burst menu options for compiling.

  • Burst: Fixed a bug where explicitly casting from an int to IntPtr would not sign extend the value.

  • Burst: Fixed a bug where having any [DllImport] in a class that used the Direct Call mechanism could result in an illegal CompileFunctionPointer call being produced by our post processor.

  • Burst: Fixed a bug where if a user had defined multiple implicit or explicit casts, the compiler could resolve to the wrong cast.

  • Burst: Fixed a bug where loading from a vector within a struct, that was got from a NativeArray using an indexer, would cause the compiler to crash.

  • Burst: Fixed a bug where the Burst post-processing for direct call would cause duplicate function pointers to be compiled, wasting compile time in the editor and caused an Editor launch stall.

  • Burst: Fixed a bug where the multi-CPU dispatcher (used for player builds targetting multiple CPU architectures) could end up generating invalid instructions.

  • Burst: Fixed a bug where the progress bar would report double the amount of pending compile jobs if a user changed the Burst options while background compilation was going on.

  • Burst: Fixed a bug with using multiple IsXXXSupported intrinsics in the same boolean condition would fail.

  • Burst: Fixed a minor debug information bug where built-in types with methods (like System.Int32) would generate incorrect debug information.

  • Burst: Fixed a possible DivideByZeroException due to race condition in TermInfoDriver initialization code.

  • Burst: Fixed a regression where managed static fields, in static constructors that would also be compiled with Burst, could cause a compile time failure for mixing managed and unmanaged state.

  • Burst: Fixed a very obscure bug where if you had a function-pointer that was called from another function-pointer of job, and that function-pointer happened to be compiled in a player build in the same bucket as the caller, and the no-alias cloning analysis identified that it could clone the original function-pointer to enable more aliasing optimizations, it could create a duplicate symbol error.

  • Burst: Fixed alignment issues associated with xxHash3 on ArmV7 (case 1288992).

  • Burst: Fixed an issue where Burst would erroneously error on BurstCompile.CompileFunctionPointer calls when building for the DOTS Runtime.

  • Burst: Fixed an issue where if a user used a math function (like cos, sin, etc) then LLVM would preserve both the scalar and vector implementations even if they were trivially dead, causing us to inject otherwise dead functions into the resulting binary.

  • Burst: Fixed compilation errors when targeting Arm CPUs and using some of the Intel intrinsics.

  • Burst: Fixed compilation errors when targeting Intel CPUs and using some of the Arm Neon intrinsics.

  • Burst: Fixed crashes on 32 bit windows when calling function pointers from managed code and using IL2CPP.

  • Burst: Fixed DOTS Runtime JobProducer Bursting code to support JobProducers with multiple generic arguments, complex job wrapper and generic jobs.

  • Burst: Fixed managed implementation of sub_ss intrinsic.

  • Burst: Fixed managed implementations of blend_epi32 and mm256_blend_epi32 intrinsics on Mono.

  • Burst: Fixed namespace issue triggering a warning in the editor.

  • Burst: Fixed some intrinsics not checking target CPU against required CPU, so it was possible to use some intrinsics without an IsXXXSupported check.

  • Burst: Fixed the 1.5 restriction that Direct Call methods can only be called from the main thread, now they work when called from any thread.

  • Burst: Function calls using in modifiers on blittable structs where being treated as non blittable.

  • Burst: Gracefully handle failing to find a particular assembly in the ILPP to prevent an ICE.

  • Burst: IL Function Pointer Invoke Transformation now uses correct runtime library for dots runtime.

  • Burst: IL Function Pointer Invoke Transformation updated to handle transforms that affect instructions that are the destination of a branch.

  • Burst: Internal Compiler Error if a call was discarded (via BurstDiscard for example), but the callsites required an ABI transform e.g. struct return.

  • Burst: Intrinsics: Neon - fixed vget_low and vget_high producing suboptimal code.

  • Burst: Made math.shuffle compile correctly when non-constant ShuffleComponent's are used.

  • Burst: PDB debug information for instance methods that also used struct return were incorrect.

  • Burst: Private [BurstCompile] methods no longer throw MethodAccessException.

  • Burst: Revert to internal linkage for Android X86 (32bit) to ensure ABI compliance.

  • Burst: String interpolation issues when using Dots / Tiny runtime.

  • Burst: The Direct Call injected delegate now has a unique suffix to avoid type-name clashes.

  • Burst: When generating Line Table only debug information, an unreachable could occur due to a missing check.

  • DX12: Fixed a crash in the Standalone Player when using Graphics Jobs and ray tracing effects (DXR) in HDRP. (1315690)

  • Editor: A warning is now displayed when modifying the enable analytics preference, informing the user that it will require a restart of the editor. (1307652)

  • Editor: Fixed an error is thrown after re-building a library of previous Editor version project when the Profiler of 2020.2 project is opened. (1273439)

  • Editor: Fixed an issue where out argument out of range exceptions are thrown when deleting Japanese characters in the input field. (1201105)

  • Editor: Fixed editor mode menu position for parent menus. (1328058)
    First seen in 2021.2.0a5.

  • Editor: Fixed failure to load window layout when Editor tries to create new asset from SettingsProvider callback at startup. (1322299)

  • Editor: Fixed null reference exception when opening a popup window in some cases (when a previous popup window got somehow saved into a window layout). (1295445)

  • Editor: Fixed NullReferenceException error is thrown when pressing up/down arrow key in the Project's search bar while in Play Mode. (1318065)

  • Editor: Fixed project window is overlapping with Assets window when they are shrunk. (1326389)
    First seen in 2021.2.0a10.

  • Editor: Fixed supported devices list is missing for Input System Package when popping the advanced dropdown window popup. (1327401)
    First seen in 2021.2.0a10.

  • Editor: Limited the length of the error messages in the UserRetryDialogs to not more than 200 characters per line. (1167593)

  • Editor: The Linux Editor now restarts with the correct size and maximized state. Restoring the Editor from maximized will restore the window to its previous size and location. (1258663)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Transform rotations from asset bundles are now correctly shown in the inspector. (958333)

  • GI: Fixed baked lighting on terrain holes and better performance. (1307459)

  • GI: Fixed out of bounds access in probeDepthOctahedronExpandedBuffer when generating Probe Volumes 1.0 data via experimental API. (1321881)

  • Graphics: Fixed a crash when loading old asset bundles that contain shaders compiled with Vulkan. (1308947)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed crash caused by using a compute pipeline object after it has been destroyed in Vulkan. (1327421)

  • Graphics: Fixed D3D12 memory leak with RenderTexture.enableRandomWrite (mostly happens when using SRPs with multiple cameras). (1329472)

  • Graphics: Fixed GetMasterTextureLimit to return 0 when a texture has no mip maps. This will remove some irrelevant error message when setting texture quality to anything else than "Full Res". (1324278)
    First seen in 2021.2.0a10.

  • Graphics: Fixed layered rendering to mips of 3D textures when using Vulkan. (1329180)

  • Graphics: Fixed random crash when reloading VFX under special circumstances. (1291710)

  • Graphics: Fixed Texture resource state that can be incorrect when the destination texture of Graphics.Blit() is also set as _MainTex of the blit material. (1323521)

  • Graphics: Provided an appropriate API to update builtin reflection probes internal data. (1207660)

  • Graphics: Removed the error message when encountering incompatible pipeline stages on DX12.

  • Graphics: Resolved exact fixed time step flickering while using strip (and other unexpected behavior). (1289829)

  • IL2CPP: Corrected the behavior of Mathf.RoundToInt with Mathf.Infinity on ARM architectures. (1323419)

  • IL2CPP: Fixed embedded resources not loaded on an assembly processed with ILRepack. (1323772)

  • IL2CPP: Fixed issue with non-ASCII characters in installation path or project path that could cause builds to fail. (1322529)

  • IL2CPP: Fixed issue with UnityLinker that would cause Windows Runtime assemblies to be incorrectly loaded and parsed, causing builds to fail. (1315830)

  • IMGUI: Fixed NullReferenceException when changing the color for a gradient key. (1326314)
    First seen in 2021.2.0a12.

  • iOS: Added missing API file updates.

  • Linux: Fixed mouse clicks incrementing scroll x/y. (1308873)

  • Linux: We now log basic system information when launching the Editor to the log file. (1325370)

  • macOS: Fixed crashes related to Bluetooth permissions. (1321219)

  • macOS: We now log basic system information when launching the Editor to the log file.

  • Package Manager: Added missing tooltip to the refresh icon.

  • Package Manager: Fixed an issue where Git dependencies using annotated tags for revisions could not be resolved. (1325920)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed the issue where Package Manager extensions throw unhandled exceptions in certain projects. (1327060)
    First seen in 2021.2.0a10.

  • Particles: Improved feedback in the Inspector about incorrectly configured SpriteAtlas assets. (1318608)

  • Physics: Ensured that when using 'Physics2D.Distance()' where one of the colliders is an EdgeCollider2D with an adjacent start/end point, that the correct distance points and normal are calculated. (1321270)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: Stopped a crash happening when calling 'Rigidbody2D.ClosestPoint()' on an inactive Rigidbody2D. (1327333)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: Stopped exceptions being thrown by ensuring that when editing a PolygonCollider2D or EdgeCollider2D the cached collider data is kept in-sync when editing the inspector properties. (1322709)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Prefabs: Discard undo creation when prefab fails to be created. (1327443)
    First seen in 2021.2.0a9.

  • Profiler: Fixed column headers of the Hierarchy and the Raw Hierarchy views are not clickable in the profiler window. (1328041)
    First seen in 2021.2.0a13.

  • Profiler: Fixed issue when Editor doesn't report counters in custom modules window. (1322315)
    First seen in 2021.2.0a8.

  • Profiler: On Mac, restoring defaults in the Profiler modules dropdown list now closes the dropdown list. (1323673)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fixed a bug where adding a script to the list of custom-ordered scripts in "Project Settings" -> "Script Ordering" would pick up a totally unrelated script. (1327742)

  • Scripting: Fixed double-clicking on console messages originating from paths outside the asset folder not working correctly. (1304954)

  • Search: Fixed indexed prefab objects cannot be resolved using the search result global object id. (1328618)

  • Search: Fixed too many objects being indexed and out of memory exception
    Reported on the forums: https://forum.unity.com/threads/quick-search-preview.635863/page-12#post-7004042.

  • Serialization: Fixed SerializedProperty::arraySize when multiple objects are selected and the array has been resized. (1327027)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Services: Fixed the "Latest Version" section of the In-App Purchasing Settings when com.unity.purchasing version of 2 or less is installed. It now always offers the verified version, but adds migration warning messages about moving to newer versions which do not use the IAP Asset Store plugin.

  • Services: Fixed upload of symbols to Cloud Diagnostics for Windows builds. (1329220)

  • Shaders: Fixed editor crash if shader error db fails to open. (1327429)

  • Terrain: Fixed incorrect conditional statement when validating terrain material shaders. (1307951)

  • Terrain: Moved TerrainCallbacks from UnityEngine.TerrainAPI to UnityEngine namespace.

  • UI Toolkit: Ensured that resizing by dragging Resize handles always produces dimensions with rounded values. (1322550)

  • UI Toolkit: Fixed API inconsistency of the ScrollView class not exposing the "mode" as a property. (1328093)

  • UI Toolkit: Fixed clipping of the content of a mask element whose size is zero. (1320182)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI Toolkit: Fixed how the USS styles are applied: we now skip unknown properties instead of breaking when applying a style. (1312500)

  • UI Toolkit: Fixed precision errors in gamma-linear conversions. (1317742)

  • UI Toolkit: Fixed the refresh of the canvas's content when modifying properties of style selectors. (1323665)

  • WebGL: Currently enabling "Frame Timing Stats" option in the Standalone Player Settings breaks WebGL 1, so we added that option explicitly to the WebGL player settings, and we emit a warning when WebGL 1 is selected. (1297871)

  • XR: Fixed XRSettings.occlusionMaskScale not working in SRPs.

  • XR: Fixed XRSettings.showDeviceView not working in SRPs.

  • XR: Fixed XRSettings.useOcclusionMesh not working in SRPs.

Changeset: 37767e16dc73