Versionshinweise

Known Issues in 2021.2.0a19

  • 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)

  • Asset Import Pipeline: Infinity loop on importing Assets, when building appx package via MRTK build window (1339823)

  • Audio: AudioMixer exposed parameters cause assertions when hidden and prevent the drop-down from functioning (1336173)

  • Build Pipeline: WebGL fails building on Windows 7 (1340260)

  • Cloth: Cloth component assigned to subdivided plane mesh crashes editor (1337649)

  • GI: Fixed an issue where reflection probes must be rebaked twice to update when using the "Generate Lighting" button in the lighting tab. (1334283)
    Fixed in 2021.2.0a20.

  • Global Illumination: Crash while sculpting Terrain and Baking Lightmaps (1266511)

  • Global Illumination: [GI] Lightmap reference is lost when static object is moved (1339841)

  • Input: Mouse events are not always fired when VSync is off (1331894)

  • Linux: Editor crashes at "GfxFramebufferGLES::SetBackBufferColorDepthSurface" or freezes when creating a new shortcut profile (1334874)

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

  • 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)

  • Metal: [iOS 14][Metal] Application stucks on splash screen and 'XPC_ERROR_CONNECTION_INTERRUPTED' error is thrown (1282747)

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

  • Mobile Graphics: [iOS] Player crashing when connecting external Display via USB-C port (1321153)

  • Mono: [Mono Upgrade] [Asset Store Tools] Login fails with SecureChannelFailure error (1338432)

  • Package Manager: My Assets: 401 Response code trying to download a paid asset store package (1335976)

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

  • Profiling: Poor profiler performance when navigating the timeline view and reviewing data with many threads (1339407)

  • Project Browser: Crash on StackWalker::GetCurrentCallstack when opening a folder inside a project and there is '%' symbol in the pathname (1338403)

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

  • Scene Management: Recent Scenes break after upgrading project (1338322)

  • Scene/Game View: Editor crashes when exiting and keeping a new microgame project (1338299)

  • 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)

  • Shaders: Fixed a crash when multiple threads tried to synchronise the same local keyword space with the global keyword space at the same time (1337189)
    First seen in 2021.2.0a16.
    Fixed in 2021.2.0a20.

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

  • uGUI: RectMask2D Softness property has no effect when used on TextMeshPro Text (1331297)

  • 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)

  • WebGL: Local server for WebGL Build&Run broken (1339143)

New 2021.2.0a19 Entries since 2021.2.0a17

