Release notes

Known Issues in 2021.2.0a17

  • Editor: Prefab's Overrides window appears from the left side of the Editor. (1331766)
    First seen in 2021.2.0a16.
    Fixed in 2021.2.0a18.

  • Package Manager: Reimporting a sample deletes all non-empty parent folders recursively until the project folder. (1334082)
    Fixed in 2021.2.0a18.

  • Profiler: Profiler doesn't capture data when connected to a player. (1334374)
    First seen in 2021.2.0a17.
    Fixed in 2021.2.0a18.

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

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

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

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

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

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

  • Global Illumination: Reflection probes must be rebaked twice to update when using "Generate Lighting" button (1334283)

  • Global Illumination: [HDRP] Baked Lighting scene view mode no longer works (1333441)

  • macOS: Editor fails to load platform editor extensions (1322945)

  • macOS: Unity crashes when exception thrown after a DLL has been loaded (1318755)

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

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

  • Mobile: [Android] App stops due to OnPixelCopyFinishedListener not being supported on devices with lower than 24 SDK (1331290)

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

  • Mobile: [Android] Time.deltaTime value becomes constant 0.3(3) after sending to the background and resuming an Application (1328545)

  • Mono: Crash starting Unity when using NordVPN (1308797)

  • OpenGL: SRP Batcher not working with OpenGL APIs when the project is built (1331098)

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

  • Profiling: GarbageCollectAssets is triggered frequently when higher frame counts are set (1332708)

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

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

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

  • Scripting: Increased Script Assembly reload time (1323490)

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

  • Shader System: Local keywords can be overridden by global keyword state (1334776)

  • Shader System: Performance regression with the new keyword system (1333713)

  • Shader System: [shadergraph] Creating too many keywords crashes unity (previously threw exceptions) (1334656)

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

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

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

New 2021.2.0a17 entries since 2021.2.0a16

Features

  • Asset Import: Updated Alembic package to 2.2.0-pre.3.

  • Burst: Version 1.6 release cycle is RC for 2021.2.

  • IL2CPP: New option for "IL2CPP Code Generation" which can enable faster and smaller builds via better sharing of generics code, with potentially additional runtime overhead.

  • Package Manager: In the popup window, upon clicking 'Install' for a Full Project Asset, users now have the option to install the Asset into a new, temporary project.

  • Scene/Game View: Introduced new Overlays feature. Tools and contextual views are now available directly in the Scene View, and are completely customizable.

  • Shaders: Added support for specifying package requirements for SubShaders and Passes to ShaderLab.

Improvements

  • 2D: Updated template to use latest 2D verified packages.

  • AI: Added the RasterizeModifierBox profiler marker for the NavMesh builder step that processes ModifierBox sources.

  • Asset Import: Optimized texture import mipmap calculation when Kaiser filtering is used (e.g. importing 16GB of textures with mostly Kaiser mip filters goes from 127 sec down to 109 sec).

  • Audio: Allowed user to specify whether DSPGraph sample providers should loop from the beginning of a clip or from a chosen start point. (1329351)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Build Pipeline: WebGL now uses the incremental player build pipeline.

  • Editor: Added the renderer type to the UpdateRendererBoundingVolumes profile marker tooltip.

  • Graphics: Improved to scene culling CPU performance - Shadow casters are rejected earlier if their shadow casting is disabled which should improve performance in scenes with scenes with lots of renderable objects that are set to not cast shadows. (1322874)

  • Graphics: Support ASTC as texture format for Single Channel textures.

  • Graphics: VFX : Optimization while sending event to a VisualEffect by script.

  • IL2CPP: Corrected provide the source file hash so that a managed debugger can determine when a source file has changed and provide a proper warning.

  • IL2CPP: Made IL2CPP Conversion faster by using a new Data Model.

  • Kernel: Improved performance of parallel sorting code.

  • Package: Visual Scripting - Migration tools were improved to allow users to migrate their project to recent Visual Scripting version.

  • Prefabs: At a glance see in the Hierarchy which Prefab instances have non-default overrides. (1323680)

  • Scripting: Enabled scheduling managed jobs from non-main control threads.

  • XR: Updated XR Plug-in Management to 4.0.3.

