### Fixes

*   2D: Fixed crash on when passing array of nulls to SpriteAtlas.Add. ([1089125](https://issuetracker.unity3d.com/issues/crash-on-spriteatlas-add-when-passing-array-of-nulls-to-spriteatlas-dot-add), 1120906)
    
*   Animation: Fixed a crash when parenting an GameObject during an AnimationEvent. (1115423)
    
*   Asset Pipeline: Optional parameter added to SceneManager.UnloadScene function allowing to unload assets embedded in a scene without calling UnloadUnusedAssets. ([998958](https://issuetracker.unity3d.com/issues/default-skybox-cubemap-is-not-re-used-when-reloading-scene-multiple-times-and-causes-memory-leak), 1111167)
    
*   Build Pipeline: Fixed rare data corruption when building asset bundles with LZMA compression. ([1118331](https://issuetracker.unity3d.com/issues/when-building-a-lot-of-assetbundles-some-bundles-will-result-in-corrupted-resources-dot-resources-or-dot-ress-will-be-0-bytes))
    
*   DX12: Fixed a crash when switching to exclusive fullscreen.
    
*   Editor: Fixed an issue where text flickers when displaying a button or label using the IMGUI that has a long text with wordwrap enabled. (1106201)
    
*   Editor: Fixed crash and validation errors when opening editor windows. (1085277)
    
*   Graphics: Disabled GPU skinning in the Editor when Graphics Emulation is enabled. (1107282)
    
*   Graphics: Fixed an issue where Light Probe Proxy Volumes did not function correctly with Vulkan as the graphics API. ([988476](https://issuetracker.unity3d.com/issues/vulkan-light-probe-settings-use-proxy-volume-on-meshrenderers-and-skinnedmeshrenderers-is-wrong))
    
*   Graphics: Improved terrain painting that produces quantization when using OpenGL API. (1114680)
    
*   Graphics: Vulkan: Various stability, performance and correctness fixes.
    
*   Graphics: Vulkan: Various stability, performance and correctness fixes.
    
*   Graphics: \[ShaderGraph\] Fixed Transparent preview not clearing framebuffer. (1068062)
    
*   IL2CPP: Add support for marshaling fields which are arrays of structs which in turn have arrays as fields. ([1106047](https://issuetracker.unity3d.com/issues/marshal-dot-sizeof-throws-an-exception-in-il2cpp-builds-when-the-object-contains-an-array-of-objects-with-arrays))
    
*   IL2CPP: Added protocol support for IPv6 on Windows. (1099133)
    
*   IL2CPP: Correctly indicate that IPv6 is not supported on non-IPv6 platforms. (1108823)
    
*   IL2CPP: Emit proper C++ code when type names include characters that are not valid for C++ source code. (1108435)
    
*   IL2CPP: Fixed a crash when using the Environment.MachineName property on some machines when targeting UWP and make it return results consistent with the Standalone Player. ([1093953](https://issuetracker.unity3d.com/issues/system-dot-environment-dot-machinename-crashes-on-il2cpp-on-long-machine-names-with-uwp-builds))
    
*   IL2CPP: Fixed an intermittent crash in the native linker on Android. (1108960)
    
*   IL2CPP: Fixed InvalidCastException that can sometimes happen when passing managed object that derives from a native Windows Runtime class to native code. For instance, this happens when deriving from Windows.UI.Xaml.Control.ContentDialog and trying to show it. ([1104540](https://issuetracker.unity3d.com/issues/uwp-contentdialog-throws-an-exception-on-il2cpp-backend))
    
*   IL2CPP: Generate proper C++ code for an out parameter used as SizeParamIndex. ([1115412](https://issuetracker.unity3d.com/issues/uwp-il2cpp-build-generates-incorrect-code-when-using-marshalasattribute-on-a-intptr-parameter))
    
*   IL2CPP: Handle null explicitly casted to an array and indexed. (1115145)
    
*   IL2CPP: Loaded field addresses via unsigned native integer types properly. (1104370)
    
*   IL2CPP: Prevent a compilation error in generated C++ code when the ldtoken opcode is used in some cases. (1108435)
    
*   IL2CPP: Prevent an compilation error in generated C++ code when an enum field is marshaled. ([1104889](https://issuetracker.unity3d.com/issues/editor-throws-multiple-errors-when-trying-to-build-project-with-il2cpp))
    
*   IL2CPP: Prevent an exception during IL2CPP code conversion that can happen with Trace statements in some cases. (1120880)
    
*   IL2CPP: Prevented a crash at runtime with the .NET 4.x equivalent scripting runtime that can occcur when an enum is nested in a generic type. (1113091)
    
*   IL2CPP: Properly generate code using the in modifier for parameters on abstract methods in a generic type. (1103142)
    
*   Package Manager: Fixed moving files in the editor project view (drag and drop) not working in local packages. ([1114391](https://issuetracker.unity3d.com/issues/files-are-duplicated-when-moving-them-in-local-package), 1117976)
    
*   Particles: Fixed erroneous Particle System error message: "Sub-emitters must be children of the system that spawns them". ([949522](https://issuetracker.unity3d.com/issues/sub-emitters-must-be-children-of-the-system-that-spawns-them-error-is-shown-even-though-sub-emitters-are-correctly-parented), 1089804)
    
*   Particles: Fixed Frame Debugger failing to show draw call information for Particle Systems. (1107382)
    
*   Particles: Fixed incorrect curve evaluation when using the Limit Velocity over Lifetime module with a micture of optimized and non-optimzied curves. (1096701)
    
*   Particles: Fixed particle bounds when using Sprites in the Texture Sheet Animation Module. ([1107722](https://issuetracker.unity3d.com/issues/particles-get-out-of-particle-system-bounds-when-using-texture-sheet-animation))
    
*   Particles: Fixed particle trails could being culled incorrectly when using the World Space trails option. ([1089679](https://issuetracker.unity3d.com/issues/particle-system-trails-are-culled-while-still-within-camera-bounds))
    
*   Particles: Fixed regression bug where offscreen Particle Systems failed to play. (1114729)
    
*   Particles: Fixed scaling regression bugs with Particle Systems. ([1112937](https://issuetracker.unity3d.com/issues/particles-do-not-inherit-scale-from-parents-when-scaling-mode-is-set-to-hierarchy-and-simulation-space-is-set-to-world), 1116160)
    
*   Particles: Fixed Velocity Module Speed Modfiier not applied to the initial simulation step of newly spawned particles. ([1111134](https://issuetracker.unity3d.com/issues/particle-system-scatters-differently-when-in-play-mode))
    
*   Particles: Update particle bounce light immediately when the multiplier is changed on the Light. (1102543)
    
*   Physics: Ensure that ContactPoint2D and Collision2D types do not get stripped causing a crash. (1121995)
    
*   Prefabs: Fixed references to Prefabs from scene getting lost if prefab is modified. (1116476)
    
*   Prefabs: Updated Undo to return Prefab instances with missing assets to previous state correctly. ([1056446](https://issuetracker.unity3d.com/issues/undo-after-selecting-unpack-prefab-completely-on-an-instance-with-missing-asset-does-not-properly-return-to-previous-state), 1120322)
    
*   Scripting Upgrade: Fixed crash in ScriptUpdater.exe when code contains qualified references to methods of type that were statically imported (#using static). ([1081267](https://issuetracker.unity3d.com/issues/apiupdater-crashes-when-script-has-qualified-access-to-statically-imported-types))
    
*   Shaders: Fixed incorrect shader code generation with tessellation shaders when using the Vulkan API. (1092160)
    
*   Universal Windows Platform: Fixed IL2CPP crashing when using certain new types (like Windows.Foundation.GuidHelper.Equals) in Windows SDK 17763 or newer.
    
*   Universal Windows Platform: Fixed memory leaks on .NET backend when calling Mesh.SetVertices(), Mesh.SetUVs(), Mesh.SetTriangles() methods. ([1042218](https://issuetracker.unity3d.com/issues/uwp-memory-leaks-on-net-backend-when-calling-mesh-dot-setvertices-mesh-dot-setuvs-mesh-dot-settriangles-methods))
    
*   Windows: Fixed setting refresh rate in exclusive fullscreen mode having no effect on D3D11 and D3D12. ([975924](https://issuetracker.unity3d.com/issues/screen-dot-setresolution-ignores-prefferedrefreshrate-variable-and-sets-it-to-what-is-set-as-refresh-rate-through-windows))
    
*   XR: XR devices in new input system package are now all Y-up is away from the user. ([1091918](https://issuetracker.unity3d.com/issues/xr-joystick-y-values-do-not-adhere-to-inputsystem-convention))
    

Changeset: a220877bc173