Features

  • Android: Added the ability to support windowing concepts on Android. Split screen, pop up and freeform windows.
    Known issues:

    1. Devices may wake up from sleep when in split screen mode.
    2. Chrome OS devices that support tablet mode may not pause apps when they are no longer visible.
    3. Some Android devices may experience delayed resolution updates after resizing a window.
    4. Minimum window size may not be respected properly on all Android devices.
  • Asset Import: Added new Artifact File dependency system in the AssetImportContext.

  • Asset Import: Updated com.unity.formats.alembic to 2.2.0-pre.4.

  • Asset Pipeline: Accelerator authentication support using Genesis.

  • Asset Pipeline: Import Activity Window: Allows inspection of import times, previous asset revisions, list of dependencies, importers used to import an artifact, import duration over time and much more!.

  • Asset Pipeline: Support for importing models and textures in parallel in external processes (off by default, enable in Project Settings -> Editor -> Refresh.

  • Graphics: Added Graphics Buffer Support in VFX Graph.

  • Graphics: Added support of direct link event.

  • License: Introduced licensingIpc Editor CLI.

  • macOS: Added deep linking support.

  • Mobile: Adaptive view distance scaler - A new scaler to change the Camera.main view distance automatically.

  • Mobile: Boost mode - Boost CPU and GPU for short periods of time.

  • Mobile: Cluster info - Request cluster info to have details which and how many cores are available on the device.

  • Mobile: Feature API - Check which Adaptive Performance feature is available on the current platform.

  • Mobile: Profiler Integration - Profile Adaptive Performance easily from the Unity Profiler.

  • Mobile: Scaler profiles - Easily define and change Adaptive Performance Scalers with predefined profiles.

  • Mobile: Startup Boost mode - Enables boost mode during engine startup.

  • Mono: Upgraded to a recent version of Mono (~6.12) which brings many bug fixes from upstream Mono project.

  • Package: Added com.unity.live-capture 1.0.0-pre.400 package.

  • Package: Added com.unity.sequences 1.0.0-pre.5 package.

  • Package Manager: Added new UI support for features in the Package Manager window and added an initial list of features.

  • Package Manager: Complete UI support for feature sets in the Package Manager window:

    • Lock/Unlock mechanism on the packages that are part of a feature set
    • Reset a feature set dependencies to their default versions when the feature set was customized
    • Warn user if a feature set dependencies are already installed with a different version before installing it
    • Display a visual cue on a feature set when the dependencies versions have changed
    • Display the feature set information in the inspector
    • Fix bugs and cosmetic issues
    • Add analytics on feature sets.
  • Package Manager: Show the user's initials instead of the full name on the Account menu in the top bar of the editor.

  • Package Manager: Switched advanced settings and scoped registries management panel in project settings.

  • Profiler: Added of File Access and Asset Loading Profiler modules.

  • Profiler: Added ProfilerModule API for extending the Profiler window with custom modules.

  • Profiler: The connection drop down has been revamped into a tree view that groups player connections int0 three main categories. Local, any player that is running local to the machine, this includes devices connected via cable. Remote any player that is running anywhere else on the network that is reachable. Direct connection, this is for connecting directly via IP address or any player that has automatically connected. There options are further searchable using the new search bar.
    Any connections to players which exist from before this feature will still appear though they will appear under the category of "Connection Without Id".
    Further to this there no exists an option that can be used to supply a custom connection name for the profiler which will make it easier for the user to find their desired connection. This is set through the Preferences->Anaylsis option or via the command line "-connection-id" when launching a player from the command line.

  • Search: Added new extended search picker workflow and API.

  • Terrain: Terrain Tools package 4.0.0-pre.2 added to pre-release set.

  • UI: Added settings for enabling/disabling extended Dynamic Hints.

  • UI Toolkit: Added contextual action to export an element from the builder hierarchy to a uxml file (UI Builder).

  • UI Toolkit: Added contextual action to unpack a template completely in UI Builder.

  • UI Toolkit: Added support for negative transform scaling on x and y axes, enabling mirroring to be performed. When crossing zero, the geometry will be regenerated to flip the winding.

  • UI Toolkit: Added the DynamicColor usage hint that allows border/background/text color to change dynamically without having to regenerate the geometry.

  • UI Toolkit: Added transform-origin, rotate, scale and translate to the supported properties by UI Toolkit.

  • UI Toolkit: Attribute overrides can be added, edited and removed in a template instance using UI Builder.

  • UI Toolkit: ListView now supports dynamic item height as a virtualization method.

  • WebGL: Added option to create release builds with embedded function symbols for improved profiling and error stack traces.

  • WebGL: Enabled ETC/ETC2/ASTC/BC4/BC5/BC6/BC7 compressed texture formats for WebGL in editor, build and runtime.

Improvements

  • 2D: 2D: Added folder support for SpriteAtlas V2.

  • 2D: Potentially improves performance when importing large number of textures.

  • 2D: Updated icons for Tile Palette Rotate and Flip tools.

  • Android: Added property PlayerSettings.Android.optimizedFramePacing API. (1329232)

  • Android: Big part of Android Build Pipeline is now incremental, the sequential builds with zero changes are much faster now. That also means builds are no longer created from scratch, but instead we update the files which dependencies have changed. A special care needs to be taken when IPostGenerateGradleAndroidProject callback is used, since it might be operating on files which were modified by IPostGenerateGradleAndroidProject from previous build.

  • Android: If a hardware keyboard is available, we now use it within our Unity UI systems, instead of always bringing up a virtual, on-screen keyboard.

  • Android: Unity gradle projects will have a new entry in gradle.properties, unityTemplateVersion. This property will be bumped whenever Unity gradle template files changes. That way if you build on top of the old folder and unityTemplateVersion is different, Unity will throw an error, saying that you need to update your gradle files or build to an empty folder.

  • Android: When generating manifest files, there are new files in Library\Bee\artifacts\Android\Manifest, LibraryManifestDiag.txt, LauncherManifestDiag.txt. They'll contain information about why a specific permission is added to manifest.

  • Asset Import: Documented MonoImporter class.

  • Asset Pipeline: Added warnings and an automatic fix button where main object names are found not to match the corresponding filename.

  • Asset Pipeline: Optimized UnityEngine.Hash128.ToString method.

  • Bug Reporter: Modified the Crash Handler window so that it now contains a stack trace, a button to open the crash log folder, and a button to restart the editor.

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

  • Editor: Console window now has a context menu option to use monospace font. (1276112)

  • Editor: Frame Debugger improvements. Clears display color/depth/stencil values. Compute shader dispatches display shader name, keywords and thread group size. Indirect draws display shader & property information. Mesh preview is no longer too dark on HDRP. SRP Batcher draws display names of meshes they render.

  • Editor: Frame Selected' now ignores audio source and reverb zone components.

  • GI: Hide "Show Inactive Objects" and "Isolate Selection" checkboxes on the Static Emissives tabs of the Light Explorer. These options were redundant and didn't work on said tab, since the tab shows materials, which aren't scene objects, unlike the other tabs in the window. (1331750)

  • GI: Removed the logging of each Enlighten HLRT thread id, it spams too much on high core count systems.

  • Graphics: Added "2D Lights" tab to the Light Explorer window.

  • Graphics: Making sure the render pipeline asset under graphic settings needs to be changed.

  • Graphics: Mesh and SkinnedMeshRenderer geometry data can now be accessed by compute shaders. See Mesh.GetVertexBuffer, SkinnedMeshRenderer.GetVertexBuffer etc.

  • Graphics: Render sorting code multi-threaded to speed up wall clock time.

  • Graphics: Renderer component can have custom world space or local space bounds now, via .bounds and .localBounds setter APIs.

  • Graphics: Support for async readback when using OpenGL ES 3.0 or newer and GL core.

  • iOS: Ignore plugins with wrong CPU type when creating xcode project, e.g. when building for run on device, libraries having CPU type "x64" (i.e. simulator libraries) will be ignored.

  • Mobile: Android Patch/Patch & Run is now less constraint and works for all types of changes (prior, this was part of Script Only Build which is now automatic).

  • Package: Updated Addressables to 1.18.2 and SBP to 1.18.0.

  • Package: Updated Addressables to 1.18.4.

  • Prefabs: Warning was added to the PrefabAssetImporter editor if there are SerializeReference missing types within the Prefab. Also applying modifications from instance was disabled in case Prefab asset contains missing types. Editing the Prefab asset in isolation will now preserve MissingType information.

  • Profiler: Improved Memory Profiler module UI to show more clearly how the high level memory stats contribute towards the total memory usage.

  • Scene/Game View: Extending PlaceObject method to support SceneView grids and 2D.

  • Scene/Game View: Fresh icons for Scene View toolbars.

  • Scene/Game View: Improved API documentation for Overlays feature, including multiple new code examples.

  • Scene/Game View: Improved UI when working within an EditorToolContext.

  • Scripting: ILPostProcessing arguments can include comma and other valid characters. (1327870)

  • Serialization: Objects referenced from SerializeReference fields now have stable ids, which reduces risk of conflicts when multiple users collaborate on a scene file. This also improves support for undo and prefabs, especially when SerializeReference is used inside arrays and lists. There is a new format for references, with backward compatibility support for older assets.

  • Serialization: SerializeReference now allow more granular handling of missing types. SerializeReference instances for which the type is missing will be replaced by null. Other instances will be editable and if fields who were previously referring to the missing type are still null the missing type will be preserved.

  • Shaders: Shader import artifacts are now cached, improving revert/zero change reimports and imports using cache server.

  • UI: Added a visual around the Graphic object if the raycast padding is set.

  • UI: Icon updates for Terrain's tool selection.

  • UI: If a tooltip is being displayed, hovering another ui control that can display a tooltip makes the new tooltip appear immediately. Previously, the new tooltip was displayed after a delay.

  • UI Toolkit: Allowed usage hints to be changed on a VisualElement without having to remove it from the hierarchy allowing styling and layout to be preserved.

  • UI Toolkit: Reduced draw sprite allocations.

  • XR: Updated OpenXR Package to 1.2.0.

API Changes

  • 2D: Added: Support for default sprite mask material in URP and public api method to retrieve the default 2d mask material.

  • Asset Bundles: Added: New API DownloadHandlerAssetBundle.autoLoadAssetBundle for loading AssetBundles asynchronously from DownloadHandlerAssetBundle.

  • Asset Import: Added: New public methods MonoImporter.SetIcon/GetIcon and PluginImporter.SetIcon/GetIcon.

  • Asset Pipeline: Added: AssetDatabase.SaveAssetIfDirty() to save a specific asset, rather than making a call to AssetDatabase.SaveAssets().

  • Build Pipeline: Added: Callback function BuildPlayerProcessor.PrepareForBuild. This callback can be implemented by users who wish to produce artifacts before the build starts, or to add StreamingAssets to a build without first putting them in the project assets folder.

  • Editor: Added: Callback to run validation step on materials using a ShaderGUI: `ValidateMaterial(Material).

  • Editor: Added: Introduced Control modifier key to ShortcutManager.

  • Editor: Added: Make DraganDrop API to allow user to cusmize drop in legacy window (ProjectBrowser, hierarchy, sceneview).

  • Editor: Changed: Decorated EditorGUIUtility.GetIconForObject/SetIconForObject obj parameter with [NotNull].

  • Editor: Changed: PlayerSettings BuildTargetGroup dependent properties now receive NamedBuildTarget in the API.

  • Editor: Changed: Visibility of EditorGUIUtility.GetIconForObject/SetIconForObject from internal to public.

  • Editor: Obsoleted: Obsoleted internal method MonoImporter.CopyMonoScriptIconToImporters with [Obsolete] and a WarningMessage when called.

  • GI: Added: Experimental.Lightmapping.SetLightDirty was added to make sure Light cookie updates can be communicated from SRP to native side. (1336729)
    First seen in 2021.2.0.

  • Graphics: Added: A new API for compiling shaders from editor code and obtaining reflection info was added to ShaderData.Pass.

  • Graphics: Added: Added Fallback Material to DrawSettings.

  • Graphics: Added: DefaultFormat is extended with the new DepthStencil and Shadow values. You can use SystemInfo.GetGraphicsFormat with these new values to get the default GraphicsFormat for a DepthStencil or Shadow RenderTexture on a platform.

  • Graphics: Added: Introduce the RendererList API.

  • Graphics: Added: New API to detect when Unity renders with a different type of Render Pipeline : RenderPipelineManager.activeRenderPipelineTypeChanged.

  • Graphics: Added: New Depth/Stencil formats to GraphicsFormat: D16_UNorm, D24_UNorm, D24_UNorm_S8_UInt, D32_SFloat, D32_SFloat_S8_UInt.

  • Graphics: Added: New utility function GraphicsFormatUtility.GetDepthStencilFormat. This function lets you easily select the right format on each platform for a certain amount of depth and/or stencil bits.

  • Graphics: Added: RenderTexture.depthStencilFormat and RenderTextureDescriptor.depthStencilFormat properties. You can now set the exact Depth/Stencil buffer format on a RenderTexture using the depthStencilFormat property. Before, each platform backend would decide what format is used without any control or visibility. The existing APIs that take a number of depth bits will still select the same format as before on each backend. When upgrading RenderTexture assets from an older project, all Depth/Stencil buffers that had more than 16bits will be converted to D24_UNorm_S8_UInt. On high end platforms, this could result in 24bits for depth instead of 32bits resulting in visual artifacts. You need to change the Depth/Stencil format on the RenderTexture asset if that is the case.

  • Graphics: Changed: VFX.VFXManager.PrepareCamera and VFX.VFXManager.ProcessCameraCommand now can take an optional parameter for camera XR settings.

  • Linux: Added: LinuxServer value added to RuntimePlatform enum.

  • macOS: Added: OSXServer value added to RuntimePlatform enum.

  • Physics: Added: ForceMode argument to ArticulationBody.Add force and related functions.

  • Prefabs: Added: New API for source prefab apply/revert context menu hook on a property field.

  • Prefabs: Added: New API to define a C# scoped region in which prior to every inspector/editor imgui property being drawn a callback can be called with the associated Rect and SerializedProperty.

  • Profiler: Added: API to create GPU sampling ProfilerMarker.

  • Scripting: Added: Component.GetComponentInParent(Type t, bool includeInactive) method to match GameObject. (1331778)

  • Serialization: Added: Expand SerializationUtility class to allow checking for missing type instances and removing them from a SerializeReference Host.

  • Serialization: Added: New SerializationUtility class for access to Managed Reference Ids.

  • Serialization: Added: Support "get" on SerializedProperty.managedReferenceValue.

  • Services: Changed: On some platforms we strip out the Analytics modules completely. so any user code that references anything from Analytics will not compile on these platforms. this PR is to update the documentation informing users of the need to #ifdef this code out for this situation. (1333730)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Shaders: Added: CommandBuffer.EnableKeyword,CommandBuffer.DisableKeyword can now be used to enable a local shader keyword.

  • Shaders: Added: LocalKeyword.type can now be used to understand why the local shader keyword was added to the local keyword space of a shader or compute shader.

  • Shaders: Added: Material.SetKeyword, ComputeShader.SetKeyword, Shader.SetKeyword and CommandBuffer.SetKeyword can now be used to set the shader keyword state directly.

  • Shaders: Added: UnityEngine.Rendering.ShaderKeywordType Plugin is a new type for keywords registered by shader compiler plugins.

  • UI Toolkit: Added: Animated drag and drop support to ListView. Use reorderMode property.

  • UI Toolkit: Added: DestroyItem callback to ListView to have a counterpart for makeItem.

  • UI Toolkit: Added: Display options to ListView: showAddRemoveFooter, showFoldoutHeader, headerTitle.

  • UI Toolkit: Added: New public UI Toolkit APIs:

    • Dropdownfield.choices
    • BasePopupField.choices
    • MaskField.choices
    • MaskField.choicesMasks.
  • UI Toolkit: Added: VirtualizationMethod property to collection views to allow to change between fixed height and dynamic height virtualization.

  • UI Toolkit: Changed: ListView's itemHeight is now a float and was renamed to fixedItemHeight to enforce the fact that it is only used with FixedHeight virtualization method.

  • UI Toolkit: Changed: ListView's Refresh() was split into RefreshItems() which simply rebinds reused items and Rebuild() which recreates all items from scratch.

  • UI Toolkit: Obsoleted: ListView's onItemChosen and onSelectionChanged are now obsolete.

  • Windows: Added: WindowsServer value added to RuntimePlatform enum.

  • XR: Added: New API to the XRMeshSubsystem which allows a transform to be associated with each mesh. This provides a potential optimization for plugins that include a transform with each mesh, allowing them to avoid transforming each vertex into session-space.

Changes

  • AI: Updated component-based workflow notice in the Navigation window.

  • Android: Changed the logic how apk checks if obb is compatible, both apk and obb will have unity_obb_guid file inside, if the contents match between apk and obb, then obb is treated as compatible.

  • Android: Overwrite comment in gradle files and manifest files '// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN' was removed, please use templates if you want your changes to persist.

  • Android: Putting gradle resources in Assets/Plugins/Android/[res, assets] is no longer supported, you either need to use AAR, Android Library plugins or move those files to Streaming Assets.

  • Android: When Exporting Project, symbols zip package no longer be created, since it was always missing libil2cpp.so symbols, after you build your project manually, please zip unityLibrary/symbols package if you wish to upload it to Google Play.

  • Animation: Updated Animation Rigging package to version 1.1.0.

  • Graphics: D32_SFloat_S8_Uint and S8_Uint have been renamed to D32_SFloat_S8_UInt and S8_UInt in IUnityRenderingExtensions.h Native plugins that use these formats will break and need to use the new names.

  • Graphics: New projects that use the 3D project template now use 1920x1080 as the default resolution for Standalone build target.

  • Graphics: New projects that use the 3D project template use ASTC texture compression for Android build target.

  • Graphics: New projects that use the 3D project template use DXT5nm-style normal maps for Android, iOS, tvOS build targets.

  • Graphics: New projects that use the 3D project template use Normal quality lightmaps (RGBM-encoded) for Android, iOS, tvOS build target.

  • Graphics: Restricted DXT/BCn texture compression to textures with multiple-of-four width and height, in line with what is actually uploaded to GPU (needs uncompressed when uploading non-multiple-of-four textures) and with how the Texture Importer operates (also requires multiple-of-four dimensions for compression).

  • Graphics: Restricted NPOT (Non-Power-of-Two size) textures to a single mip level if the device does not fully support NPOT (in practice this affects WebGL 1 and some other OpenGLES 2.0-based devices).

  • Mobile: Changed minimum iOS/tvOS version to 12.

  • Package: Added the Localization package as pre-release.

  • Package: Updated com.unity.cinemachine to 2.8.0-pre.1.

  • Package: Updated FBX Exporter package to 4.1.0-pre.2: https://docs.unity3d.com/Packages/com.unity.formats.fbx@4.1/manual/index.html.

  • Package: Version change to 3.1.0 for com.unity.purchasing.

  • Package: Visual Scripting https://github.cds.internal.unity3d.com/unity/com.unity.visualscripting/blob/release/2021.2/1.7.1/Packages/com.unity.visualscripting/CHANGELOG.md.

  • Package Manager: Changed "Import again" button text to "Reimport".

  • Profiler: Changed profiler show threads only when they actually get any sample since profiler gets enabled.

  • Scene/Game View: Default shortcut for "Show Overlay Menu" is now "Space Bar".

  • Scene/Game View: Default shortcut for toggle overlays is now "`".

  • Scene/Game View: Fixed styling issues with Overlays feature.

  • UI Toolkit: Rendering data of VisualElements with an opacity of zero will now be initially generated and will remain up-to-date, allowing opacity to be animated without causing performance drops.

  • XR: The Oculus XR Plugin package has been updated to 1.9.1.

Fixes

  • 2D: Fixed 2D Animation manual documentation.

  • 2D: Fixed 2D Animation package description.

  • 2D: Fixed 2D PSDImporter package description.

  • 2D: Fixed crash when disabling Sprite Skin when multithreaded rendering is enabled. (1296355)
    This has already been backported to older releases and will not be mentioned in final notes.

  • 2D: Fixed issue with setting a Spritesheet with padding between Sprites on a Tile Palette having a positional offset when there should not be one.

  • 2D: Fixed mouse position calculation after SceneView overlay changes.

  • 2D: Fixed MouseDrag including previous mouse positions from initial drag.

  • 2D: Fixed MouseDrag not including final mouse position after drag.

  • 2D: Fixed Unity hang when importing certain PSD files. (1312835)
    This has already been backported to older releases and will not be mentioned in final notes.

  • 2D: Prevent instantiation of GameObjects from Tiles directly onto a prefab. (1334466)
    First seen in 2021.2.0.

  • AI: Fixed NavMeshObstacle inspector when viewed in non-wide mode. (1330842)

  • AI: Selecting the Navigation Window causes the Editor to Crash. (1330235)

  • Android: Android: Fix lightmap quality warning text in PlayerSettings. (1337631)

  • Android: Bump Android Logcat package version to 1.2.2.

  • Android: Fixed Build&Run when apk name contains duoble quote. (1323395)

  • Android: Fixed compatibility with OpenGL ES shaders in asset bundles built with Unity 2018.x or older. (1329702)

  • Android: Fixed compositor error log when using linear rendering on some MediaTek/PowerVR SoCs. (1330183)

  • Android: Fixed screen safe area values at startup. (1327752)

  • Android: Fixed shaders with bitfield operations compilation errors on Adreno3XX GPUs.

  • Android: Fixed Time.deltaTime on Android after pause/resume. (1328545)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Animation: Added checks to prevent and capture crash for the GetRootBlendTreeChildWeights function. (1282475)

  • Animation: Fixed crash upon calling the MonoManager::TypeToScriptingClass(Unity::Type) method on a type that has been removed. The solution is to check if the type is valid first with type->HasValidRuntimeTypeIndex(). (1319992)

  • Animation: Fixed nan appearing in AABB when root motion is enabled in a StateMachineBehaviour by initializing MotionXReference structure upon allocation. (1279206)

  • Asset Import: Fixed issue where textures can't be extracted when the FBX file is located in a writeable package. (1329339)

  • Asset Import: ModelImporter now only renames sibling nodes with duplicate names. (1233702)

  • Asset Pipeline: Fixed an issue that could cause assets with dependencies to be imported out-of-order. (1331373)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Sanitized search paths passed to FindAssets. (1334620)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Audio: (iOS/Android) Encoding AudioClips to MP3 failed due to a missing library. (1337014)
    First seen in 2021.2.0.

  • Audio: Added mixer groups or snapshots would trigger a "generated inconsistent result" asset import warning in the console. (1319518)

  • Audio: Fixed editor crash when undoing after reordering snapshots in the audio mixer.
    Fixed exception when deleting snapshots. (1324578)

  • Bug Reporter: Improved failing filename error message to make it reflect the source of the problem better. (1298484)

  • Build Pipeline: Fixed Visual Studio project generation for Windows on Mac. (1333652)
    First seen in 2021.2.0a16.

  • Core: Fixed a bug that caused incremental garbage collection to sometimes fail to use all of the available spare time before vsync. (1329186)

  • Core: Kernel: Fixed Loading.PreloadManager crashes. (1320358)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Documentation: Fixed incorrect documentation for SaveCurrentModifiedScenesIfUserWantsTo. (1170364)

  • Documentation: Fixed missing function signatures from RayTracingAccelerationStructure.AddInstance C# API in 2021.2 documentation.

  • DX12: Fixed screen flickering when changing from a lower resolution to screen resolution. (1334646)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Added tooltips to the buttons of the Simulator view Control Bar. (1288711)

  • Editor: Default PropertyDrawer.OnGUI no longer renders multiple overlapping labels. (1335958)

  • Editor: Displayed a warning when the min and max values are equal for the Slider. (1328583)

  • Editor: Ensure we properly save the TreeViewState in SettingsWindow so currently selected settings page is restore on domain reload. (1334057)
    First seen in 2021.2.0a15.

  • Editor: Fixed a memory leak while using SerializedObjects in the AssetImporter inspectors. (1232758)

  • Editor: Fixed an issue to avoid typing or pasting unlimited characters in Project and Console search fields. (1331001)

  • Editor: Fixed an issue to avoid warning log when selected sub-asset with an empty name. (1333540)

  • Editor: Fixed an issue where an empty column is expanded when detaching/attaching UISystemPreviewWindow in the Profiler. (1241234)

  • Editor: Fixed an issue where Default Text preset is not applied when creating a new Text object. (1328458)

  • Editor: Fixed an issue where the Mac editor could crash while running tests under sudo. (1331434)

  • Editor: Fixed Application.platform not updating when changing devices in the Device Simulator. (1325786)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed auxiliary windows (such as the prefab overrides window) popping in the wrong position. (1331766)
    First seen in 2021.2.0a16.

  • Editor: Fixed cursor still visible when Cursor.visible is set to false while the GameView is not focused. (1325626)
    First seen in 2021.2.0a11.

  • Editor: Fixed exception is thrown when right clicking on an object field without a valid serialized property. (1334268)
    First seen in 2021.2.0a16.

  • Editor: Fixed floating windowing jumping desktop spaces when using cmd + tab to refocus the editor on mac. (1298279)

  • Editor: Fixed infinite layout error loop when Editor UI is broken. (1327876)

  • Editor: Fixed Profile Analyzer - Mac keyboard commands not updating correct chart. (1327944)

  • Editor: Fixed styling of the sorting column in SceneTemplate so the sorting direction arrow is closer to the column name. (1329030)
    First seen in 2021.2.0a8.

  • Editor: Fixed the Device Simulator ignoring the Android Player setting Render outside safe area. (1322862)

  • Editor: Fixed the issue with the Blue highlight being misaligned for the Cooking options dropdown in Mesh Collider. (1276638)

  • Editor: Fixed tooltips being misaligned. (1325676)

  • Editor: Fixed Unity does not load the last scene after a crash. (1308699)

  • Editor: No more exception thrown in the console after any file operation on MacOs and Linux. (1336125)
    First seen in 2021.2.0.

  • Editor: No more exception thrown in the console when inputting unsupported text in the Project Browser search bar. (1336292)

  • Editor: Prevent automatic apply of changes when duplicate or delete is used. (1321215)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Resolved an issue where large thumbnail object fields would not scale their texture correctly. (1330963)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: The status bar progress no longer flickers while showing multiple progresses. (1332713)
    First seen in 2021.2.0.

  • Editor: Updated the iOS resolution presets of the Aspect Ratio dropdown list in the Game View window.
    iOS resolution presets that were removed:

    • iPhone 4/4S Portrait
    • iPhone 4/4S Landscape
    • iPad 2/Mini Portrait
    • iPad 2/Mini Landscape
      iOS resolution presets that were added:
    • iPhone 12 mini 2340x1080 Portrait
    • iPhone 12 mini 2340x1080 Landscape
    • iPhone 12/12 Pro 2532x1170 Portrait
    • iPhone 12/12 Pro 2532x1170 Landscape
    • iPhone 12 Pro Max 2778x1284 Portrait
    • iPhone 12 Pro Max 2778x1284 Landscape
    • iPad (7th-8th gen) 2160x1620 Portrait
    • iPad (7th-8th gen) 2160x1620 Landscape
    • iPad Air (4th gen) 2360x1640 Portrait
    • iPad Air (4th gen) 2360x1640 Landscape
    • iPad Pro 11-inch 2388x1668 Portrait
    • iPad Pro 11-inch 2388x1668 Landscape. (1321829)
  • Editor: When running in Device Simulator, Touch.tapCount no longer increases only when taps happen in every frame. (1258166)

  • GI: Fixed lighting data being lost when enter play mode with scene reloading disabled. (1184204)
    This has already been backported to older releases and will not be mentioned in final notes.

  • GI: Fixed rare crash when entering play mode while running a GI lightbake. (1301678)

  • GI: Introduced a full tiled-based baking system to the GPULM to reduce memory pressure.
    Some other improvements on memory consumption and baking speed on the GPU light mapper when the user is not activating some baking features.
    Reduced the memory consumption of probe baking using the GPULM (4Bytes per probe).
    Better estimation of the GPULM memory consumption even when tiling is off, making it less likely to fallback to CPULM.

  • GI: Make GI react to baked cookie modifications in Universal render pipeline. (1336729)
    First seen in 2021.2.0.

  • GI: Make GPU lightmapper detect Intel IRIS Xe MAX GPU with 4GB memory. (1331794)

  • GI: PPtr cast failed when dereferencing! Casting from ScriptMapper to Texture!' when baking a second Reflection Probe in the Scene. (1317164)

  • GI: Realtime GI does not update. (1337305)
    First seen in 2021.2.0a14.

  • GI: Restore min bounces values to the value entered by the user once max bounces is increased. (1320615)

  • GI: Various Scene View modes not displaying lightmap data in Built-in RP. (1337314)
    First seen in 2021.2.0a14.

  • GI: Various Scene View modes not displaying lightmap data in HDRP. (1332124)
    First seen in 2021.2.0a14.

  • GI: Various Scene View modes not displaying lightmap data in URP. (1337327)
    First seen in 2021.2.0a14.

  • Graphics: Fixed a crash that would occur when trying to create a VT GPU cache larger than the available GPU memory. (1293468)

  • Graphics: Fixed bug where ComputeShader.IsSupported for OpenGL (ES) would only return false on the first call for kernel that did not compiler at runtime. (1334034)

  • Graphics: Fixed crash when executing CommandBuffer.DrawProcedural and some other functions that refer to an already deleted ComputeBuffer or GraphicsBuffer. (1323447)

  • Graphics: Fixed mip streaming for static batched meshes and use of CombineMesh API. (1329555)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed occasional error message if getting trail positions from script. (1335899)

  • Graphics: Fixed unstable async readback test. (1288678)

  • Graphics: Improved Line/TrailRenderer quality when points are close together. (1322317)

  • Graphics: Mesh.SetSubMeshes with NativeArray no longer ignores MeshUpdateFlags argument. (1330299)

  • Graphics: On Metal, enforce depth clearing when "Don't care" load action is used, to avoid potential subtle issues later on. (1330613)

  • Graphics: Partially fix limitation of sending only one event per frame : the direct link supports multiple event sent within the same frame.

  • Graphics: Pause VFX when frame debugger is enabled. (1195088)

  • Graphics: When creating PVRTC texture which is not POT and square throw an exception, as it is not supported and might result in crashes later on. (1329461)

  • IMGUI: Fixed Gridview image of Texture not updating in ProjectBrowser when color space is updated in PlayerSettings. (1198127)

  • IMGUI: Fixed Project Window going blank when the objects are dragged between folders in Favourites. (1206532)

  • iOS: Disabled audio output on pre-iOS14 simulators, as audio is broken here completely and causes a crash on startup. (1325806)

  • iOS: Stop swallowing input on native UITextField when using UaaL and Bluetooth keyboards. (1332925)

  • iOS: When creating app extension target through PBXProject, now add headers section automatically. (1332249)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Linux: Fixed automated batch mode test from failing due to Unity exiting with error code 133 before all it's threads have shut down. (1303886)

  • Linux: Keep the window that had focus last in focus after a modal dialog closes. (1319180)

  • macOS: Can now change screens using MoveWindowTo API when resolutions largely differ between screens. (1333002)
    First seen in 2021.2.0a16.

  • macOS: Fixed IMGUI mouse position when using the New Input System. (1298110)

  • macOS: Fixed Input.inputString doesn't convert input to the suggestions from IME. (1305843)

  • macOS: Fixed install path regression that resulted in iOS support not being able to be installed. (1337753)

  • macOS: Fixed scene view lagging when the tile palette window was focused. (1316068)

  • Mono: Added a serialized C# 9 Function pointer to a script no longer crashes the editor. (1326082)
    First seen in 2021.2.0.

  • Mono: Assembly.Load now loads distinct assemblies correctly. (1073523)

  • N/A (internal): Fixed native test instability CanLoadMesh. (1330725)

  • Networking: UnityWebRequest: fix raw data access in DownloadHandlerAudioClip and DownloadHandlerTexture. (1330209)

  • Package Manager: Fixed a bug where closing the sample reimport dialog would execute the reimport action anyway. (1335115)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed a bug where reimporting a sample would delete parent folders. (1334082)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed an issue in the Package Manager port selection logic which could sometimes prevent Unity from connecting to it on startup. (1328669)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed editor toolbar :

    • editor Toolbar button icons not aligned to button center
    • missing dropdown icon for light theme
    • account icon should be positioned before the initials. (1336674)
      First seen in 2021.2.0a18.
  • Particles: Added support for copy/paste of entire modules via the module header context menu. (1314490)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Particles: Fixed crash if the Render Pipeline Asset changes, causing GPU instanced mesh particles to no longer be GPU instanced. (1332972)
    First seen in 2021.2.0a2.

  • Particles: Fixed fog in all blend modes of the Standard Unlit shader. (1297332)

  • Physics: Ensure that a Linecast or Raycast against an EdgeCollider2D always returns a correct collision normal when an attached Rigidbody2D is rotated. (1334367)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: Fixed Physics Debugger not showing up in Prefab Mode. (1158611)

  • Prefabs: Fixed prefabs don't visually show their HideFlags.NotEditable state in the Hierarchy window. (1324446)

  • Profiler: Fixed an issue where "Selected: <ProfilerMarkerName>" would appear all over the Editor UI if a CPU Sample was selected in the CPU Profiler module during Domain Reload. (1335130)
    First seen in 2021.2.0a17.

  • Profiler: Fixed profiler not being enabled and producing invalid data on enabling any profiling area with Profiler.SetAreaEnabled API. (1331058)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Profiler: Fixed profiler support of System.Threads restarting in the same frame on the same OS thread. (1329636)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Profiler: Fixed situation when profiler fails to activate on connection. (1334374)
    First seen in 2021.2.0a17.

  • Profiler: Fixed the percentage calculation in the Memory Profiler Module's tool-tips and improved the spacing for better readability. (1337193)
    First seen in 2021.2.0.

  • Profiler: Removed contribution to asset garbage collection frequency from Profiler in the Editor. (1332708)

  • Scene/Game View: Added check before recursion that the gizmo is not already active. (1326407)

  • Scene/Game View: Bugfix for Instability in picking tests failure. (1329183)

  • Scene/Game View: Fixed an issue where entering Play Mode while in 2D mode outputs a warning due to SceneView's rotation being set. (1331298)
    First seen in 2021.2.0a14.

  • Scene/Game View: Scene/Game View: Fixed an exception when loading an Overlay preset with invalid window type. (1337897)

  • Scripting: "Stop Playing and Recompile" mode (Editor Preferences -> Script Changes while Playing) now wait for playmode to be fully disabled before compiling scripts. (1326820)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Added type and method information to exceptions raised by the assembly reference checker. (1307194)

  • Scripting: Build fails when there is a comma in path. (1325976)

  • Scripting: Fixed 'ArgumentException: method arguments are incompatible' exception when trying to invoke UnityEvent on non existent object. (1324289)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fixed an issue causing [RuntimeInitializeOnLoad] methods to fail when placed on methods within nested types. (962800)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fixed crash when generic type derives from abstract MonoBehaviour. (1333819)

  • Scripting: Fixed the error message displayed when drag&dropping a script file that has no matching class onto a game object. (1106237)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Ignore Visual Scripting assemblies when building for mobile devices, so no MouseEvent handler warning is raised.

  • Scripting: Player crashes when assembly name includes apostrophe. (1316133)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Script is not opened when double clicking an error thrown from it inside the Console window. (1200408)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: When an editor-only precompiled assembly reference is ignored by the script compiler because the asmdef referencing it is not editor-only, a warning now appears in the console. (1220959)

  • Search: Added a tree view to list and browse save searches.

  • Search: Fixed prefab subtypes not available in default project index. (1332948)

  • Services: Fixed Cloud Diagnostics native crash reporting on tvOS. (1332243)

  • Services: Updated PLCrashReporter version on iOS and tvOS to 1.8.1. (1317214)

  • Services: We suppress Analytics curl errors to the console but only in the editor. this change allows this same suppression to carry across into the development console (we still log to file). (1318074)

  • Shaders: Added missing PDB data output for DXC DX12 debug shaders for use in external analysis tools. (1333848)

  • Shaders: Fixed DXC validator error on Windows that would result from using '#pragma require WaveMultiPrefix'. (1333695)

  • Shaders: Fixed Editor crashing when adding keyword enums in shader graph. (1334656)
    First seen in 2021.2.0a16.

  • Shaders: Fixed GI debug visualisation modes not working in Editor. (1333441)
    First seen in 2021.2.0a17.

  • Shaders: Fixed material being marked as dirty when enabling a keyword that is already enabled or disabling a keyword that is already disabled. (1333615)
    First seen in 2021.2.0a16.

  • Shaders: Fixed SRP batcher not working on OpenGL and OpenGL ES backends. (1331098)

  • Terrain: Fixed Terrain Tools package discoverability in Package Manager.

  • Tests: Fixed test failure EditorGUI.CanCloseNextWindowDuringOnDestroy on mac and linux platform. (992239)

  • UI: Fixed issue where a canvas under any parent would have its inspector show as a nested Canvas inspector. (1332730)
    First seen in 2021.2.0.

  • UI: Fixed issue where calculation of size was incorrect for cameras that have a view rect set. (1325324)

  • UI: Fixed issue where wrong aspect was used when a explicit aspect is assigned.

  • UI Toolkit: A panel remains responsive to user interactions even if it contains elements with huge dimensions. (1324728)

  • UI Toolkit: An element with mouse capture enabled now receives runtime mouse events even when the mouse position is outside the element. (1328035)

  • UI Toolkit: Fixed an issue that was causing the content of a GroupTransform element to be clipped with the incorrect clipping rect. (1328740)

  • UI Toolkit: Fixed corruption of the stencil buffer caused by misplaced geometry used to pop masks. (1332741)

  • UI Toolkit: Fixed for unsetting min and max size in UI Builder. (1322457)

  • UI Toolkit: Fixed GroupTransform that was triggering asserts when the nested masking fallback was used. (1328734)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI Toolkit: Fixed runtime horizontal ScrollView elements alignment. (1328206)
    First seen in 2021.2.0.

  • UI Toolkit: Fixed styling of runtime ScrollView. (1323488)
    First seen in 2021.2.0a11.

  • UI Toolkit: Fixed System Fonts resizing performance on Windows. (1337191)
    First seen in 2021.2.0a14.

  • UI Toolkit: Fixed the default value used for applying rotation and scaling using the VisualElement.transform interface. Instead of always use the top left corner of the VisualElement, the operation are now centered around the transform-origin value, which is the center of the object by default.

  • UI Toolkit: Fixed Toolbar shrinking when there is another element filling the parent container. (1330415)

  • UI Toolkit: Make sure System Fonts survive domain reload on Windows. (1337197)
    First seen in 2021.2.0a14.

  • UI Toolkit: Template references get deleted when the assets are moved. (1337112)

  • UI Toolkit: This completes the MVP list of improvements to the UI Toolkit Event Debugger.

  • UI Toolkit: Value Change Callbacks for bound fields now happen after the value is applied to the target object. (1321156)

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

  • UNET: Fixed Multiplayer hlapi package is missing a declaration of its dependency on Physics2D. (1324449)

  • Universal Windows Platform: Fixed black square appearing with custom cursors in Executable Only build. (1299579)

  • Video: Audio delay when pausing VideoPlayer. (1316817)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Video: Audio is desynchronized when playing via AudioSource. (1304061)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Video: Audio plays during VideoPlayer.Prepare. (1316819)
    This has already been backported to older releases and will not be mentioned in final notes.

  • WebGL: Fixed incorrect loading progress shown in Player when Brotli build compression is used. (1288367)

  • Windows: Fixed Display.SetParam failing to change window position. (1322446)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Windows: Round Resolution.refreshRate. (1318053)

  • Windows: Updated DPI awareness mode to enable proper scaling of window chrome for Standalone Player. (1309804)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: Fixed an issue where terrain tree shadows would be culled when they are still in view. (1234785)

  • XR: Fixed crash when using XR + URP + MSAA + Optimize buffer discards on Vulkan on Oculus Quest. (1313268)

  • XR: Fixed missing symbols issue on some platforms. (1333794)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: Fixed Vulkan validation errors on Oculus Quest and add support for "Fragment Density Map 2" Vulkan extension. (1332783)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: MTLCommandEncoder is now available at frame submission time for display providers when in XR mode. (1329853)

  • XR: Updated the verified AR Foundation related packages to 4.2.0-pre.5 and 4.2.0-pre.4. Please see the AR Foundation package changelog for details.

  • XR: Updated XR Interaction Toolkit to 1.0.0-pre.4.

Changeset: f81c6ad18371