API Changes

  • Animation: Changed: Marked obsolete AnimationMixablePlayable.Create(PlayableGraph graph, int inputCount, bool normalizeWeights) due to unused parameter normalizeWeights. Added new method AnimationMixablePlayable.Create(PlayableGraph graph, int inputCount). (1332215)

  • Asset Import: Added: AssetPostprocessor.OnPreprocessCameraDescription and AssetPostprocessor.OnPreprocessLightDescription.

  • Editor: Changed: AndroidArchitecture.x86 and AndroidArchitecture.x86_64 have been renamed with capital X's. They are now AndroidArchitecture.X86 and AndroidArchitecture.X86_64.

  • Graphics: Added: Documentation links to Light Sections.

  • Graphics: Added: SpeedTree8MaterialUpgrader, which provides utilities for upgrading and importing SpeedTree 8 assets to scriptable render pipelines.

  • Graphics: Added: Unity.External.NVIDIA APIs to expose NVIDIA-specific plugin functionality (for controlling DLSS and other features). These APIs are available by enabling the NVIDIA native package on the package manager.

  • HDRP: Added: Speed Tree 8 shader graph as default Speed Tree 8 shader for HDRP.

  • Profiler: Added: New C# custom Categories API.

  • Scripting: Added: APIs for the AsyncReadManager, to enable chaining and canceling of reads.

  • Shadergraph: Added: HLSL file implementing a version of the Unity core LODDitheringTransition function which can be used in a Shader Graph.

  • Shadergraph: Added: Subshadergraphs for SpeedTree 8 shadergraph support: SpeedTree8Wind, SpeedTree8ColorAlpha, SpeedTree8Billboard.

  • Universal: Added: SpeedTree 8 Shader Graph but did not set it as the default when importing or upgrading Speed Tree 8 assets. Because URP doesn't yet support per-material culling, this Shader Graph does not yet behave in the same way as the existing handwritten SpeedTree 8 shader for URP.

  • Universal: Added: Support for light layers, which uses Rendering Layer Masks to make Lights in your Scene only light up specific Meshes.

  • XR: Removed: Windows XR SDK Plug-in has been removed from Unity. Microsoft has transitioned support of Windows MR devices to OpenXR in Unity 2021, and recommends using Unity's OpenXR plugin.

Changes

  • Editor: Updated Collaborate package to allow users to migrate to Plastic.

  • Graphics: Improved load asset time for probe volumes.

  • Graphics: Skinned Mesh Renderer GPU skinning job markers are now grouped together in captures, rather than all appearing in the root of the capture, making it easier to navigate.

  • Graphics: The RTHandleSystem no longer requires a specific number of sample for MSAA textures. Number of samples can be chosen independently for all textures.

  • HDRP: Changed default sidedness to double, when a mesh with a mix of single and double-sided materials is added to the ray tracing acceleration structure. (1323451)
    This has already been backported to older releases and will not be mentioned in final notes.

  • HDRP: Changed ray tracing acceleration structure build, so that only meshes with HDRP materials are included. (1322365)
    This has already been backported to older releases and will not be mentioned in final notes.

  • HDRP: Default black texture XR is now opaque (alpha = 1).

  • HDRP: Disabled TAA sharpening on alpha channel.

  • HDRP: Enforced more consistent shading normal computation for path tracing, so that impossible shading/geometric normal combinations are avoided. (1323455)

  • License: Disabled package entitlement feature.

  • Package: Made Recorder 3.0.0-pre.1 a Release Candidate.

  • Universal: Enabled subsurface scattering with GI on handwritten Universal ST8 shader.

Fixes

  • 2D: Fixed extrusion of CompositeCollider2D when an offset distance has been set. (1328999)

  • 2D: Fixed Sorting Layer and Order not being updated when Sorting Layer changes with the Tag Manager is undone or redone. (1330977)
    First seen in 2021.2.0a13.

  • 2D: Fixed Sprite Editor Window not updaing when selection change was done when it is not in focus. (1327065)
    First seen in 2021.2.0a5.

  • 2D: Fixed Sprite Editor Window shows up blank when Unity is relaunched in certain occasion. (1330622)
    First seen in 2021.2.0a13.

  • 2D: Fixed Sprite Editor Window to reseting correctly after applying in certain occasion. (1322204)

  • 2D: Fixed TextureImporter logging inconsistgent asset import when using SpriteDataAccessor APIs. (1331206)

  • AI: Fixed crash happening occasionally when computing the NavMesh. (1332341)
    This has already been backported to older releases and will not be mentioned in final notes.

  • AI: Fixed issue where the NavMeshModifierBox did not override the area type with existing higher index. (1078153)

  • Android: Fixed crash during Application.Quit(). (1315010)

  • Android: Fixed crash during shutdown on Adreno devices when using Vulkan. (1330396)

  • Animation: Fixed an issue when trying to record elements from array where the index elements were 2 or 4. (1242410)

  • Animation: Fixed an issue where setting the time of a playable manually would not fire events. (1324763)

  • Animation: Fixed BlendTree graph where nodes switch positon when play is pressed. (1306710)

  • Asset Import: Changing player settings Graphics APIs while editor is in Android platform no longer reimports all textures, video clips or fonts. (1329621)

  • Asset Import: Fixed infinite asset import loop during InitializeOnLoad when Editor script uses CreateAsset and importParameters change during import. (1323499)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Fixed an issue where unsaved changes could be lost when renaming/moving an asset. (1329404)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Audio: Activate default audio output when connecting a DSPGraph output job. (1329062)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed an issue in macOS where popup buttons would show their popup far from the button if the button was near the bottom of the screen. (1323332)

  • Editor: Fixed an issue to set top bit flag of an uint enum with inspector. (1298289)

  • Editor: Fixed an issue to stop changing mouse pointer as resize the window, while editing color. (1326295)
    First seen in 2021.2.0a1.

  • Editor: Fixed an issue where null reference exceptions can be thrown when opening a URP project. (1310784)

  • Editor: Fixed an issue with the Android Extension where null references would be thrown due to some internal events not being secured. (1331729)
    First seen in 2021.2.0a13.

  • Editor: Fixed issue where the Intensity parameter of a Default Light Preset is not applied after creating Directional Light Game object. (1199933)

  • Editor: Fixed items in right click menu doing nothing on non reorderable arrays in scriptable object with custom editors. (1307389)

  • Editor: Fixed repaint issues for modal editor windows upon opening them from the project window context menu. (1313636)

  • Editor: Fixed repaint issues for non-modal windows while a modal window is up. (1323381)

  • Editor: Fixed the issue where old window was not loosing focus after clicking on a mini pop-up of new window and further new window also gets focus. (1219099)

  • Editor: GameView will get mouse delta values when re-docked to the main editor window. (1296690)

  • Editor: Object Selector is no longer empty when opened from a property field. (1332214)
    First seen in 2021.2.0a15.

  • Editor: On macOS, an error dialog will no longer be shown when a key is pressed before a system dialog such as an open or save panel is displayed. (1326302)
    First seen in 2021.2.0a5.

  • Editor: The editor no longer freezes when FixedTimestep setting in the Preferences is set to 0/0. (1326481)
    This has already been backported to older releases and will not be mentioned in final notes.

  • GI: Fixed a sampling issue on GPULM causing hard indirect shadows with non ponctual light sources. (1310621)

  • GI: Fixed black baked reflection probes when using non-progressive baking. (1324246)

  • GI: Fixed fallback to CPU lightmapper when writing LightCookies buffer and using Clear baked Data. (1321887)

  • GI: Fixed memory usage and performance regression when baking light probes. (1324307)

  • GI: Fixed wrong stage names in log messages from GI baker. (1327920)
    First seen in 2021.2.0a8.

  • Graphics: Fixed a situation which could cause the GPU to crash when a Skinned Mesh Renderer is assigned a mesh, which does not match the expected size/stride setup, and that Skinned Mesh Renderer is then used immediately before skinning has had a chance to happen.

  • Graphics: Fixed an issue that caused MSAA to not work correctly in URP on Oculus Quest. (1327973)

  • Graphics: Fixed assertion failing on expression: 'CurrentThread::IsMainThread()' when using threaded rendering in SRP. (1332104)
    First seen in 2021.2.0a15.

  • Graphics: Fixed crash when a compute shader does not compile when using OpenGL. (1324695)

  • Graphics: Fixed Light Probe evaluation in ray tracing shaders resulting in wrong ambient colors. Fixed Light Probe Proxy Volume setup not binding SH2 L2 band uniforms in ray tracing shaders. (1330711)

  • Graphics: Fixed initialization crash on Vulkan Win64 non-NVIDIA machines, introduced by DLSS / NVUnityPlugin. (1333548)
    First seen in 2021.2.0a17.

  • Graphics: Fixed performance regression when changing Mesh vertices or indices. (1326091)

  • Graphics: Fixed renderingLayerMask issue with terrain tree rendering. (1324480)

  • Graphics: Game View Stats Saved by Batching is always 0 when using SRPBatcher. (1329391)

  • Graphics: Validity checks naked pointers to the OpenCL API which may be destroyed before the pointers are deferenced. (1255993)
    This has already been backported to older releases and will not be mentioned in final notes.

  • HDRP: Fixed a NaN generating in Area light code.

  • HDRP: Fixed CustomPassUtils scaling issues when used with RTHandles allocated from a RenderTexture.

  • HDRP: Fixed GBuffer clear option in FrameSettings not working.

  • HDRP: Fixed issue with an assert getting triggered with OnDemand shadows.

  • HDRP: Fixed ResourceReloader that was not call anymore at pipeline construction.

  • HDRP: Fixed undo of some properties on light editor.

  • HDRP: Fixed usage of Panini Projection with floating point HDRP and Post Processing color buffers.

  • IL2CPP: Added an --generic-virtual-method-iterations command line argument to work around some code some "Attempting to call method method for which no ahead of time (AOT) code was generated" errors. (1320295)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Prevented an intermittent crash during script debugging while the debugger is handling exceptions. (1330441)

  • IMGUI: Fixed gradient window turning grey when we hover over. (1329126)
    First seen in 2021.2.0a13.

  • iOS: Fixed crash when performing two Microphone/WebCam permission requests at the same time. (1330126)

  • Linux: Make GUIViews obey the min/max constraints of the window they are in. (1327222)

  • Package Manager: Fixed a bug where the update button for an installed package was not displayed correctly. (1331954)
    First seen in 2021.2.0a8.

  • Package Manager: Fixed an issue where UnityEditor.PackageManager.Client.SearchAll would fail when a scoped registry hosted a package with an invalid name. (1329383)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Particles: Added missing tooltips to + and - buttons. (1332732)

  • Particles: Consider the entire particle volume when using the Trigger module. (1325421)

  • Particles: Fixed Mesh (+) button overlapping in Renderer Material field. (1332484)

  • Particles: Fixed misplaced object selector buttons under Trigger, Collision, and External Force modules. (1331893)

  • Particles: Fixed velocity vertex stream for mesh particles. (1328115)

  • Particles: Run the Trigger Module on newly spawned particles in case they need removing, or a callback firing. (1328141)

  • Physics: Added a check to make sure that an Articulation Body cannot be added together with a Rigidbody or 2D Physics components. (1325257)
    First seen in 2021.2.0a10.

  • Physics: Fixed a crash when adding more than 65534 Colliders to a Rigidbody or an Articulation Body. (1325575)

  • Physics: Fixed Articulation Bodies not changing collision detection mode via Script. (1330429)

  • Physics: Fixed OnTriggerEnter being called after reparenting a Rigidbody. (1323883)

  • Physics: Prevented the ConnectedAnchor to be detected as property modification when AutoConfigureConnectedAnchor is set and ConnectedAnchor gets a generated value than happens to be different than the corresponding ConnectedAnchor value in the prefab. (1308880)

  • Prefabs: Components that are suppressed on a Prefab instance by added components, now reappear when the suppressor is destroyed. (1295687)

  • Profiler: Truncated project name in the profiler broadcast to fit within the message buffer. (1322888)

  • Scene Manager: Improved performance of updates on large arrays. (1272309)

  • Scene Manager: Improved performance regression of ClearUndo. (1327732)
    First seen in 2021.2.0a13.

  • Scripting: Added a diagnostic switch to get detailed timings on domain reload. (1328820)

  • Scripting: Fixed a crash happening when trying to enter an unsupported character (such as an emoji) in a field in a game built with IL2CPP backend. (1314163)

  • Search: Added support to search references using an UnityEngine.Object instance ID, i.e. ref:-2458, -2458 can be a component instance ID. (1331890)

  • Search: Fixed ArgumentException is thrown on opening an invalid search table report. Open report does not work with CSV, only search table saved as JSON reports. (1330501)
    First seen in 2021.2.0a13.

  • Search: Fixed degenerative indexing issue with VFX assets.

  • Search: Fixed search item label and description in compact mode.

  • Search: Fixed search results appear in the Search window, but not in the Project window when searching by type (t:universalrenderer) after creating new assets of that type. (1329480)
    First seen in 2021.2.0.

  • Search: Fixed search view error reporting in status bar when no group is selected.

  • Shadergraph: Fixed a bug when a node was both vertex and fragment exclusive but could still be used causing a shader compiler error. (1316128)

  • Shaders: Shader compilation progress bar now shows total variants correctly. (1201705)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Terrain: Fixed crash caused by setting TreeInstances on Terrain in between the time Terrains are culled and the time Trees are rendered. (1317966)

  • Terrain: Fixed terrain textures turning black in Editor with MicroSplat asset store plugin. (1323870)

  • UI Toolkit: Added importedWithErrors and importedWithWarnings APIs to USS assets and UXML assets to differentiate between a failed import and an import of an empty file. (1320914)

  • UI Toolkit: Ensures the UI Builder no longer populate VisualElementAsset.stylesheetPaths when adding stylesheets. (1299464)

  • UI Toolkit: Fixed ContextMenu and Tooltip event handling for disabled elements. Allowed UIDebugger to select disabled elements and modified Panel.Pick to return them. Allows disabled PropertyField Foldouts to react to clicks by using a new (internal) Clickable.m_AcceptClicksIfDisabled property. (1306245)

  • UI Toolkit: Fixed disabled state not showing properly after hierarchical changes were applied. (1321042)

  • UI Toolkit: Fixed IMGUI clipping under group transforms. (1329681)
    First seen in 2021.2.0a8.

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

  • UI Toolkit: Implemented the missing support in the UI Builder for Rich Text' spacing USS properties.

  • Universal: Fixed Camera Inspector Stack list issues.

  • Universal: Fixed depth of field pass usage on unsupported devices. (1327076)
    First seen in 2021.2.0.

  • Universal Windows Platform: Fixed word suggestion not appearing in the Windows On Screen Keyboard when editing an InputField or TextMeshPro control. (1332468)

  • Video: Fixed audio bitrate value for medium quality in MediaEncoder when channel count is more than 2.

  • Video: Fixed Video Player's 5.1 audio channel layout being incorrect when outputting to Audio Source. (1318983)

  • WebGL: Fixed input coordinates when config.matchWebGLToCanvasSize is false. (1325989)

  • Windows: GetMouseButton(int) is properly reported when clicking in the Game View after clicking on another window or tab when the Player is running. (1326568)

  • Windows: OnMouseDown is correctly reported when clicking from one Game View to another Game View when the Player is running. (1327556)

  • XR: Fixed for slow performance on Quest when terrain includes trees. (1308585)
    First seen in 2021.2.0a4.

  • XR: Fixed MockHMD with single pass instancing on Vulkan does not match D3D11. (1287075)

  • XR: Fixed multiview is enabled when renderer is configured to SPI mode on PC.

Changeset: 96ee4da88f82