Unity 2020.1.0 Beta 10

Released: 27. May 2020

Install with Hub Download (Mac) Download (Windows)

Install this version with Unity Hub.

Additional downloads

Select the runtime platforms of your choice from the list below (the desktop runtime is included as standard) or, to install the full complement of runtime platforms, use the download assistant installer above.

Release notes

Known Issues in 2020.1.0b10

  • Animation: Editor crashes with Animator::CreateInternalControllerPlayable when GameObjects are mached (1245074)

  • Animation: [macOS] Inconsistent crash in objc_msgSend/objc_retain when previewing Animations with Animator window open (1242026)

  • Asset Import Pipeline: Unity YAML Upgrading project to 2019.3 Asset Database V2 makes the project crash on startup (1228192)

  • Asset Importers: Crash when importing Elongata package from the Asset Store (1209240)

  • Audio: Editor crashes on changing 'System Sample Rate' when Audio track preview is being played in Timeline window (1232743)

  • Audio: [Windows] Editor uses one CPU Logical Processor at 100% while the game is in Pause Mode (1219619)

  • Collab: Collab re-enables itself after being turned off (1244885)

  • GI: Fixed GI baking in batchmode when using Scriptable Render Pipelines. (1211448)
    Fixed in 2020.1.0b11.

  • GI: Fixed the lightmapper sometimes getting stuck, especially on undo after moving instances or changing resolutions. (1144403)
    Fixed in 2020.1.0b11.

  • Global Illumination: Crash with empty stacktrace when starting bake in the new scene after baking previous scene with GPU PLM (1244384)

  • Global Illumination: [OSX][GPUPLM]OS Kernel Panic crash with 'Thread may have been prematurely finalized' after baking the scene with AMD GPU (1160419)

  • Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)

  • Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)

  • Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)

  • Graphics - General: AsyncGPUReadback.Request never releases unused allocated memory (1234193)

  • Graphics - General: Crash on startup when Shader Variant with Standard ForwardAdd DIRECTIONAL is assigned and SourceAssetDB present in Library (1235969)

  • Graphics - General: Plugging time into a master node on HDRP crashes Unity (1246991)

  • Graphics - General: [Performance Regression] AssetBundleLoadAllAssets - Load_Prefabs_AllAssets is significantly slower than 18.4 (1203512)

  • Graphics - General: [Performance Regression] AssetBundleLoadSingleAssets : LoadAsync_Prefabs_SingleAssets is significantly slower than 18.4 (1203511)

  • Graphics: Crash on PrepareShadowMaps when entering Play Mode (1233829)
    This is a change to a 2020.1.0 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.1.0b11.

  • IAP: Unity purchasing gives error on project upgrade due to failing to find UnityEngine.UI assembly (1193773)

  • IL2CPP: Fix JSON exception when building project with large number of scenes (1240780)
    Fixed in 2020.1.0b11.

  • IL2CPP: Fix a severe performance regression in UnityLinker when building a player for UWP. (1229420)
    This is a change to a 2020.1.0 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.1.0b11.

  • IMGUI: Editor crashes on StageUtility::IsGameObjectRenderedByCameraAndPartOfEditableScene when calling Undo.PerformUndo() method (1242926)

  • Linux: Selection frame drawn in Scene view when a GameObject is selected while Alt and left mouse buttons are pressed (1239227)

  • MacOS: Unity kernel crashes Mac with OpenGL when only Intel Graphics are present (1225380)

  • MacOS: [HDRP][Metal][macOS 10.14] Unity freezes the whole OS or crashes when opening prefab (1219198)

  • MacOS: [macOS] Mac crashes when opening the project with m_APIs under WindowsStandaloneSupport with only integrated Iris GPU (1232673)

  • Mobile: [iOS] Debug .pdb files are added to iOS release builds (1232798)

  • Mono: Crash with various stack traces when exiting Play Mode after recompiling scripts (1238859)

  • Packman: [PackMan] Search results for "My Assets" don't match the package count displayed below and neither do they refresh (1222784)

  • Scripting: Intellisense does not work when External script Editor is changed and set back to Visual Studio 2019 (1249626)

  • Scripting: Entering Playmode with Scene Reload disabled crashes when DestroyImmediate is used in OnDisable (1250550)

  • Scripting: Script importing no longer fails when method is called on integer literal. (1247409)
    This is a change to a 2020.1.0a7 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.1.0b11.

  • Scripting: [SerializeReference] non-serialized Initialized fields lose their values when entering and during play mode. (1193322)

  • Scripting: [SerializedField] fields produce "Field is never assigned to..." warning (1080427)

  • WebGL: Using XElement.Load(string uri) causes an uncaught abort exception when using dlopen() dynamic linking in Emscripten (1192963)

  • Windows: Cannot activate license within a docker container (1193364)

New 2020.1.0b10 Entries since 2020.1.0b9

Fixes

  • 2D: Fixed ObjectOverrides for Tilemap Prefab Instance when comparing with the original Tilemap Prefab saved from a previous editor version (1240640)
    This has already been backported to older releases and will not be mentioned in final notes.

  • 2D: [Windows] Unity crashes when packing big amount of atlases (1219643)

  • Android: Fixed Android Vulkan black screen issue for certain Adreno 630 and 640 drivers (1206635)

  • Android: Fixed artifacts on Adreno when rendering with colorMask 0 with Vulkan (1193006)

  • Android: Fixed freeze on Galaxy S20 when using OpenGL ES GPU skinning with blend shapes (1236183)

  • Animation: Handle null live link nodes. (1228989)

  • Apple TV: !IsDirectoryCreated error is now not thrown when a project is built successfully for tvOS (1225128)

  • Asset Import: Fixed issue in Model importer material remapping section where selecting none twice in the Object Selector locks it. (1243020)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Import: Fixed SpriteAtlas packing issue when texture importers having been badly migrated from old version of Unity and have a compression quality of -1 in their settings. (1222441)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Asset Import results can now have dependencies to script types. If an asset has a dependency to a script type, the asset will now get re-imported if script type serialization format changes. (1216914)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Asset Import results can now have dependencies to script types. If an asset has a dependency to a script type, the asset will now get re-imported if script type serialization format changes. (1215729)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Editor stops repainting and throws exceptions when creating new Scene inside AssetDatabase.StartAssetEditing() (1221325)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Fixed editor freeze when importing meta file which have more than 100 megabytes of user data. (1241933)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Fixed issue with current revision removed in initial script refresh (1236166)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Pipeline: Source Asset reloading improved, so that loaded objects get reloaded, if the associated script is modified (1141360)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Build Pipeline: Fixed the incorrect file header size outputted in the Editor.log after a build (1209767)
    This has already been backported to older releases and will not be mentioned in final notes.

  • DX12: Fixed a crash when using global constant buffers in Ray Tracing Shaders assigned to non consecutive registers in space1. (1247217)
    This is a change to a 2020.1.0b10 change, not seen in any released version, and will not be mentioned in final notes.

  • DX12: Fixed Ray Tracing Shaders always crashing in single threaded mode (when using -force-gfx-st command line argument) (1245130)

  • Editor: Fixed an issue where a console error is thrown when holding the control/command key and dragging objects in the hierarchy window. (1222971)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed crash attempting to import Substance file using the old Substance plugin. (1242605)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed editor windows appearing black when showing up along with a modal dialog (1240849)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed imported objects mark with HideInInspector to be hidden in the inspector (1240667)

  • Editor: Fixed inspector element being actively refreshed when nothing is happening. (1223682)

  • Editor: Fixed prefab inspector scrollview jumping around when editing values. (1240841)

  • Editor: Fixed rare unstable asset hash

  • Editor: Fixed selection outline flicker when HDRP temporal anti-aliasing (TAA) is used in the scene view. (1204961)

  • Editor: Fixed Standalone profiler who was throwing an exception in OnGUI because m_VertSplit wasn't properly setup. (1244345)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed the Performance of transform in playmode. (1241857)

  • Editor: Fixed unable to select any option in Simulate Layers Dropdown in Particle effects overlay in the scene view under OSX. (1225489)
    This is a change to a 2020.1.0a26 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Use the higher resolution of an icon for floating dpi values (1226384)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Constant buffers created directly from C# triggering assert message "Metal: constant buffer state is invalid" (1238787)

  • Graphics: Fixed a crash where instancing properties are absent from the MaterialPropertyBlock object sent to DrawMeshInstanced calls. Fixed path-finding bug in which floating point errors would cause agents to take potentially large, spurious detours. (1115627)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed an issue with warnings inside SpeedTreeWind.cginc regarding pow() not working for negative numbers (1243948)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed image layout complaint from vulkan validation layer by making sure we dont have multiple barriers for the same image (1223210)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed loads from RWTexture in OpenGL ES 3.1 compute shader (1224442)

  • Graphics: Fixed memory leak when using -batchmode command line argument and particles, lines or trails. (1224501)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed partial loads from RWTexture when using OpenGL ES, Metal, Vulkan (1227481)

  • Graphics: Fixed RWBuffer<uint> in OpenGL ES 3.1 compute shaders (1237688)

  • Graphics: Fixed ShaderInputNotProduced vulkan validation layer complaint by adding colorwrite properly for the shadow pass (1223211)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed slow down in Mesh API for some projects. (1233944)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed validation error when using SRGB format for UAV (1221278)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: For StreamConnect, do not allow stream creation with Primary stream (1235981)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Implemented frame pacing for Stadia. (1232776)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Incorrect lightmaps when trying to bind multiple texture arrays (1247296)

  • Graphics: Mesh.RecalculateTangents no longer trims UVs to Vector2, if incoming mesh had Vector3 or Vector4 UVs. (1243747)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Shadows flicker when more than one Spot Light is set in hybrid rendering (1190147)

  • Graphics: Show VT issues as errors instead of warnings (1238401)

  • Graphics: Vulkan: Increased internal limitation of 64 descriptors per set to 128, fixes compatibility with some complex shaders (1225246)
    This has already been backported to older releases and will not be mentioned in final notes.

  • iOS: Check for Application.RequestAdvertisingIdentifierAsync too when determining if ads api is used (1242276)
    This has already been backported to older releases and will not be mentioned in final notes.

  • iOS: Deleted LaunchImage folder when doing iOS build. (1240800)
    This is a change to a 2020.2.0a9 change, not seen in any released version, and will not be mentioned in final notes.

  • iOS: Fixed an occasional crash on exit (1238768)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Linux: Fixed scroll mouse events not being parsed in the editor when the mouse cursor lock mode is set to locked. (1219781)

  • macOS: Fixed crash when changing Device to Use setting from Automatic to Intel GPU (1242057)
    This has already been backported to older releases and will not be mentioned in final notes.

  • macOS: Fixed issue where repeatedly spamming the eyedropper button could hang the Editor. (1239843)
    This has already been backported to older releases and will not be mentioned in final notes.

  • macOS: Fixed unreadable text in macOS installer in dark mode (1210046)
    This has already been backported to older releases and will not be mentioned in final notes.

  • macOS: Improved the module installation button in Build Settings. (1219284)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed package script that would recompile every time a project is opened (1213954)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed the blurry dropdown button for preview packages

  • Package Manager: Fixed the issue where Packman UI won't refresh on package.json update (1244855)

  • Particles: Fixed applying a preset in the MinMaxCurve pop-out editor window. (1237306)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Particles: Fixed crash/visual corruption when using GPU Instanced mesh particles. (1230566)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: Fixed a memory leak producing 2D physics collision callbacks when the multithreaded solver option is active. (1237323)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Prefabs: References could be lost if a prefab was edited and saved after a player build. (1238280)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Prefabs: References following an array of a class that only contains a single boolean is now correctly remapped when the prefab is instantiated. (1199466)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Prefabs: Self-reference to variant via property overrride is now correctly mapped to an internal reference (1233462)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Profiler: Fixed chart highlight when selecting a simplified scripting sample in the CPU Profiler Timeline. (1246653)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Profiler: Fixed issue where "Unrecognized block header in profiler data" would occur when building and running multiple times with autoconnect profiler enabled would occur. (1217256)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Profiler: Fixed Timeline view Selection tool-tip being offset when expanding threads so that the thread with the selection goes out of view. (1242260)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fixed a crash from partially serialized delegates (1228198)
    This is a change to a 2020.1.0a2 change, not seen in any released version, and will not be mentioned in final notes.

  • Scripting: Fixed an issue where BurstCompilerService.Log could only be used from the main thread. (1246174)

  • Shaders: Local keyword no longer removed when loaded from player asset bundle. (1232272)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Video: Fixed VideoPlaybackCanPlayAudio playmode test instabilities on standalone OSX (1226388)

  • Virtual Texturing: Fixed GPU procedural VT occasionally showing tile corruption due to incorrect syncing between CPU/GPU threads. (1222483)
    This is a change to a 2020.1.0b1 change, not seen in any released version, and will not be mentioned in final notes.

  • XR: Fixed a crash during shutdown on Android apps using Google's ARCore SDK for Unity. (1197049)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: Fixed automatic upgrading for URP and HDRP projects

  • XR: Fixed Vulkan multiview rendering (1197063)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: Implemented full render pass/render param support for XR SDK providers. (1222873)

API Changes

  • DX12: Added: Added support for constant buffers set with the CommandBuffer.SetGlobalConstantBuffer and Shader.SetGlobalConstantBuffer methods in Ray Tracing Shaders. Fixed and improved all the Ray Tracing related Scripting API documentation.

Changes

  • Graphics: Update embedded graphics packages (srp / vfx / shadergraph) to 8.1.0

  • Scripting: Strong name assembly references only validate if the assemblies is in different folders.

  • XR: Updated Oculus XR Plugin package to 1.3.4.

Improvements

  • Android: Documentation clarified for Application.targetFrameRate behavior on mobile devices.

  • Package Manager: Improved project loading time through caching Unity Package Manager state on disk.

Features

  • Input: The Input System has moved out of preview.

Preview of Final 2020.1.0b10 Release Notes

System Requirements Changes

For running Unity games
  • iOS: minimum version incremented to 10.0 (from 9.0).

Fixes

  • 2D: Sprite Renderers created by dragging and dropping a Sprite or Texture 2D Asset will now have the correct presets. (1210560)

  • 2D: Allowed the Tilemap Renderer in Individual Mode to batch with other Sprite Renderers with matching batching criteria.

  • 2D: Bugfixes and optimization made to 2D Sprite Atlas' static analysis. (1219016)

  • 2D: Colliders now respect Pivot property of Edge Sprites in Sprite Shape.

  • 2D: Fix rendering of Tilemap Sprites using SpriteAtlas when Reload Scene is disabled for Enter Play Mode settings. (1223809)

  • 2D: Fixed a memory leak from the Sprite Shape Controller component when zero control points are used.

  • 2D: Fixed Automatic Slicing in the Sprite Editor using Smart Mode when Sprite Rects overlap. (1193552, 1193555)

  • 2D: Fixed bone name misalignment under the Weight Slider Inspector window when a name contains more than 26 letters. (1200873)

  • 2D: Fixed bones not chaining correctly when a bone is split in certain cases.

  • 2D: Fixed broken documentation links in Inspector window for com.unity.2d.animation package.

  • 2D: Fixed calculation of Tilemap origin and Tilemap Renderer bounds when instantiating a Tilemap Prefab. (1218373)

  • 2D: Fixed crash in Tilemap Renderer when used with the Universal Render Pipeline(URP), and Shaders are compiled after the URP is updated.

  • 2D: Fixed crash on Tilemap::SetEditorPreviewTileAsset when trying to paint on an invalid Tilemap component. (1220442)

  • 2D: Fixed crash when Tile Palette Prefab is edited in both the Tile Palette window and in the Prefab view and saved in the Prefab view. Tile Palette window is now updated with Prefab view changes. (1227301)

  • 2D: Fixed crash while installing Animation Samples on certain machines. (1185787)

  • 2D: Fixed errors in the Asset path of Tiles when generating more than one Tile in the Tile Palette. (1216101)

  • 2D: Fixed exception after reverting from creating new vertices and edges in Skinning Module.

  • 2D: Fixed incorrect lighting on normal-mapped Sprite Renderers that are horizontally and/or vertically flipped. (1186769)

  • 2D: Fixed instantiation of Tile GameObjects when entering Play Mode when Reload Scene is disabled in the Enter Play Mode Settings. (1209819)

  • 2D: Fixed issue when a Sprite Asset used by the Sprite Skin component in the Scene was being deleted.

  • 2D: Fixed issues with the Tilemap Collider 2D Collider shape generation for Animated Tiles while the Tile is animated.

  • 2D: Fixed OnDrawGizmos to get/release Render Textures through the CommandBuffer.

  • 2D: Fixed PSD Importer broken documentation links in Inspector window.

  • 2D: Fixed RaycastResult.sortingLayer always returns the default Layer when Raycast hits a GameObject with a TilemapRenderer2D. (1198442)

  • 2D: Fixed SpriteSkin always deform even when culled by adding alwaysUpdate option to SpriteSkin to determine if SpriteSkin execution should occur even when the associated SpriteRenderer is culled.

  • 2D: Fixed the clipping on the Outline Tolerance value of the Sprite Outline editor window in the Sprite Editor. (1186228)

  • 2D: Fixed the instantiation of GameObjects from Tiles when Tilemap.CompressBounds is called. (1194166)

  • 2D: Fixed the issue of the zoom slider not appearing in the Sprite Editor window when the window is maximized. (1205280)

  • 2D: Fixed the issue where Sprite Masks didn't work on Sprite Renderers assigned with an instancing Material. (1144462)

  • 2D: Fixed the issue where a part of a Sprite is cut off when Mesh Type is set to Tight. (1175447)

  • 2D: Fixed the issue where bones could have an empty name. (1200861)

  • 2D: Fixed the issue where edits made in the Texture box of the Secondary Textures editor in the Sprite Editor are lost when the keyboard focus was changed. (1133339)

  • 2D: Fixed the issue where Sprites in a Sprite Atlas turn invisible in Game View and Scene View when pressing Pack Preview in the Inspector window. (1226855)

  • 2D: Fixed the issue where the PSD Importer created empty GameObjects in certain cases.

  • 2D: Fixed the issue where zoom in and zoom out stopped working in Sprite Editor window when using the Secondary Texture editor. (1193540)

  • 2D: Fixed the NullReferenceException error occuring when using the shortcut 'Shift+1' in certain cases. (1200849)

  • 2D: Fixed the overlap from the 'Label' and 'Sprite' name boxes when a Sprite Library Asset preset is created. (1201061)

  • 2D: Fixed the preview of the Prefab so that it no longer ignores Sprite Mask. (1111193)

  • 2D: Fixed the problem where the last point of the Sprite Shape does not behave correctly when using Continuous Points in a Closed shape. (1184721)

  • 2D: Fixed the rendering of the Grid Component in Scene view when a GameObject with a Grid component is disabled or enabled. (1178613)

  • 2D: Fixed visual defect after undoing changes to Bone Transform properties in Sprite Skin's Inspector window.

  • 2D: Fixed visual glitch when using Sprite Swap with multithreaded rendering. (1203380)

  • 2D: Modified Composite Collider 2D so that a scene change is registered when regenerating Colliders with the Manual generation type. (1189438)

  • 2D: Shifted Tile Palette clipboard text upwards so that it does not get cut off by splitter menu. (1225256)

  • 2D: Sprite Atlas V2 Inspector has missing icon. (1231782)

  • 2D: Sprite deformation is now updated when a GameObject is enabled with Sprite Skin component.

  • 2D: Sprite Shapes are now not generated when not in view during runtime.

  • 2D: Sprites no longer disappear from the Prefab window when the Editor is in Play mode, or when the Sprites are packed into Sprite Atlases. (1184057)

  • 2D: Tilemaps can now be expanded and selected when creating a new Tilemap from the Create menu. (1194038)

  • 2D: [Windows] Unity crashes when packing big amount of atlases (1219643)

  • Android: Added a tooltip to keystore path label in keystore manager window. Tooltip shows full path to the keystore. (1115061)

  • Android: Added maxAspectRatio to manifest only when targetting API 26 or higher.

  • Android: Added WebCamKind support for Android (based on focal length equivalent). (1180261)

  • Android: Allow to disable symbols.zip generation when building apk or aab.

  • Android: Correctly handle non-ASCII characters when strings are saved in or loaded from PlayerPrefs. (1170233)

  • Android: Don't advance Time.timeSinceLevelLoad and Time.time if Thread.Sleep is called on the main thread right after the scene is loaded. (1099186)

  • Android: Fix crash during startup when using Vulkan on some devices.

  • Android: Fixed a video player seek bug when using Vulkan.

  • Android: Fixed an issue where master sprite atlases did not use the specified ETC2 fallback format. (1175291)

  • Android: Fixed Android Vulkan black screen issue for certain Adreno 630 and 640 drivers (1206635)

  • Android: Fixed artifacts on Adreno when rendering with colorMask 0 with Vulkan (1193006)

  • Android: Fixed ASTC HDR format detection for some Adreno 6xx devices that don't support the format. (1198286)

  • Android: Fixed camera devices supporting only depth data being included in WebCamTexture.devices. (1163718)

  • Android: Fixed constant buffer element alignment when using OpenGL ES. (1204223)

  • Android: Fixed corner case when using OpenGL ES CopyTexture with the current render target. (1127279)

  • Android: Fixed freeze on Galaxy S20 when using OpenGL ES GPU skinning with blend shapes (1236183)

  • Android: Fixed issue causing minimum and target API levels UI to get stuck at "Getting API levels..."

  • Android: Fixed issue with constant buffers of compute shaders when using Vulkan on Mali GPUs (1213349)

  • Android: Fixed problem with screen not rotating immediately accordingly to its holding position after autorotation is enabled. (1169727)

  • Android: Fixed problem with signing release App Bundle using non-ASCII passwords . (1167092)

  • Android: Fixed problem with System.Globalization.CultureInfo.CurrentCulture returns Culture.Invariant on Android. (1135996)

  • Android: Fixed Render Over Native UI on Android. (1189674)

  • Android: Fixed when fullscreen = FALSE and Render Outside Safe Area = TRUE notch area is not rendered on Android 9 devices. (1150073)

  • Android: Updated to latest frame pacing code from Google.

  • Android: When "Installed with Unity (recommended)" is selected in Editor Tools Preferences window, don't change editor preferences value to embedded path. (1196180)

  • Animation: Added a warning to detect clashes of animated property curve names. (1201758)

  • Animation: Animation does not play correctly when Optimized Game Object functionality is used and a Child GameObject is added to bone. (1185568)

  • Animation: Fixed an issue where Animator view breadcrumbs would get mixed up when navigating from a controller with more layers. (1146244)

  • Animation: Fixed an issue where deleting an Animator layer via Undo with a state or transition selected caused an exception (1201671)

  • Animation: Fixed an issue where renaming an animator parameter via search would rename the wrong animator parameter. (1202172)

  • Animation: Fixed an issue where renaming an animator parameter would print an IndexOutOfRangeException error to the console. (1217845)

  • Animation: Fixed AnimationStream unbound handle exceptions when changing override controller in the animator. (1180557)

  • Animation: Fixed Animator Layer scripts being displayed twice when using the Animator Controller Playable. (1173312)

  • Animation: Fixed constant curves occasionally evaluating incorrectly in Timeline when playhead is at keyframe positions. (1173048)

  • Animation: Fixed crash when calling Animator.Rebind after destroying AnimatorControllerPlayable. (1180148)

  • Animation: Fixed State Machine states that are deleted when State Machine is removed from Animator Controller. (1181137)

  • Animation: Fixed state machines and transitions not being selected selected when pasting in Animator State Machine. (1112939)

  • Animation: Fixed the transition from an empty state on an override (1101868)

  • Animation: Fixed Undo operation of "Add Blend Tree" in the Blend Tree graph UI. (1176440)

  • Animation: Handle null live link nodes. (1228989)

  • Apple TV: !IsDirectoryCreated error is now not thrown when a project is built successfully for tvOS (1225128)

  • Apple TV: If no Apple TV icons are set for specific sizes and a higher resolution icon is available it will be downscaled for that slot (like for other platforms) (1115180)

  • Asset Import: Fixed an issue where Avatars from Models with a slash in their node names were not displaying correctly in the AvatarMask and OptimizeGameObject inspectors. (1002172)

  • Asset Import: Fixed an issue where the Asset Importer would crash while importing a Shader-specific Shader. (1162577)

  • Asset Import: Fixed an issue with AnimationClip files generated from Models imported before Unity 3.2, where Unity was not conserving their file IDs and references when opened in a 2019.1+ Project.

  • Asset Import: Fixed incorrect colors when importing a PNG file with a file gamma value of 1.0. (1172234)

  • Asset Pipeline: Fixed an issue where there could be a pending compilation and domain reload after project load.

  • Asset Pipeline: Fixed editor sometimes getting stuck compiling scripts while opening a project. (1139283)

  • Asset Pipeline: Fixed issue with asserts triggered, when importer is creating asset on existing asset. Bad legacy importer behaviour, but it is currently supported. (1225324)

  • Asset Pipeline: Fixed linker warning when building editor for MacOS. (1224243)

  • Asset Pipeline: Fixed ScanFilter::Normalize being slow and called every time an asset is added to the filter. (1166652)

  • Asset Pipeline: Fixed TextAsset.bytes to always return raw byte data (previously was sometimes attempting to do UTF8 conversion roundtrip). (1192834)

  • Asset Pipeline: Fixing bug where [OnOpenAssets] callback was not called due to incorrrect path (1154851)

  • Asset Pipeline: Increased asset types that can be cached on the accelerator with .asmdef, .asmdefref, .cs and default imported assets (folders and unknown files).

  • Asset Pipeline: Nested prefabs can now be used with the cache server.

  • Audio: DSPGraph: Fix mixing when multiple audio output jobs are attached to the default output.

  • Audio: DSPGraph: Fix native connection disposal in audio output job's again.

  • Audio: DSPGraph: Fix shutdown crash when trying to execute audio output hook dispose jobs.

  • Audio: DSPGraph: Fixed crash when exiting play mode.

  • Audio: DSPGraph: Fixed error when disposing AudioKernel resources from an IAudioOutputJob.

  • Audio: DSPGraph: Fixed occasional crash when disposing leaked node allocation.

  • Audio: Fixed assertion failures when exposing an audio group's send level to scripts. (1178055)

  • Audio: Fixed deallocation of native collections allocated as AudioKernel within the audio kernel lifecycle.

  • Audio: Fixed issue where a Timeline Audio track with no audio source acts as 3D spatial blended audio source. (1160449)

  • Bug Reporter: Fixed issue where Bug Reporter email input field doesn't allow emails that have symbols after the dot in the second part of the email. (992324)

  • Build Pipeline: Added optional BuildOptions.DetailedBuildReport flag that can be passed to BuildPipeline.BuildPlayer in order to get more information in the returned BuildReport object, including intermediate BuildSteps details and a list of scenes using the assets in the build.

  • Build Pipeline: Fix bug that prevented adding a scriptable object defined in a precompiled assembly to an AssetBundle. (1184918)

  • Build Pipeline: Fixed an issue where BuildPlayer could accept a mismatched combination of BuildTarget and BuildTargetPlatform. (1175531)

  • Build Pipeline: Fixed an issue where rebuilding an asset bundle with the same name, but different source assets, might not cause the bundle to be rebuilt if the assets already exist in the bundle - NB asset bundle hashes in all manifest files will change as a result of this fix. (1173817)

  • Build Pipeline: Fixed bug preventing mesh compression on iphone when building with the scriptable build pipeline.

  • Build Pipeline: Fixed building in batchmode fails for first time after removing file from project. (703290)

  • Build Pipeline: Fixed main thread stalling when loading asset bundles asynchronously.

  • Burst: Bugfixes to the Burst Inspector UI.

  • Burst: Deleted burst entry from isolation tests exemption list.

  • Burst: Fixed a NullReferenceException happening in a call stack involving CecilExtensions.IsDelegate(...).

  • Burst: Fixed a potential NullReferenceException when editing Burst AOT settings for standalone players.

  • Burst: Fixed a potential StackOverflow when compiling a standalone player that can occur for nested jobs declared within a parent class that has generic parameters.

  • Burst: Fixed an issue that prevented burst from resolving functions on platforms when it's statically linked such as iOS.

  • Burst: Fixed an issue where the generated lib_burst_generated in Windows Standalone players could not be loaded if a native plugin was used from the sub folders Plugins\x86_64 or Plugins\x86.

  • Burst: Fixed burst compilation toggle behaviour which previously had unpredictable results.

  • Burst: Fixed caching of compiled jobs/function pointers.

  • Burst: Fixed compilation requests being lost when using asynchronous compilation.

  • Burst: Fixed error handling and messages infrastructure.

  • Burst: Fixed function pointers to work in standalone player.

  • Burst: Fixed issue for UWP to avoid an AssemblyResolutionException for types within Windows.* WinMd assemblies.

  • Burst: Fixed issue ldflda opcode when the input on the stack is a value and not a pointer.

  • Burst: Fixed issue on iOS where standalone player builds could fail, depending on number of burst-able functions found.

  • Burst: Fixed issue with a potential ArgumentException The output byte buffer is too small happening in the Editor when Burst is trying to compile a function that is producing a large log error.

  • Burst: Fixed Issue with a potential InvalidOperationException related to ABI layout when compiling a function pointer on Linux/Mac.

  • Burst: Fixed issue with a potential NullReferenceException when building a player for UWP.

  • Burst: Fixed issue with a TypeLoadException related when trying to load PDB.

  • Burst: Fixed issue with an exception occurring in mono_string_len.

  • Burst: Fixed issue with BurstCompiler.CompileFunctionPointer not working in a standalone player if Burst was disabled via standalone player build settings.

  • Burst: Fixed issue with calli not being handled correctly.

  • Burst: Fixed issue with debugging source locations that were no longer generated for standalone players.

  • Burst: Fixed issue with function pointers being corrupted after a domain reload that could lead to unexpected function pointer calls.

  • Burst: Fixed Issue with sizeof on a struct defined in another assembly and would return the size of a pointer type instead of a real struct layout.

  • Burst: Fixed multi-threaded compilation of jobs/function pointers in the editor.

  • Burst: Fixed multi-threaded compilation support when building a standalone player.

  • Burst: Fixed multiple issues with JIT cache.

  • Burst: Fixed potential deadlock between Burst and the Asset Database if burst is being used when building the database.

  • Burst: Fixed wrong MethodImpl(MethodImplOptions.NoOptimization) on functions.

  • Burst: Fixed wrong multi-LLVM versions support.

  • Burst: Fixed AssemblyResolveException when loading a project with dependent packages that are using Burst in static initializers or InitializeOnLoad.

  • DX12: Added support for fetching UNorm8 vertex attribute formats in Ray Tracing Shaders. This will enable reading vertex colors in hit groups (DXR). (1224668)

  • DX12: Fixed issue where non-native resolutions would get stretched instead of letterboxed on Windows Standalone running DirectX 12. (1135210)

  • DX12: Fixed performance issue with ComputeBuffer.GetData on DX12. (1025172)

  • DX12: Fixed Ray Tracing Shaders always crashing in single threaded mode (when using -force-gfx-st command line argument) (1245130)

  • DX12: Fixed submesh masking and transparency parameters not working correctly in RayTracingAccelerationStructure.AddInstance. (1221737)

  • Editor: "Generate all .csproj files" setting needs to be toggled on every startup for all the csproj files to actually be generated.

  • Editor: Reveal in Finder/Show in Explorer now open a single Finder/Explorer instance per-directory, and perform multi-file selection. On Linux, Open Containing Folder opens one window per-directory, with no selection. (1192218)

  • Editor: Added -quitTimeout argument where the timeout is passed in seconds to set how long to wait for async methods to finish. E.g. "-quitTimeout 60" for 60 seconds. (1202827)

  • Editor: Added a more descriptive error when attempting to import unsupported video formats on Linux. The error now states which movies are not importable in the Linux editor that are importable in the MacOS and Windows editor. (1104618)

  • Editor: Added a separator in "Random between two colors" for Start Color in particle system. (1195510)

  • Editor: Added the ability to show modal Editor windows using the ShowModal() method.

  • Editor: Adding an outline for dark sprite icons to make them clearly visible in dark skin. (1186306)

  • Editor: adds download links for linux modules in build settings (instead of returning bad url) (1202500)

  • Editor: AssetImporter Presets displays the Importer icon instead of nothing in their header.

  • Editor: Changed the Scene view FX toggle to now enable or disable the FX settings as a whole and preserve individual settings. (1210905)

  • Editor: Clamped the Scene View camera Field of View to values between 4 and 160, in order to prevent extreme skewing. (1180037)

  • Editor: Corrected adding prefabs to hierarchy between expanded objects. (1205276)

  • Editor: Corrected the debug mode for Asset Importer Editors (1180054)

  • Editor: Do not pop up automatic "unity is busy" progress bar in Windows Editor while a mouse button is pressed (i.e. user is dragging something), and the progress dialog never steals focus. (1221432)

  • Editor: Don't allow docking or rearranging editor windows while a modal dialog is shown.

  • Editor: Ensured we close the progress manager after world is destroyed (and all of its MonoBehaviors). (1240920)

  • Editor: Ensured we properly shutdown the ProgressManager when closing Unity. (1223196)

  • Editor: Fixed "Audio" label is missing in the "Search by Label" list in the project browser. (1222450)

  • Editor: Fixed "Reload Assembly called from managed code directly" error printed in some cases of interacting with progress bar done during long asset modification operations (e.g. deleting a lot of assets). (1226561)

  • Editor: Fixed .unitypackage asset missing an icon when there's no OS association. (1213245)

  • Editor: Fixed a bug which would cause the "Save Scene" dialog to show twice if changing a setting requiring editor restart, and then hitting "Don't save". (1200910)

  • Editor: Fixed a crash when changing IHVImageImporter Preset FilterMode value.

  • Editor: Fixed a crash when importing videos on a machine with more than 16 cores.

  • Editor: Fixed a rare crash when loading editor modes at startup or on a domain reload. (1202783)

  • Editor: Fixed a text clipping issue with Probability, under the "Emission" property of the Particle Effect window. (1180240)

  • Editor: Fixed a text highlighting issue when switching between two components using the Shift+Tab shortcut. (1172158)

  • Editor: Fixed a UI lag with the splash screen in the Player settings. (1177518)

  • Editor: Fixed AlphaIsTransparency is disabled in TextureImporter Presets. (1147407)

  • Editor: Fixed an error that happened when modifying label when multiple inspectors were open on the same asset. (1217487)

  • Editor: Fixed an Inspector window lock exception. (1173185)

  • Editor: Fixed an issue where "selected" Scenes in the hierarchy were not taken into account for Scene Visibilty and Scene Picking. (1178898)

  • Editor: Fixed an issue where Show Related Objects text gets clipped in the Profiler Hierarchy. (1169954)

  • Editor: Fixed an issue where changing the anti-aliasing values for the Quality Settings would cause a null reference in the Camera preview. (1210016)

  • Editor: Fixed an issue where color Inspectors do not consume events when performing custom right-click processing. (1162782)

  • Editor: Fixed an issue where progress dialogs loaded on the screen with the mouse pointer instead of the primary Unity window. (1045766)

  • Editor: Fixed an issue where sometimes, the selected .asmdef gets stuck on the first selection. (1153558)

  • Editor: Fixed an issue where the Light Explorer does not show light sources in disabled GameObjects. (921363)

  • Editor: Fixed an issue where the Move tool snapping would round off snap increments when zoomed out. (858899)

  • Editor: Fixed an issue where tooltips are offset by a large amount, and constrained, if another tooltip is shown in quick succession. (1167052)

  • Editor: Fixed an issue with a Play mode test project where ComputeShaders fail in debug Editor. (1178420)

  • Editor: Fixed an issue with invalid values for Hash128.

  • Editor: Fixed an issue with the RectMask2D Component incorrectly masking the image when animating on its pivot. (1170399)

  • Editor: Fixed an issue with UI text in the Editor turning black after making a build. (1192960)

  • Editor: Fixed Android player build progress bar not reaching 100% and being erratic. (1228938)

  • Editor: Fixed AnimValues getting permanently stuck if a script reload happened while they were animating, for example when forced out of Prefab Mode when entering Play Mode due to [ExecuteInEditMode] script. (1115778)

  • Editor: Fixed callbacks to SceneClosing and SceneClosed in some situations. (1003257)

  • Editor: Fixed clipped cursor in the search field in the PackageManager window. (1213419)

  • Editor: Fixed closing the editor while doing a task requiring progress. (1230266)

  • Editor: Fixed Color preference page keywords population. (1206845)

  • Editor: Fixed compute shader related editor crash regression after player build. (1190914)

  • Editor: Fixed constant stream of errors to the Console that occurs when an empty or corrupted Asset is selected. (1179894)

  • Editor: Fixed crash when changing hierarchy during deactivation. (1186891)

  • Editor: Fixed Custom Render Pipeline field in Quality Settings is asking for MonoBehaviour. (1168162)

  • Editor: Fixed default value for the SceneView FX toggle. (1221536)

  • Editor: Fixed dock area tab style and drag behavior. (1182350)

  • Editor: Fixed documentation link for EditorSettings class. (1219249)

  • Editor: Fixed editor crash on certain cases when clicking "Compile and show code" in the Compute Shader inspector. (1215289)

  • Editor: Fixed errors when docking the Hierarchy window from another docked area. (1218427)

  • Editor: Fixed EventType.MouseDrag events being triggered when cancelling a contextual menu by right clicking or left clicking in a custom window area. (1209976)

  • Editor: Fixed extended style hover state. (1180554)

  • Editor: Fixed Frame Debugger to show Compute Shader dispatch information properly.

  • Editor: Fixed Frame Selected not ignoring inactive objects in the selected hierarchy. (1217032)

  • Editor: Fixed game/scene view to use higher precision texture to fix color banding issue when HDR display support is enabled (1219450)

  • Editor: Fixed graphic artifact in project window when dragging a scene on itself. (1184235)

  • Editor: Fixed GUI errors that occurred when the ScriptExecutionOrder settings window was open during a build. (1169675)

  • Editor: Fixed how the zoom setting is reset when switching between a folder and favorite folder. (1174978)

  • Editor: Fixed ill formed string comparison when creating application icons on windows. (1219615)

  • Editor: Fixed imported objects mark with HideInInspector to be hidden in the inspector (1240667)

  • Editor: Fixed inconsistency that we call OnDisable of ExecuteAlways scripts with Editor.isPlaying == true when full Scene Reload is disabled.

  • Editor: Fixed inspector element being actively refreshed when nothing is happening. (1223682)

  • Editor: Fixed issue of uGUI being stretched when opening the Game window for the first time in edit mode.

  • Editor: Fixed issue where drag and drop is incorrectly performed on Windows. (1045195)

  • Editor: Fixed issue with RuntimeInitializeOnLoad with AfterAssembliesLoaded LoadType not being executed when entering play mode. (1179334)

  • Editor: Fixed Label not keeping its default size when selecting an AnimationState Preset. (1162303)

  • Editor: Fixed lag when expanding annotations. (1186931)

  • Editor: Fixed lag when using the Asset picker. (1186578)

  • Editor: Fixed menu items display in settings window. (1187196)

  • Editor: FIxed MissingReferenceExceptions that occurred when changing the parent of a UI element to a Disabled canvas while in Play mode. (1171433)

  • Editor: Fixed mixed value display in tag and layer popup. (1191296)

  • Editor: Fixed Modal Utility windows not blocking input to editor.

  • Editor: Fixed offset in maximized docked window. (1221797)

  • Editor: Fixed performance regression in Editor Startup caused by changes to licensing. (1196624)

  • Editor: Fixed PlayModeView deserialisation when switching PlayModeViews.

  • Editor: Fixed prefab inspector scrollview jumping around when editing values. (1240841)

  • Editor: Fixed pressing cancel button during shader compilation phase of the build not immediately cancels the build. (1084463)

  • Editor: Fixed project browser folder names overlapping edges of its view in two column layout at 150% or more scale. (1154276)

  • Editor: Fixed Project browser open folder icon. (1187170)

  • Editor: Fixed QualitySettings deletion error reporting on Preset. (1218689)

  • Editor: Fixed rare Editor hang on OSX when building to Android, sometimes when executing a child process, underlying call to Process.WaitForExit would never return, even if the process is long dead. (1111601)

  • Editor: Fixed rare unstable asset hash

  • Editor: Fixed renaming of Assets on Linux. (1168280)

  • Editor: Fixed rendering in the texture previewer when multi selecting many Virtual Texture Only textures in the project window.

  • Editor: Fixed scene view Frame Selected ("F" key) now respects custom scene view FOV.

  • Editor: Fixed search item highlights on selecting options from "Search Filter" panel in Quick Search (1205296)

  • Editor: Fixed searching for VSync in Project Settings not opening the Quality settings tab. (1181387)

  • Editor: Fixed selection outline flicker when HDRP temporal anti-aliasing (TAA) is used in the scene view. (1204961)

  • Editor: Fixed some cases of EditorUtility.ClearProgressBar done at wrong times resulting in "Trying to access current progress scope" errors. (1238068)

  • Editor: Fixed state handling for HDR specific settings that could have prevented them from getting serialized to disk when saving project settings.

  • Editor: Fixed text clipping issues related to theme changes. (1173086)

  • Editor: Fixed the alignment issue in polygon collider2d component.

  • Editor: Fixed the bouncing issue when the user clicks on the Tier-Settings option. (1166174)

  • Editor: Fixed the Camera shaking when panning very far from the Scene View pivot. (1178711)

  • Editor: Fixed the crash while opening a custom StreamVR Input Window. (1211288)

  • Editor: Fixed the cropping of mono credits in About Unity Window. (1191839)

  • Editor: Fixed the cursor not unlocking when going from locked to confined in the Windows editor. (1177561)

  • Editor: Fixed the font size of the second column of the Project browser. (1202974)

  • Editor: Fixed the Hierarchy issue when object is reparented using Drag and Drop Method. (1194945)

  • Editor: Fixed the issue where the Move Tool was producing inconsistent results when the active transform rotation was modified while translating. (741954)

  • Editor: Fixed the issue where zooming to the maximum distance from the Scene View pivot was throwing errors. (1127415)

  • Editor: Fixed the issue with "Show" button text getting clipped from "Compiled code" Dropdown of Shader Import Settings. (1178008)

  • Editor: Fixed the Legend symbols when audio source is selected. (1178599)

  • Editor: Fixed the miniButton onClick visual feedback styles. (1187383)

  • Editor: Fixed the Null Exception error when a dll is deleted. (1182618)

  • Editor: Fixed the Open Scene Additive context menu. (1181861)

  • Editor: Fixed the Performance of transform in playmode. (1241857)

  • Editor: Fixed the splitter visibility issue in IMGUI debugger window. (1186096)

  • Editor: Fixed the Stack overflow exception. (1206654)

  • Editor: Fixed the style that was used when something was subscribing to finishedDefaultHeaderGUI event (1218541)

  • Editor: Fixed the Transform tool gizmo translating in object space when the screen space toggle is active. (1197150)

  • Editor: Fixed Transform manipulator to use Undo.RecordObject so it works with livelink.

  • Editor: Fixed UI Flickers in Game View when Camera.Render is Selected in the Frame Debugger (1172637)

  • Editor: Fixed uncloseable Editor window when the script creating it is removed.

  • Editor: Focus SettingsWindow on open. (1228622)

  • Editor: Improved performance when dragging materials over the scene view.

  • Editor: Improved performance when transform.SetAsLastSibling() was called for a sibling that was already the last sibling.

  • Editor: Improved the performance by a little for huge data arrays when selected. (1179327)

  • Editor: Improved the performance of gizmo icon rendering.

  • Editor: Made sure that EditorUtility.CopySerializedManagedFieldsOnly works when the instances have polymorphic references. (1217601)

  • Editor: Menu items that end in an ellipsis (...) now have contexts. (1173736)

  • Editor: Metal: Fixed crash when changing active GPU. (1204156)

  • Editor: N/A

  • Editor: Objective C and Objective C++ plugin files will now be included when building a project with the IL2CPP backend. (1189679)

  • Editor: Preserved the info panel state of the Rigidbody component when entering/exiting the Play Mode. (1096404)

  • Editor: Progress always displays the remaining time after doing it once. (1232897)

  • Editor: Progress bar does not revert to unresponsive status after another task completes. (1232899)

  • Editor: Project does not contain all .csproj files when "Generate All .csproj files" option is selected in preferences.

  • Editor: Reduce JobsDebugger performance overhead. (1239856)

  • Editor: Removed redundant warning from Graphics.TextureCopy when copying compressed unreadable textures. (1030477)

  • Editor: Removed the very coordinates around the selection rectangle in graphview. (1218811)

  • Editor: SketchUpImporter node selection can be changed in the Preset inspector. (1155243)

  • Editor: Sorted the list of canvases in CanvasManager whenever the m_RenderMode of the current Canvas is updated to Screen Space Overlay. (1138914)

  • Editor: Stop sending gyro settings to Unity Remote if nothing's changed. (1206221)

  • Editor: The FilePathAttribute for the ScriptableSingleton class is now public API and docs with examples have been added for both classes.

  • Editor: Tooltips and hover effects updated when hovering an unfocused editor window. (1212081)

  • Editor: Unsupported Preset inspectors displays the component icon even if we cannot load their inspector.

  • Editor: Updated the Application icon and splashcreen of the Editor. (1235193)

  • Editor: Widened the Component reordering area in the GameObject Inspector. (1160885)

  • Editor: FormerlySerializedAsAttribute now works in Presets files. PrefabUtility.SetPropertyModifications takes care of renaming. (1162066)

  • GI: Added exposure slider to texture importer for HDR textures. (1226322)

  • GI: Bakes take a very long time or do not finish when using high resolution heightmap terrain. (1194794)

  • GI: Clamping russian roulette value according to what is available in UI.

  • GI: Disabled Realtime GI as default on new scenes. Was off before, but the new Lighting Settings asset accidentally turned it on.

  • GI: Disabled Realtime GI in Sample Scene on 3D template.

  • GI: Dynamically load RadeonRays on linux to allow for use cases where openCL is not installed.

  • GI: Fix black light probes that appears after baking the scene with baked emissive, area light and high light probes samples count. (1180231)

  • GI: Fix exposure on LightProbe gizmos when in Shadowmask mode. (1187858)

  • GI: Fix for where the use can click the bottom right bar and get the Lighting Settings window, even if they shouldn't. (1196199)

  • GI: Fixed "Recalculate Lightmap Scale" button using the lightmap scale from the least detailed lod level a renderer is in, instead of the most detailed level. (1192380)

  • GI: Fixed a case of uninitialized sample count in the progressive light baker.

  • GI: Fixed additional baked probes results sometimes not being available in Lightmapping.bakeCompleted callback. (1228762)

  • GI: Fixed Anti-aliasing not set properly on first bake. Also fixed a regression on customBake.cl compilation. (1190169)

  • GI: Fixed backface validity with 0 bounces using GPU lightmapper. Now behaves like CPU lightmapper. (1190228)

  • GI: Fixed crash in RecompileRSLSShadersMenu::Execute. (1222734)

  • GI: Fixed GPU lightmapper not working on macOS if the Editor path has a space. (1120397)

  • GI: Fixed GPU lightmapper validity texture missing after bake when validity scene view wasn't open during bake. (1117671)

  • GI: Fixed incorrectly set distance on lodded objects.

  • GI: Fixed issue for HDRP where they tried to access properties that weren't threadsafe in the player.

  • GI: Fixed issue where a "SerializedObject target has been destroyed error" is thrown on creating Lightmap Parameter in LightingSettings Preset.

  • GI: Fixed issue where editing Mesh Renderer Material array size and clicking on the Size property causes ArgumentException errors. (1222417)

  • GI: Fixed issue where it was hard to select probes behind other probes. The hit-area was too big. (1180612)

  • GI: Fixed issue where OptiX denoiser option was unavailable when mixing GPUs matching and not matching requirements. (1171663)

  • GI: Fixed issue where unexpected assertion fired during GI baking. (1008925)

  • GI: Fixed issues with Lightmap Paramaters "View" button in Lightmap Settings Window. (1197369)

  • GI: Fixed Light color temperature not working with mixed and baked lights in the builtin renderer. (1209784)

  • GI: Fixed Light Probe gizmos being shown when searching in hierarchy with Gizmos disabled in SceneView. (1164255)

  • GI: Fixed lightmap baking erasing existing Additional Vertex Streams from Mesh. (1148742)

  • GI: Fixed lightmap exposure slider not controlling the Light Probe gizmos as well. (1179405)

  • GI: Fixed mixed and baked lights showing up as realtime lights in the player when realtime GI is enabled. (1176876)

  • GI: Fixed non-square terrains crashing the Editor. (1198251)

  • GI: Fixed Optix lightmap denoiser VRAM reporting. Improves the update frequency when using Progressive Updates + Optix denoising. (1183984)

  • GI: Fixed probes being interpolated for renderers which do not ue probes. (1154888)

  • GI: Fixed Radeon denoiser not working with very bright HDR images.

  • GI: Fixed Radeon Pro Denoiser maxing out VRAM and hanging. (1201654)

  • GI: Fixed setting custom bake inputs from the Lightmapping.started callback throwing an error on a first bake. (1092442)

  • GI: Fixed so that "undecided" pixels in the Texel Validity mode is black and not orange (it made them seem faulty). "Undefied" pixels are still orange.

  • GI: Increased default value for exposure to 16. (1201694)

  • GI: New projects created with the 3D template will now support baked light cookies by default.

  • GI: Removed ShowLightmapResolutionOverlay from the transfering. It now lives in EditorPrefs and won't dirty the project when you toggle on/off Show Lightmap Resolution.

  • GI: Stopped using the legacy probe sample count on 3D templates. (1212204)

  • GI: [CPU PLM] Radeon Pro denoiser does not work upon the first bake using CPU PLM. (1193278)

  • Graphics: Added an API to allow controlling of GPU Captures in Microsoft's PIX Graphics Performance And Debugger application.

  • Graphics: Added exceptions to Mesh.CombineMeshes() when the vertex count of the combined meshes will exceed the vertex index format. (1176005)

  • Graphics: Added overloads to support GraphicsBuffer in most methods where ComputeBuffers were usable before. Overloading ambiguities can result if null parameters are used.

  • Graphics: Constant buffers created directly from C# triggering assert message "Metal: constant buffer state is invalid" (1238787)

  • Graphics: Disabled DestroyImmediate during rendering callbacks, use Destroy instead. (1170742)

  • Graphics: Enabled readback of 11.11.10 float format. (1127310)

  • Graphics: Enabled sub-texture uploads for Vulkan. (1212339)

  • Graphics: Error when an exposed mesh property linked to a Sample mesh operator is set to None. (1235327)

  • Graphics: Exposed PVT out-of-UV-range border requests so we can have proper filtering. (1222641)

  • Graphics: Fix a bug in the visual effect asset compilation when there is no event. (1233056)

  • Graphics: Fix crash in Unity Editor after entering Play Mode when the experimental Ray Tracing API is on. (1174917)

  • Graphics: Fix Display.requiresBlitToBackbuffer / CommandBuffer.Blit compatibility for the new unified HDR blit pipeline when used with SRP.

  • Graphics: Fix Ray Tracing Shader Inspector stating that Ray Tracing Shaders are not supported even after Direct3D12 was added in the Graphics APIs list from Player Settings. (1172318)

  • Graphics: Fixed a bug where the SRP Batcher could cause constant buffers to become corrupted when using the Metal graphics API. (1226377)

  • Graphics: Fixed a crash when attaching RenderDoc with DX12/OpenGL and added support for OpenGL ES backends. (1149494)

  • Graphics: Fixed a crash when importing large texture due to integer overflow (1209431)

  • Graphics: Fixed a Vulkan driver crash when attempting to copy a ComputeBuffer counter from a buffer that doesn't have one.

  • Graphics: Fixed Additional Vertex Streams when painting Vertex Color. (968707)

  • Graphics: Fixed an issue on PS4 with bad scissor state settings during first frame of a call to GenerateMips(). (1204123)

  • Graphics: Fixed an issue which would cause D3D12 to incorrectly blit a texture during application state up so that it appears too dark. (1185699)

  • Graphics: Fixed AsyncGPUReadback on Vulkan when using float rendertexture.

  • Graphics: Fixed bilinear setup in metal.

  • Graphics: Fixed bug with OpenGL sparse textures not correctly swizzling channels. (1164189)

  • Graphics: Fixed C++ side version of HybridV2 vulkan performance issue. (1225445)

  • Graphics: Fixed CombineMeshes throwing errors when used with meshes with non-triangles topology. (1130898)

  • Graphics: Fixed compute shader crash regression when including multiple graphics API variants.

  • Graphics: Fixed crash in AsyncGPUReadback.RequestIntoNativeArray() when the passed in texture was small enough to fit in an internal buffer. (1194440)

  • Graphics: Fixed crash ing GfxDeviceD3D11Base::EndOfFrameBookkeeping when the Compute Shader buffer is too big. (1153468)

  • Graphics: Fixed crash when cleaning up intermediate renderers. (1176131)

  • Graphics: Fixed crash when using UnityEngine.Rendering API AsyncGPUReadback.RequestIntoNativeArray(ref NativeArray<T> output, Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback).

  • Graphics: Fixed crash. (1213826)

  • Graphics: Fixed DXGI swapchain update regression from 2020.1.0a21, changed texture format could cause a crash.

  • Graphics: Fixed flickering shadows when using SRP with Vulkan.

  • Graphics: Fixed for direct GPU upload of offline processed texture data when texture quality level is reduced. (1223893)

  • Graphics: Fixed inconsistency - warning says instancing will be disabled when used with static batching but it is still working and breaking result object color. (1171312)

  • Graphics: Fixed incorrect gamma decoding at import of LDR textures that target a HDR graphics format in a gamma colorspace project.

  • Graphics: Fixed invalid source offset when uploading and unmapped sub-data range on OpenGL. (1209651)

  • Graphics: Fixed issue where skinned objects with scaled transforms would not get lit correctly by spotlight. (1183294)

  • Graphics: Fixed Kaiser 'Mipmap Filtering Mode' used for mipmap generation during texture import. It had previously been implemented incorrectly and was causing unnecessary aliasing. The updated version will have slightly faster import times.

  • Graphics: Fixed leak of ID3D11ShaderResourceView* caused by Texture2D.CreateExternalTexture/UpdateExternalTexture

  • Graphics: Fixed loading RenderDoc when VirtualTexturing is enabled. (1235256)

  • Graphics: Fixed loads from RWTexture in OpenGL ES 3.1 compute shader (1224442)

  • Graphics: Fixed LODGroup inspector LOD slider being offset from mouse cursor. (1214019)

  • Graphics: Fixed offline texture processing with ARGB texture format on PS4. Editor log output updated from message to error if platform dll's fail to load. (1224384)

  • Graphics: Fixed partial loads from RWTexture when using OpenGL ES, Metal, Vulkan (1227481)

  • Graphics: Fixed potential deadlock in graphics jobs when loading shaders.

  • Graphics: Fixed race condition when using Grab Pass with GraphicsJobs with Vulkan

  • Graphics: Fixed race condition when using GrabPass with Vulkan GraphicsJobs.

  • Graphics: Fixed rare potential crash during shutdown of threaded renderer.

  • Graphics: Fixed readback of cubemap slices when using Vulkan.

  • Graphics: Fixed regression in compute shader error reporting.

  • Graphics: Fixed regression on compute shaders dropping kernels with warnings.

  • Graphics: Fixed regression on compute shaders in asset bundles.

  • Graphics: Fixed RWBuffer<uint> in OpenGL ES 3.1 compute shaders (1237688)

  • Graphics: Fixed second Reflection Probe usage only rendering. (1223101)

  • Graphics: Fixed SkinnedMeshRenderer.localBounds behaving differently based on SkinnedMeshRenderer.updateWhenOffscreen. (1205853)

  • Graphics: Fixed two issues related to counterbuffers in Vulkan

    • If one only uses the counter the buffer is now correctly bound
    • Updating the data on the buffer does not invalidate the counter (1205146)
  • Graphics: Fixed use-after-free memory error when using Vulkan with GraphicsJobs.

  • Graphics: Fixed validation error when using RenderPass API with Vulkan.

  • Graphics: Fixed Vertex and Fragment shader interfaces mismatch on some platforms.

  • Graphics: Fixed Vulkan validation error about incorrect layout transition when using CoptTexture. (1109124)

  • Graphics: Improved runtime light culling speed by avoiding culling of fully baked lights.

  • Graphics: Improved the performance of creating a texture on a thread in DX11.

  • Graphics: Incorrect lightmaps when trying to bind multiple texture arrays (1247296)

  • Graphics: Metal: Added checks for YUV2 format when creating Cubemap or Texture3D. (1214115)

  • Graphics: New option in Player Settings to select number of swapchains when using Vulkan.

  • Graphics: Optimized Mesh creation/loading times a bit, especially for huge meshes -- now Unity does not redundantly clear vertex buffer data at initialization time.

  • Graphics: Setting Fixed Time Step to a large value and then back to default makes effects play faster until an editor restart (1217876)

  • Graphics: Shadows flicker when more than one Spot Light is set in hybrid rendering (1190147)

  • Graphics: Show VT issues as errors instead of warnings (1238401)

  • Graphics: Sped up material property animation binding which occurs when creating GameObjects with animations or timelines. (1200148)

  • Graphics: Virtual texturing is only initialized when actually enabled. (1217228)

  • IL2CPP: Automatically initialize when calling into converted managed .winmd files from native code even if Unity engine hasn't been initialized yet.

  • IL2CPP: Corrected Array.CreateInstance(Type, int[], int[]) to create an SZ_ARRAY when passed rank of {1} and lower bounds of {0}. (1217556)

  • IL2CPP: Fixed compilation error when managed type that is defined in .winmd file appeared in native .winmd method signature.

  • IL2CPP: Fixed invoking public static methods and instantiating public classes that were defined in managed .winmd files.

  • IL2CPP: Managed types implemented in .winmd files now correctly implement needed COM interfaces when passed to native code.

  • IL2CPP: Marshal blittable classes as out parameters.

  • IL2CPP: Prevented a possible crash on shutdown when script debugging is enabled on macOS.

  • IL2CPP: Prevented a possible hang on some ARM64 devices. (1193131)

  • IMGUI: Fixed an Editor crash that occurred when adding a horizontal or vertical layout group. (1172598)

  • IMGUI: Fixed an issue where a ReorderableList element whose list contains different sized elements has incorrect selection height when dragged. (1178636)

  • IMGUI: Fixed an issue where the settings icon appears differently in Editor windows and Inspector windows. (1190478)

  • IMGUI: Fixed an issue with offset of IME popups with IMGUI fields.

  • IMGUI: Fixed incorrect ReorderableList indices when dragging list elements. (1178662)

  • IMGUI: Fixed prefab override window "Apply" button text overlapping. (1190199)

  • IMGUI: Fixed the alignment of the Gradient Editor hamburger menu icon. (1180544)

  • iOS: Fixed Application.Unload Appilcation.Quit.

  • iOS: Fixed Default-Checker-Gray being DXT compressed. (1190240)

  • iOS: Fixed ENABLE_CRUNCH_TEXTURE_COMPRESSION not being set on script side. (1175976)

  • iOS: Fixed Input.gyro.enabled not checking current active state of gyro, resulting on ios13 being confused if it was enabled often enough. (1177775)

  • iOS: Fixed metal graphics bug when using Constant Buffer with multiple cameras. (1161637)

  • iOS: Fixed Metal-only app no longer linking GLES framework. (1168449)

  • iOS: Fixed particles color mode resulting in them becoming black. (1179767)

  • iOS: Fixed QualitySettings.resolutionScalingFixedDPIFactor not updating on runtime. (1163949)

  • iOS: Fixed Screen.sleepTimeout to return proper SleepTimeout.SystemSetting instead of hardcoded 15 when idle timer is enabled. (1192700)

  • iOS: Fixed specular precision issue in iOS Standard shader (1199053)

  • iOS: Metal: Fixed the crash when creating texture with zero extents. (1192730)

  • iOS: Metal: SV_RenderTargetArrayIndex should work when supported by hardware. (1198097)

  • iOS: Metal:No longer enforce final (extra) blit when using MSAA backbuffer.

  • iOS: No longer rename the launch screen storyboard to LaunchScreen.storyboard. Keep the original file name when creating the Xcode project.

  • iOS: WebCamTexture.devices now returns empty array while access to camera has not been granted. (1187431)

  • Kernel: AlignOf<T> returns C# required structure alignment, instead of 4.

  • Kernel: Fixed floating point errors on snap rounding (964631)

  • Kernel: Fixed long stall on domain reload, if many job handles were never Complete().

  • Kernel: Fixed potential man-in-the-middle attack on TLS handshakes for Desktop platforms.

  • Kernel: Fixed SRP renderer based jobhandle leaks due to not completing job handles.

  • Kernel: NativeCollections Leak detection mode now uses the Editor prefs so it is correctly saved into the editor prefs file (Previously it was only saved when entering play mode since it was stored in player prefs).

  • Kernel: Optimised waking up of worker jobs when scheduling new jobs.

  • Linux: Drag and drop tabs are now centered to the mouse. (1217919)

  • Linux: Fix invalid editor process name "Main Thread" on Linux. (1188916)

  • Linux: Fixed bad mouse offset when dragging undocked editor windows. (1175117)

  • Linux: Fixed issue preventing hotkeys working when in Linux editor when a scene is playing, especially when the cursor is locked. (1168258)

  • Linux: Fixed issue where single-instance was not being honored when set in the player settings. (1211694)

  • Linux: Fixed menus/tooltips appear offset up and mouse offset when dragging tab. (1217921)

  • Linux: Fixed modal dialog boxes from being allowed to fall behind other editor windows. (1175405)

  • Linux: Fixed mouse cursor does not change back to default issue when moving it to Game view over resize hotspots in play mode (1153310)

  • Linux: Fixed scroll mouse events not being parsed in the editor when the mouse cursor lock mode is set to locked. (1219781)

  • Linux: Fixed segmentation fault when running a built project with -single-instance argument. (1167394)

  • Linux: Fixed the issue that "Cursor.visible = false" does not work in play mode in the Linux Editor. (1159298)

  • Linux: Player Settings can be switched between Build settings with correct Z-order. (1217920)

  • Linux: Popup windows now close when Unity is not in focus. (1104107)

  • Linux: Undocked windows can be resized properly on Linux. Undocked windows now display their name in the Launcher and Dashboard. (1188792, 1210486, 1213542)

  • Linux: While in play mode, scene mode controls holding right mouse button are extremely sensitive (1178921)

  • macOS: Fix issue where custom cursor returns to default arrow after notification. (1156297)

  • macOS: Fixed a crash in Hybrid v2 related to compute buffer sub updates from non main graphics thread (no case). (1226556)

  • macOS: Fixed crash when switching GPU in editor.

  • macOS: Fixed Pen & Tablet not working. (1169313)

  • macOS: Fixed Player.log not opening after right-clicking the Console window and selecting 'Open Player Log'. (1133920)

  • macOS: Fixed race condition when attempting to build player from a static C# object constructor. (1165974)

  • macOS: Fixed some auxiliary Editor windows closing unexpectedly. (1223846)

  • macOS: Made the color of the title bars match with the color of the windows in professional and personal themes.

  • macOS: Paths with spaces will no longer cause errors during linking of debug symbols (1156958)

  • Mobile: Fixed an issue where Input.mousePosition could return an invalid result on mobile platforms. (1188746)

  • Mobile: Fixed problem with ToString() function being culture-invariant on Android, and iOS 11 and higher. (1157137)

  • Package Manager: Added an icon for the Package Manager window.

  • Package Manager: Added the ability for users to host a custom package by defining a URL for custom documentation in their package's package.json file.

  • Package Manager: Backported fixes made to resolve clipping issues on the Package Manager window. (1222766)

  • Package Manager: Changed the download bar size to match the Package Manager window size.

  • Package Manager: Changed the result count to match the count of visible Assets in the Package Manager window.

  • Package Manager: Disabled editing of package.json files in the Package Manager for immutable packages.

  • Package Manager: Disabled the package list's Refresh button when in offline mode.

  • Package Manager: Fixed an issue on the package details pane of the Package Manager window where only installed package dependency versions appear in the "Dependencies" list. (1220955)

  • Package Manager: Fixed an issue on the Package Manager window where the package list would scroll to the currently selected item when clicking Load More in paginated pages. (1182633)

  • Package Manager: Fixed an issue where an error message was being logged in the Console when removing a (local) package installed from disk.

  • Package Manager: Fixed an issue where the Load More label would disappear permanently after being clicked in Offline mode.

  • Package Manager: Fixed an issue where the package dependency text was editable in the Package Manager window. (1223079)

  • Package Manager: Fixed an issue where the Package Manager window overrides the selection on focus. (1225577)

  • Package Manager: Fixed an issue where the Package Manager window was black when launched if there were unapplied changes in any Asset. (1218983)

  • Package Manager: Fixed an issue where Unauthorized errors from npm registries were treated as generic errors.

  • Package Manager: Fixed an issue where Unity could not connect to the UnityPackageManager process due to misconfigured proxy settings.

  • Package Manager: Fixed being unable to select text in the Package Manager window's package description. (1190170)

  • Package Manager: Fixed correctly building scripts against the currently enabled built-in packages at Editor startup time.

  • Package Manager: Fixed the bad UX layout for very long search strings. (1205872)

  • Package Manager: Fixed the blurry dropdown button for preview packages

  • Package Manager: Fixed the broken version expander in the Package Manager window. (1214073)

  • Package Manager: Fixed the issue where dependency status tags are misaligned. (1227278)

  • Package Manager: Fixed the issue where Packman UI won't refresh on package.json update (1244855)

  • Package Manager: Fixed the issue where the Package Manager window wasn't hiding the download progress bar for packages that are not downloadable. (1228124)

  • Package Manager: Fixed the scrollling for the description text in the Package Manager.

  • Package Manager: Improved the error message when searching for a package name results in no compatible versions found. Now the error message includes the package name.

  • Package Manager: Localized the text in the Package Manager window.

  • Package Manager: Made error messages resulting from downloads in My Assets more user friendly.

  • Package Manager: Made installed packages show recursive dependencies, in addition to direct dependencies.

  • Package Manager: Made small design adjustments to the package details layout for My Assets: separated labels with commas instead of spaces; reduced spacing between some sections for consistency.

  • Package Manager: Moved the storage of npm credentials from system global configuration to user configuration. The file format was also changed to TOML.

  • Package Manager: Prevented the parsing of null version strings in the Package Manager window. For internal users, installing packages from Package Manager no longer breaks on null exceptions when debugging.

  • Package Manager: Redesigned the layout of package details in the Package Manager window. Asset Store packages now show purchase date and user-assigned labels, and categories were removed from package details.

  • Package Manager: Removed dependency from package json.

  • Package Manager: Shortened the name of folders storing Git packages in the Project cache in order to reduce the likelihood of reaching the maximum path limit on Windows.

  • Package Manager: The All Packages tab now hides partial list in the Package Manager window during the initial fetching process. (1066304)

  • Package Manager: Updated the download progress text color to be more visible for the light theme. (1201953)

  • Particles: Added missing deferred particle standard shader pass, to fix shadow map regeneration issue. (1198475)

  • Particles: Fixed opaque particle lighting in deferred rendering. (1193339)

  • Particles: Fixed particle lights being re-rendered over multiple frames.

  • Physics: Added a property suspensionExpansionLimited to wheel collider to fix bug that caused Vehicles (Rigidbody with Wheel Colliders) to stick to the ground instead of lifting up, when using unrealisticly high damping values for it's Wheel Colliders. (725365)

  • Physics: Fix issue when selecting self and inter collision particles for cloth. (1153034)

  • Physics: Fixed an issue when editing an EdgeCollider2D or PolygonCollider2D where the Z position of the editing gizmo was not aligned to the Transform Z position. (934389)

  • Physics: Fixed ArticulationBody.jointPosition crash that happened sometimes in articulations more than two objects deep.

  • Physics: Fixed issues with changed SkinnedMeshRenderer transform or root bone changes not being picked up by the cloth inspector. (1143658)

  • Physics: Fixed Physics.bounceThreshold not being applied to newly created physics scenes, the default value of 2 was used instead. (1181249)

  • Physics: Fixed visualizers in editor scene view for the articulation body joint limits, both linear and angular ones.

  • Player: Explicitly stopping games after test runs to ensure clean test environment.

  • Player: Fixed issue where output from Stadia commands were not printing stderr.

  • Player: Fixed the cursor being visible when locked in Standalone players, when it should be hidden. (1177531)

  • Prefabs: Cannot exit Prefab edit mode when it is accessed from Parent Prefab Edit mode after Parent Prefab has been deleted (1167591)

  • Prefabs: Creating a Prefab Variant from a prefab with a Canvas could cause warnings due to driven properties adding property modifications. (1157299)

  • Prefabs: Fix crash due to wrong use of Undo while upgrading MeshRenderer. (1121500)

  • Prefabs: Fix that the Editor locks in Prefab Mode when opening a Prefab inside an immutable folder. (1194732)

  • Prefabs: Fixed case where Overrides dropdown would display Revert and Apply buttons even though it said "No overrides". (1197800)

  • Prefabs: Fixed crash when calculating dependencies for binary Prefab assets. (1182071)

  • Prefabs: Fixed deletions and modifications to the asset files of non-current prefab stages in Prefab Mode. And discard changes if Discard Changes is chosen in dialog. (1223604)

  • Prefabs: Fixed issue where the Open button in the "Cannot restructure Prefab instance" dialog would open the inner Prefab instead of the outer when attempting to make a nested Prefab inside a Prefab instance into a new Prefab or Variant. (1166933)

  • Prefabs: Fixed selecting multiple prefab overrides + clicking apply does not apply all selected overrides. (1106861)

  • Prefabs: Improve editor performance when working with huge prefabs in the scene. (1154991)

  • Prefabs: The Prefab Stage Auto Save toggle is no longer disabled when it's temporarily turned off due to a problem with saving, because it should still be possible to turn it on again. (1095945)

  • Prefabs: When in Prefab Mode and starting Play Mode, or when in Play Mode and attempting to enter Prefab Mode, a dialog "Risk of unwanted modifications" is now shown if a script on the Prefab has the [ExecuteInEditMode] attribute. The dialog offers the options "Exit Prefab Mode" or "Ignore". It replaces logged error messages and forced exit of Prefab Mode that were used before. (1100744)

  • Profiler: Fixed an issue whereby flow events are not included when saving a Profiler capture. (1223674)

  • Profiler: Fixed crash in Profler Window due to incorrect recursiveChildCount calculation. (1206834)

  • Project Browser: Fixed an issue where the copy path in project browser's context menu is enabled when no asset is selected. (1182600)

  • SceneManager: Fixed an ArgumentException being thrown when a scene is unloaded and GetRootGameObjects() is used in the EditorSceneManager.sceneClosing event. (1179151)

  • SceneManager: Fixed crashing when loading a project with duplicate scenes. (1069650)

  • SceneManager: Fixed OnPostprocessAllAssets and OnPreprocessAsset functions called multiple times when editing and saving a Scene (1208581)

  • SceneManager: Fixing a bug where unity would crash when scenes are unloaded on OnPostprocessAllAssets (1161850)

  • SceneManager: Updated the default scene for new objects. (1162243)

  • Scripting: Added GameObject.GetComponentInParent method overload that works with inactive Components. (1180794)

  • Scripting: Avoid using StringBuilder marshalling which leaks memory on Win32. (1211367)

  • Scripting: Changed behavior on debugger-agent, if we can't parse new behavior we now return invalid_argument instead of asserting. (1197204)

  • Scripting: Common math and geometry structs such as Vector3 now implement IFormattable interface. (1042790)

  • Scripting: Compiler Output never writes out stderror, so we will only output that if there are any. (1183461)

  • Scripting: Emit error when validating assembly references for strong named assemblies. (1196416)

  • Scripting: Fix Burst SharedStatic<T> to be initialized to zero after a domain reload.

  • Scripting: Fixed a deadlock issue between Burst and the AssetDatabase.

  • Scripting: Fixed an issue where BurstCompilerService.Log could only be used from the main thread. (1246174)

  • Scripting: Fixed Application.ForceCrash and Utils.ForceCrash for AccessViolation and FatalError on Mac and Linux. (1217413)

  • Scripting: Fixed ArgumentException being thrown on right-clicking a gameObject with missing script instance. (1171833)

  • Scripting: Fixed crash when generic enum types are used in custom attributes. (1188987)

  • Scripting: Fixed frequent GC collections occurring in the Editor. (1143739)

  • Scripting: Fixed issue where deserializing an abstract class containing a hierarchy of classes would fail and throw an unhelpful exception. (1204074)

  • Scripting: Fixed ObjectDisposedException that may occur when using HttpWebRequest. (1157345)

  • Scripting: Fixed possible crash caused by race condition during startup when the script debugger and profiler systems are enabled.

  • Scripting: Fixed ReinterpretLoad and ReinterpretStore on NativeArrays with more than 2^31-1 entries not behaving correctly.

  • Scripting: Fixed ServicePointManager.ServerCertificateValidationCallback not receiving any certificate data.

  • Scripting: Fixed where we could in some cases load old user predefined assemblies. (1173748)

  • Scripting: Fixed x509 verification issues on iOS with trusted self signed certificates.

  • Scripting: Improve memory usage of GC by precisely scanning arrays of value types containing managed and unmanaged fields. (1054493)

  • Scripting: Removed obsolete [SerializePrivateVariables] attribute. (1180341)

  • Scripting: SerializeReference values can no longer be a specific specialization of a generic type(inflated type). This was done to avoid a crash when treating those.

  • Scripting: Undocumented MonoBehaviour.Main method is no longer automatically called by Unity. (1146863)

  • Scripting: Warn when dragging invalid created scriptable object asset to component field.

  • Scripting Upgrade: Fix scripts not being updated when it contains alias to types with changed namespaces.

  • Scripting Upgrade: Fix wrong assembly reference added by MovedFromNamespace leading to exceptions

  • Scripting Upgrade: Fixed ApiUpdater not removing using statements in some scenarios.

  • Scripting Upgrade: Fixed ApiUpdater not respecting InternalsVisibleToAttribute.

  • Scripting Upgrade: Fixed problem preventing ScriptUpdater to remove orphan namespaces.

  • Scripting Upgrade: Fixed renaming of extension methods invoked using static method invocation syntax.

  • Scripting Upgrade: Improved logging in some scenarios in AssemblyUpdater.

  • Scripting Upgrade: No longer patch assembly references to UnityEngine module assemblies to point to the single UnityEngine instead, as this was causing too much trouble.

  • Services: Fixed google public key submission for in app purchase in service window. (1223510)

  • Services: Fixed the Collab enable/disable state desync in the Services Window when changing it from the Collab window. (1234356)

  • Services: Fixed the Services Window refresh when the actual project is completely loaded from Collab. (1219456)

  • Shaders: A [PerRendererData] material property now appears as read-only in the Inspector instead of hidden. (997948)

  • Shaders: Fixed broken shader variant tracking in the editor. (1169786)

  • Shaders: Fixed broken Vulkan/GL/Metal shaders in the player build when having multiple graphics APIs selected. (1214047)

  • Shaders: Fixed use pass to work with local keywords on non editor build.

  • Shaders: Platform keywords that only depend on the current build target now affect #pragma selection. (1226253)

  • Terrain: Fixed an issue where Terrain Brushes in GLES2 resulted in unsupported Texture errors. (1196142)

  • Terrain: Fixed an issue where Terrain rendering didn't correctly take Render Queue settings from the Terrain Material.

  • Terrain: Fixed an issue where TerrainData.GetHoles() returned an incorrect result when the holes data was empty.

  • Terrain: Fixed UI corruption when you viewed the Terrain Lighting settings. (1188555)

  • Timeline: Fixed humanoid characters going to default pose during initial root motion recording. (1174752)

  • Timeline: Updated default Timeline package version to 1.3.1.

  • UI: Added ability to disable ToggleGroup and not have it effect toggles. (1200830)

  • UI: Changing GetComponent calls to TryGetComponent so a error message isn't populated if the component is not found.

  • UI: Fixed an issue where the Preview button UI did not refresh after splash screen preview. (1171460)

  • UI: Fixed not updating he composition string if we are the currently selected object.

  • UI: Fixed Screen Space-Camera Canvas rendering issues when there is more then one Game view open. (1214084)

  • UI: Fixed some null refs in inputfield tests.

  • UI: Fixed the CRC issue when game view aspect ratio is changed. (1183713)

  • UI: Fixing issue with UI facing the camera not being triggered correct. (1177982)

  • UI: Removed Abstract from templated UnityEvent classes. Template serialization is now supported.

  • UI: Removed recursive call setting parents scale factor from child canvas. (1192226)

  • UI: Separating out the click handling from being tied to the down. Now the click object can be different the the pointer object. (1186487)

  • UI: [Mobile] Fixed current touch events not being reset when application is losing focus. (1156876)

  • UI Elements: Adds UIElements-based ellipsis support via USS styles

  • UI Elements: Basic IME support in UIElements fields. (1138957)

  • UI Elements: Calling ClearSelection from the selection change handler of a ListView does not cause an infinite loop that crashes Unity. (1237831)

  • UI Elements: Create custom editor window menu item fix. (1211403)

  • UI Elements: Expose MeshWriteData.SetAllIndices/SetAllVertices with NativeSlice in addition to C# arrays.

  • UI Elements: Fixed a direction change bug with dynamic scroller. (1186031)

  • UI Elements: Fixed a few issues with ToolbarSearchField's styling. (1180375)

  • UI Elements: Fixed a NullReferenceException error when setting background-image to none in the UIElements Debugger. (1188538)

  • UI Elements: Fixed a NullReferenceException error when setting unity-font to none in the UIElements Debugger. (1179896)

  • UI Elements: Fixed an issue where a panel taking focus caused the the last focused element to lose focus. (1154256)

  • UI Elements: Fixed an issue where Play mode tint was not correctly applied to certain text elements under certain circumstances. (1182264)

  • UI Elements: Fixed an issue where UI Elements did not work with certain GLES 3 Android devices. (1170607)

  • UI Elements: Fixed an issue with mouse compatibility events where the mouse position was wrong.

  • UI Elements: Fixed bug preventing element from being redrawn when its opacity is changed. (1196192)

  • UI Elements: Fixed display of UXML inline styles inside the UIElementsDebugger (1217906)

  • UI Elements: Fixed display:none on stencil-clipped elements (1209848)

  • UI Elements: Fixed duplicate ChangeEvent callback invocation for PopupField<string>. (1194831)

  • UI Elements: Fixed events being queued and unprocessed when showing a modal window (1215148)

  • UI Elements: Fixed issue causing gaps to appear in borders at non-integer ui scaling (e.g. 250%). (1211745)

  • UI Elements: Fixed issue causing lines between packages to be inconsistent in Package Manager UI at 150%. (1230753)

  • UI Elements: Fixed issue causing text to wrap for no reason when resizing percent-driven layout. (1215962)

  • UI Elements: Fixed issue of overflowing Search field text in the Shortcuts Manager. (1183549)

  • UI Elements: Fixed issues causing text and borders to wiggle. (1176737)

  • UI Elements: Fixed LayerMaskField choices values when using UXML Template. (1183189)

  • UI Elements: Fixed nested ScrollView styles. (1181829)

  • UI Elements: Fixed Null Exception in internal EditorWindow Splitter GUI handler. (1221276)

  • UI Elements: Fixed of the gradient location field not updating on swatch selection, while it's being focused. (1138621)

  • UI Elements: Fixed rendering issues with text fields when applying overflow to elements with a border radius. (1148794)

  • UI Elements: Fixed support for opacity and displayed USS properties in UIElements. Opacity now propagates correctly down the Visual Tree. (1151479)

  • UI Elements: Fixed text field undo shortcuts. (1182362)

  • UI Elements: Fixed the registration of user assemblies in the context of assembly override. (1223061)

  • UI Elements: Fixed UIElements shaders not respecting the UNITY_COLORSPACE_GAMMA define. (1221261)

  • UI Elements: Fixed unsetting of inline style values.

  • UI Elements: Fixed VisualElement disabled effect. (1172023)

  • UI Elements: Fixed wiggling black lines on bottom and right borders of editor windows when ui scaling is fractional (e.g. 125%). (1230752)

  • UI Elements: ListView bindings over serialized object properly exposes array size's display. (1219342)

  • UI Elements: ListView bindings over serialized objects now properly supports the reorderable attribute. (1219347)

  • UI Elements: ListView drag and drop is now based on pointer events.

  • UI Elements: ListView reordering with repeating values now gives expected results. (1219338)

  • UI Elements: Made it possible to set the overflow property in the UIElements debugger.

  • UI Elements: Made the UIElements debugger runtime compatible.

  • UI Elements: Optimized StyleVariablesContext hash computation.

  • UI Elements: Prevented OnGUI() calls on IMGUIContainers when they are outside the viewport. Users can opt in using the cullingEnabled property.

  • UI Elements: Style error reporting now includes parsing errors for inline styles. (1165204)

  • UI Elements: Support pointer events to display contextual menus.

  • UI Elements: The package shader for the editor will now be used when the UIElements package is used. (1232012)

  • UI Elements: The ToolbarSearchField clear button is now displayed properly when it's value is set in script. (1180403)

  • Universal Windows Platform: Fixed bug in UWP sln build if C# 7.0+ features are used (1201383)

  • Version Control: "Revert Unchanged" menu item was sometimes incorrectly disabled.

  • Version Control: Added prompt when moving/renaming assets that are checked out/marked for delete remotely. (1195521)

  • Version Control: Added server fingerprint confirmation dialog when first-time connecting to an SSL Perforce server. (1199239)

  • Version Control: Asset lists in version control windows use natural sorting for numbers in file names now. (1188074)

  • Version Control: Clamped the height of icons to 64px in the Verify Save Assets window. (1196631)

  • Version Control: Ensured that the Meta file is included in the changelist prior to filtering assets in the MoveToChangeSet VCS task. (1187132)

  • Version Control: Fixed "Apply all incoming" button in VC window. (1190679)

  • Version Control: Fixed "Using the mouse wheel to scroll in the Submit and Revert windows is very slow". (1191813)

  • Version Control: Fixed merging asset types that don't have a .scene or .unity extension such as materials (.mat) and any other text-serialized formats (1181691)

  • Version Control: Fixed Provider.ResolveIsValid not now takes into account any conflicted files inside of folders. (1120219)

  • Version Control: Fixed Resolve window losing content after script recompile.

  • Version Control: Fixed Revert on a not-yet-saved but locally changed file not working with Asset Database V2. (1175518)

  • Version Control: Fixed RevertTask not reverting assets after rename while using PlasticSCM.

  • Version Control: Fixed SmartMerge (UnityYamlMerger) issue with negative Class and File IDs. (1198785)

  • Version Control: Fixed VC Window scrollbar auto-hiding when the list area should be scrollable. (1188096)

  • Version Control: Fixed VCS disconnect if calling Provider.Submit on assets that aren't checked out. (1173929)

  • Version Control: Have the Provider.Submit API automatically include meta files when sumitting a folder path as the asset list. (1158472)

  • Version Control: Introduced new public API methods (AssetDatabase.DeleteAssets and AssetDatabase.MoveAssetsToTrash) to speed up multiple asset deletion. (1174639)

  • Version Control: Made VCCache clean up references to moved/renamed folders after a move operation in VCS. (1181370)

  • Version Control: Remote Added/Deleted asset states were not correctly displayed in icon overlays. (1005610)

  • Version Control: Removed the 30 character limit for changeset descriptions. (1194728)

  • Version Control: Script Execution Order changes are now disabled for scripts that are remotely locked in Perforce. (593716)

  • Version Control: Stop OS alert sounds from being played when navigating the VC Window with the keyboard. (1187878)

  • Version Control: Submit of a changelist where some assets are locked remotely now produces better error messages. (1181112)

  • Video: Fixed spammed logs when transcoding video to H.265 when codec is unsupported. (1104432)

  • Video: Fixed VideoPlaybackCanPlayAudio playmode test instabilities on standalone OSX (1226388)

  • Web: Fixed module descriptions. (1179350)

  • WebGL: Exposed PlayerSettings.GetTemplateCustomValue and PlayerSettings.SetTemplateCustomValue publicly. (980500)

  • WebGL: Fixed an issue with build startup when using absolute path for WebAssembly module in WebGL. (1173262)

  • WebGL: Fixed large custom mouse cursors not appearing in WebGL builds. (1098758)

  • WebGL: Fixed web request failure when indexedDB is not accessible. (1189663)

  • WebGL: Increased number of simultaneously instantiated AudioSources.

  • Windows: Fixed the inconsistency between InternalEditorUtility.isApplicationActive and Editor's Window focus state on Windows. (1173067)

  • Windows: Fixed Windows Standalone bug where changes to the display resolution are not applied unless the new resolution is smaller than the previous one when in fullscreen mode. (1191897)

  • Windows: Maximized secondary windows from the editor now keep their bounds in synch with the taskbar on Windows. (1200932)

  • Windows: Run steps to set firewall rule using nsExec so console window does not show up. (934862)

  • XR: Fixed automatic upgrading for URP and HDRP projects

  • XR: Fixed editor crash when WMR is being used in URP.

  • XR: Fixed for renderViewport scale regression on Quest/GO. (1193958)

  • XR: Fixed Holographic Emulation Window remoting bug that caused Unity to remote to Hololens 1 devices when Hololens 2 was selected.

  • XR: Fixed Hololens 2 camera snapshots not containing Unity app content.

  • XR: Fixed IntegratedSubsystem instances that are destroyed will return running = false instead of throwing an exception.

  • XR: Fixed remoting to V2 devices from UWP x64 apps.

  • XR: Fixed shader compilation issue with com.unity.xr.arkit package. (1225383)

  • XR: Fixed Vulkan rendering on Oculus Go & Quest for off-screen swap chains. (1197328)

  • XR: Fixed XR warning spamming in Camera.SetStereoProjectionMatrix.

  • XR: Implemented full render pass/render param support for XR SDK providers. (1222873)

  • XR: OpenVR no longer reports any finger axes for any controller.

  • XR: Prevent Hololens app pause when switching focus to a 2D view within a running application.

  • XR: UnityEngine.XR.InputDevice feature values will now return Quaternion.identity for rotations that have not yet been set.

  • XR: Update XR Management to 3.0.6.

  • XR: Update XR Plugin Management for improved user workflow.

API Changes

  • 2D: Added: Add GridPaintingState.brushes to allow users to get a collection of all available Grid Brushes

  • 2D: Added: Add GridPaintingState.paletteChanged to allow users to add callbacks when the active palette has changed

  • 2D: Added: Added API to access SpriteSkin deformed buffer

  • 2D: Added: Expose PSDImporter class to be accessible via scripting

  • 2D: Added: Expose SpriteSkin component to be accessible from script

  • AI: Added: Added NavMeshBuildSettings.maxJobWorker to allow control over how many worker threads are utilized for building the NavMesh.

  • AI: Changed: Added the NavMeshBuildSettings.preserveTilesOutsideBounds option that allows NavMeshBuilder.UpdateNavMeshData() to retain any existing NavMesh tiles that have not been touched since the last update.

  • Animation: Added: Added SetEditorCurves and SetObjectReferenceCurves to AnimationUtility

  • Animation: Added: Migrated class AnimationModeDriver to public API.

  • Animation: Added: Migrated several functions in AnimationMode to public API. The functions are StartAnimationMode(AnimationModeDriver driver), StopAnimationMode(AnimationModeDriver driver), InAnimationMode(AnimationModeDriver driver) and SamplePlayableGraph(PlayableGraph graph, int index, float time).

  • Asset Import: Added: Added IgnorePNGGamma getter and setter to TextureImporter.

  • Asset Import: Added: Added AssetDatabase.ImportPackageItemsCallback to provide information about what UnityPackage contents the user selected to import.

  • DX12: Added: Added support for constant buffers set with the CommandBuffer.SetGlobalConstantBuffer and Shader.SetGlobalConstantBuffer methods in Ray Tracing Shaders. Fixed and improved all the Ray Tracing related Scripting API documentation.

  • Editor: Added: Added overloads to EditorGUI.ObjectField and EditorGUILayout.ObjectField. They take a targetBeingEdited parameter, so the ObjectField and object picker can determine which stage they can pick objects from (for example, the Main Stage or the Prefab Stage). (1116357)

  • Editor: Added: Added EditorUtility.ClearDirty, which tells Unity to not save an Asset to disk after making changes to it.

  • Editor: Added: Added HandleUtility.PlaceObject and placeObjectCustomPasses. Allows external code to influence drag and drop object placement in the Scene view.

  • Editor: Added: Added TypeCache.GetFieldsWithAttribute API for fast access to fields marked with a specific attribute.

  • Editor: Added: DefaultPreset.enabled allows to enable/disable a default Preset from the PresetManager without removing it from the default list. This allows to de-activate a default Preset setting without losing the setup in the manager.

  • Editor: Added: Exposed user display name on UnityConnect object.

  • Editor: Added: Made ApplyUSS and FromUSS public.

  • Editor: Added: Partial Preset API, allows you to exclude some properties on a Preset that will not be applied to the target object.

  • Editor: Added: Preset.GetAllDefaultTypes() can be used to get the list of all default PresetType registered in the PresetManager.

  • Editor: Changed: Modified the order of Scene View OnSceneGUI callbacks to invoke the active Editor Tool prior to the View Tool controls. This allows tools to override the Alt key, right mouse button, and middle mouse button shortcuts.

  • Editor: Removed: Removed EditorSnapSettings.active, EditorSnapSettings.enabled, and EditorSnapSettings.preferGrid. Use EditorSnapSettings.gridSnapEnabled instead.

  • GI: Added: Added new LightingSettings and moved over all settings there. Marked the old as deprecated.

  • GI: Changed: Improve additional probe bake API by baking octahedral depth maps per probe.

  • GI: Deprecated: Marked LightmapEditorSettings and Lightmapping APIs as deprecated, and replaced them with LightingSettings.

  • Graphics: Added: Add control on display of shadow mask option and reflection probe option in quality settings

  • Graphics: Added: Add SetComputeBufferCounterValue & SetComputeBufferData command to Rendering.CommandBuffer

  • Graphics: Added: Added a particle system info structure to inspect the actual status of a VisualEffect component

  • Graphics: Added: Added ComputeBuffer.Begin/EndWrite

  • Graphics: Added: Added MeshRenderer.enlightenVertexStream for Realtime GI UV mesh access. The Realtime GI system doesn't modify additionalVertexStreams any more. (1148742)

  • Graphics: Added: Added rendererProbes in the SupportedRenderingFeatures which allow to hide the Probes section in Renderers

  • Graphics: Added: Added the option to limit the amount of visible lights when doing culling with Scriptable Render Pipeline.

  • Graphics: Added: Exposed the default red, gray, and linearGray Texture objects using the Texture2D.red, Texture2D.gray, and Texture2D.linearGray properties.

  • Graphics: Added: Moved the following Shader property APIs from UnityEditor.ShaderUtils to UnityEngine.Shader to make them available in players.

    • FindPropertyIndex
    • GetPropertyAttributes
    • GetPropertyCount
    • GetPropertyDefaultFloatValue
    • GetPropertyDefaultVectorValue
    • GetPropertyDescription
    • GetPropertyFlags
    • GetPropertyName
    • GetPropertyRangeLimits
    • GetPropertyTextureDefaultName
    • GetPropertyTextureDimension
    • GetPropertyType
  • Graphics: Added: VisualEffectAsset events listing

  • Graphics: Added: VisualEffectAsset exposed properties listing

  • Graphics: Changed: Removed unused argument for UnityEditor.LightEditor/Settings::DrawRange

  • Graphics: Changed: renamed Apple.FrameCapture.BeginCapture to Apple.FrameCapture.BeginCaptureToXcode

  • iOS: Obsoleted: iOS.Notification Services is now deprecated and will be removed in the future. Consider using the Mobile Notifications package (available in the package manager) which implements the UserNotifications framework.

  • Mobile: Added: Added WebCamKind.UltraWideAngle to support new iPhone 11 Pro/Max camera type and ultra wide angle cameras on some Android devices

  • Package Manager: Removed: Removed support for the deprecated exclude project dependency keyword.

  • Particles: Added: Added NativeArray overloads to SetParticles and GetParticles

  • Physics: Added: Add "Physics2D.SimulationMode" to allow selection of three simulations modes: FixedUpdate, Update or Script.

  • Physics: Added: Added API to ArticulationBody for body activity lifecycle control: Sleep(), IsSleeping(), WakeUp() methods, sleepThreshold property.

  • Physics: Added: Added API to ArticulationBody for body manipulation: AddRelativeForce(Vector3 force), AddRelativeTorque(Vector3 torque), AddForceAtPosition(Vector3 force, Vector3 position), GetRelativePointVelocity(Vector3 relativePoint), GetPointVelocity(Vector3 worldPoint) methods.

  • Physics: Added: Added API to ArticulationBody for mass properties manipulation: centerOfMass, worldCenterOfMass, inertiaTensor, inertiaTensorRotation properties and ResetCenterOfMass(), ResetInertiaTensor() methods.

  • Physics: Added: Added API to ArticulationBody for simulation computations stability control: solverIterations, solverVelocityIterations, maxAngularVelocity, maxDepenetrationVelocity properties.

  • Physics: Added: Expose ArticulationBody.jointPosition, ArticulationBody.jointVelocity, ArticulationBody.jointAcceleration and ArticulationBody.jointForce to access the corresponding values in reduced coordinate space.

  • Physics: Deprecated: Replace "Physics2D.AutoSimulation" with "Physics2D.SimulationMode".

  • Profiler: Added: Add profiler marker filtering support (void ProfilerDriver.SetMarkerFiltering(string name))
    See https://ono.unity3d.com/unity/unity/pull-request/95897/_/editor/tech/profiler-marker-filtering

  • Profiler: Added: Added gcHandleIndex as a property to NativeObjectEntries within a PackedMemorySnapshot for simplified access to the index of it's managed counterpart

  • Profiler: Added: Added RawFrameDataView API for the fast allocation free access to Profiler data in the Editor.

  • Profiler: Changed: AttachToPlayerDropdown moved out of experimental and renamed as follows:

    • API in the UnityEditor.Experimental.Networking.PlayerConnection namespace has been moved to UnityEditor.Networking.PlayerConnection namespace
    • EditorGUI, EditorGUILayout, and EditorGUIUtility which resided in that namespace have also been renamed renamed to PlayerConnectionGUI, PlayerConnectionGUILayout, andPlayerConnectionGUIUtility` respectively.
    • ConnectionTarget, IConnectionState have been moved from the UnityEngine.Experimental.Networking.PlayerConnection namespace has been moved to the UnityEngine.Networking.PlayerConnection namespace.
  • Profiler: Removed: Removed the screenshot property of the Metadata type used by the PackedMemorySnapshot

  • Scripting: Added: Added Application.unloading event which will be executed before unloading process starts. (1190458)

  • Scripting: Added: Added new API for specifying preprocessor defines for player only assemblies - Build.Player.ScriptCompilationSettings.extraScriptingDefines, BuildPlayerOptions.extraScriptingDefines. Previously you would need to use PlayerSettings.SetScriptingDefineSymbolsForGroup, but that causes recompilation of Editor scripts, which is not what you would want, when specifying defines only for assemblies used by player.

  • Scripting: Added: AtomicSafetyHandle.NewStaticSafetyId()

  • Scripting: Added: AtomicSafetyHandle.SetCustomErrorMessage()

  • Scripting: Added: AtomicSafetyHandle.SetStaticSafetyId()

  • Scripting: Added: Introduced UnityEngine.Profiling.Profiler.GetTotalFragmentationInfo(NativeArray<int> stats) script function.
    This reports heap fragmentation information - stores free block counts in power of two buckets in stats[] array. Returns the total number of free blocks of all sizes.

  • UI Elements: Deprecated: VisualTreeAsset.CloneTree() is deprecated in favor of VisualTreeAsset.Instantiate().

  • UI Elements: Obsoleted: Button.onClick is now obsolete. Use Button.clicked instead.

  • UI Elements: Removed: Removed borderColor property from IStyle and IResolvedStyle

  • Version Control: Obsoleted: Deprecated MergeMethod C# enum, it never did anything useful.

  • WebGL: Added: Introduced PlayerSettings.WebGL.wasmArithmeticExceptions property, which allows to control WebAssembly trapping behaviour.

  • XR: Added: Exposed XRSDK zNear/zFar/sRGB to c# script explicit depth sharing.

Changes

  • 2D: Allowed users to set 0 for Offset Distance for a Composite Collider 2D.

  • 2D: Changed default shortcut key for "Animation/Create Vertex" from "Shift-D" to "Shift-J".

  • 2D: Changed default shortcut key for "Animation/Weight Brush" from "Shift-C" to "Shift-N".

  • 2D: Packing ags based Legacy Packer is being deprecated and will be removed in a future release. Users are encouraged to migrate to the newer Sprite Atlas or Sprite Atlas Version 2 systems.

  • 2D: Remove unused Reset Bounds button from SpriteSkinEditor

  • 2D: Renamed Can Change Z Position to Lock Z Position in the Brush Inspector of the Tile Palette window.

  • 2D: Updated icons used in the Tile Palette toolbar.

  • Android: Android Library Project plugins now require to be directories with .androidlib "extension"; can be place anywhere inside Unity project.

  • Android: Dynamic resolution when using Vulkan now only supports scale factors in 5% steps to improve performance when switching resolution.

  • Editor: C# compiler warnings are no longer emitted for readonly packages.

  • Editor: EulerAngles and LocalEulerAngles have improved precision. This may result in a different equivalent rotation.

  • Editor: Mark unity remote as deprecated inside ProjectSettings->Editor

  • Editor: Opening a new Project Browser now defaults to list view instead of icon view. This provides the best overview of asset names.

  • Editor: Revert reintroduction of OnDestroy/Awake calls for ExecuteAlways scripts when we enter Play Mode with the Scene Reload disabled.

  • Editor: Tree component is not preset-able anymore.

  • Editor: Unity projects now have a top-level folder called "UserSettings". The EditorUserSettings.asset moved from Library to UserSettings. (960774)

  • Editor: Updated the Progress bar API.

  • Editor: When a compile error is emitted for an assembly, clear all compile errors for all assemblies that reference it directly or directly. This improves workflows when dealing with compile errors, as fixing an assembly's compile errors might also fix compile errors in any assemblies that reference the assembly directly or indirectly.

  • Editor: EditorUtility.DisplayProgressBar now only shows the progress dialog after 0.3 seconds. The progress bar user interface updates every 0.1 seconds. This fixes performance issues that occurred when a script called DisplayProgressBar often.

  • GI: Changed the name of the Lighting Window to just "Lighting".

  • GI: Increased minimum specification for GPU lightmapper to 4 GB of video memory.

  • GI: LightingSettings asset is only created when saving an upgraded project

  • GI: Making Enlighten fully deprecated when using a SRP that doesn't support it.

  • GI: The Prioritize view checkbox in the Lighting window is now Progressive updates. In non-progressive mode lightmaps are composited once they are fully converged.

  • Graphics: compile on import support for Visual Effect Assets

  • Graphics: Enable sampler precision for compute shaders on HLSLcc platforms (1213349)

  • Graphics: Enable stripping of unused shader constants from Vulkan compute shaders (1213349)

  • Graphics: Implement stencil binding support for Vulkan

  • Graphics: Update embedded graphics packages (srp / vfx / shadergraph) to 8.1.0

  • Graphics: Upgrade embedded SRP packages (shadergraph, vfx, universal, and hdrp) to version 8.0.1

  • iOS: Launch Images are no longer supported, as per new Apple guidelines

  • iOS: Made iOS 11 minimum support iOS version

  • iOS: Removed Armv7 (32 bit) support

  • Kernel: Support zero worker threads in the Unity JobQueue. Zero worker threads is supported at boot time using command line option or boot.config option "job-worker-count" and at runtime time using the "Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount" API.

  • Mobile: Adaptive Performance - Fix Analytics system error with unloaded subsystem.

  • Mobile: Adaptive Performance Samsung Provider - GameSDK 3.2 has a different behaviour when setting frequency levels and warning level 2 (throttling) is reached and you are always in control of the CPU/GPU level.

  • Mobile: Adaptive Performance Samsung Provider - GameSDK 3.2 uses a wider range of temperature levels and maximum temperature level is changed to level 10.

  • Mobile: Removed Game SDK 3.1 initialization due to issues in GameSDK 3.1. Any other GameSDK version is still supported.

  • Multiplayer: The unet multiplayer hlapi package is no longer automatically added to older projects opened in the editor. This now needs to be manually added with the Package Manager.

  • Package Manager: Added verified status to Cinemachine, and updated the minimum version.

  • Package Manager: Version conflicts involving a direct project dependency are now reported like any other version conflict instead of being silenced.

  • Profiler: Renamed profiler marker Material.SetPassUncached to Material.SetPassCacheMissed

  • Scripting: Incremental GC is now enabled by default for new projects

  • Scripting: Strong name assembly references only validate if the assemblies is in different folders.

  • Shaders: When running with -nographics, shaders will now treat all of their subshaders as 'not supported.' This means that in -nographics environments, APIs like Shader.isSupported will return false, and also that shaders should consume much less memory because they will no longer keep all the unusable compiled shader code in memory.

  • Timeline: Creating a new Timeline will no longer automatically add an Animation Track and an Animator to the target GameObject.

  • Timeline: Ease-in and ease-out values for clips are no longer restricted to 50% of the clip's duration.

  • Timeline: Updated default Timeline package version to 1.3.2.

  • UI Toolkit: Renamed menu entries of UIElements to UI Toolkit.

    • Window/Analysis/UIElements Debugger becomes Window/UI Toolkit/Debugger
    • Window/UI/UIElements Samples becomes Window/UI Toolkit/Samples
    • Create/UIElements/Editor Window becomes Create/UI Toolkit/Editor Window
    • Create/UIElements/USS File becomes Create/UI Toolkit/Style Sheet
    • Create/UIElements/UXML Template becomes Create/UI Toolkit/UI Document
    • Remove mentioned of UIElements in the output of the Editor Window script generator
  • Version Control: Moved VCS settings to a separate panel under Edit/Project Settings. (1184063)

  • Version Control: Removed "Host" (P4HOST) setting from Perforce plugin UI

  • XR: Temporarily disabling runtime MSAA level changes if running with Vulkan and XR Management.

  • XR: Unity no longer includes the ARCore client libraries. These libraries are now added to a project by installing the ARCore SDK for Unity (distributed by Google).

  • XR: Updated Oculus XR Plugin package to 1.3.4.

Improvements

  • 2D: Added ability to specify Corners properties

  • 2D: Added example in manual to show how to set PSDImporter as default importer for PSD files

  • 2D: Added message to inform user on dependent packages when viewing certain sample Scenes in com.unity.2d.animation

  • 2D: Added Tilemap InsertCells/DeleteCells API to insert rows, columns and layers of cells to a Tilemap.

  • 2D: Adjust length of popup and value fields for Weight Slider Window in Skinning Module

  • 2D: Allow reordering of bone order in Bone Influence window. This is to allow fine tuning of bone order when shown in SpriteSkin's Inspector

  • 2D: Allowed GameObjects to be shown in the Tile Palette window.

  • 2D: Allowed Gizmos from OnDrawGizmos to be shown in the Tile Palette window.

  • 2D: com.unity.2d.animation 4.0.1
    Changed how Samples are imported into the user's project.
    Updated Third Party Notices file.

  • 2D: com.unity.2d.pixel-perfect 3.0.1
    Samples now deployed as individual files.
    Made the Editor class internal.
    Changed License file.

  • 2D: com.unity.2d.spriteshape 4.0.1
    Updated License file.
    Updated Third Party Notices file.
    Changed how Samples are installed into user's project.

  • 2D: Fixed an issue where Cinemachine Pixel Perfect Extension didn't work when CinemachineBrain Update Method is anything other than Late Update. (1209977)

  • 2D: Fixed SpriteShape Corner Threshold does not work (1226847)

  • 2D: Fixed SpriteShape Edge Collider does not extend to End-point even if Edges dont overlap (1226856)

  • 2D: Fixed when Collider generation allocation (1226841)

  • 2D: Improved CalculateHash performance by not loading unnecessary objects.

  • 2D: Improved deformation performance when Collection and Burst package is installed

  • 2D: Improved Memory Allocations.

  • 2D: Improved placement of Tiles in Tile Palette for Sprite sheets which have gaps between Tile Sprites.

  • 2D: Improved SpriteSkinEditor UI

  • 2D: Made Tilemap.tilemapTIleChanged and Tilemap.SyncTile public.

  • 2D: PSB Imported Sprites are now supported for packing even if they are inside a folder.

  • 2D: Sprite Editor window Skinning Module's Bone and Sprite Visibility state persists after user select 'Apply Changes'.

  • 2D: Tilemap.GetSprite now returns the currently animated Sprite for an animated Tile instead of the initially set Sprite.

  • 2D: Updated 2D Packages for Unity 2020.1:
    com.unity.2d.animation to 4.0.0;
    com.unity.2d.common to 3.0.0;
    com.unity.2d.path to 3.0.0;
    com.unity.2d.pixel-perfect to 3.0.0;
    com.unity.2d.psdimporter to 3.0.0;
    com.unity.2d.spriteshape to 4.0.0.

  • AI: Box sources aligned to the local axes of the NavMesh are processed faster than before when building the NavMesh.

  • Android: Add AndroidApiLevel29 to UnityEditor.AndroidSdkVersions

  • Android: Add OpenGL ES support of FrameTimingManager API.

  • Android: Add support for GL_EXT_texture_compression_astc_decode_mode

  • Android: Added support for Android Library projects, created using current Android Studio, as plugins.

  • Android: Avoid redundant framebuffer restores when using Vulkan

  • Android: Conversion between C# and Java arrays of matching types is much faster (up to 2 orders of magnitude for large arrays).

  • Android: Documentation clarified for Application.targetFrameRate behavior on mobile devices.

  • Android: Enable support for RenderTextureFormat.RGB111110Float when using Vulkan on Adreno

  • Android: Expand uncaught exception information. Added additional information when uncaught exception is thrown. Previously it would print Unity version, Device model, Device fingerprint. Now it will also print - Build Type, Scripting Backend, ABI, Strip Engine Code value. Note: In Android 8, google no longer allows to embed additional information for uncaught exceptions, thus this change will be visible on Android 7.0 or lower.

  • Android: Framerate will be decided automatically when optimized frame pacing is enabled and vsync is disabled

  • Android: Improve error messages for cases where android application fails to load libmain.so. Previously it was printing "Unable to find main", now it will print "Failed to load 'libmain.so', the application will terminate.", additionally it will print exception from System.loadLibrary with detailed info, where the application was looking for libmain.so

  • Android: Improved stacktrace resolving performance by up to 30% on ARM64 Il2CPP (stacktrace resolving occurs in cases like - exception is thrown, or Debug.Log* is called, etc)

  • Android: Support external displays when using Vulkan

  • Android: Update Android Logcat package version to 1.1.0

  • Android: Update Android Logcat package version to 1.1.1

  • Android: Update Screen.currentResolution.refreshRate in case the display refresh rate changes

  • Android: When exporting a gradle proejct, il2cpp generated native files will be also copied to gradle project, the il2cpp library will be compiled/linked via gradle. Previously il2cpp library was being precompiled/prelinked by Unity when exporting project. This improvement gives you an ability to both debug and profile il2cpp files when needed, it also increases your control over the build pipeline. Note: If you don't export a project, il2cpp library will be linked by Unity as it was before.

  • Animation: Added functions to HumanPoseHandler in order to get and set joint transforms.

  • Animation: Added rotation unroll filter to the GameObject recorder.

  • Asset Import: Added support for components custom attributes in Sketchup importer.

  • Asset Import: Added the IgnorePNGGamma setting to the Texture Importer. (1172234)

  • Asset Import: Changed the ScriptedImporterEditor to support multi-selection by default.

  • Asset Import: Optimized shader import times using asynchronous compilation for error checking.

  • Asset Pipeline: Cache server UI icons and design.

  • Build Pipeline: Unity now supports serialized data files & Asset Bundles that are >2GB in size.

  • Editor: UnityEvent can now set persistent listeners on static functions from any class.

  • Editor: Add verified package, Quick Search 1.4.

  • Editor: Added Cut and Paste As a Child functionality to the Scene Hierarchy

  • Editor: Added a callback for external code to append additional settings to the Camera Settings window in the Scene View.

  • Editor: Added a preference to instantiate new GameObjects created through the "GameObject" main menu at world origin.

  • Editor: Added ability to visualize 3D texture via Handles API

  • Editor: Added an error if a method called by -executeMethod has arguments.

  • Editor: Added an error if the return type of an async method called by -executeMethod is not void.

  • Editor: Added copy/paste support for most Inspector fields, including vectors, colors, object references, gradients, and animation curves. Copying produces text in the system clipboard. The copied values can be pasted into another Unity instance.

  • Editor: Added multi-selection to the console. You can now copy multiple entries and use Cmd/Ctrl + A to select all.

  • Editor: Added options for copying and pasting position, rotation, and scale individually to the Transform popup menu.

  • Editor: Added renderdoc-like integration for metal frame capture, changed icon to be independent of capture tool

  • Editor: Added UnityEditor.iOS.Xcode.XcScheme to control some xcode scheme options, like enabling metal validation

  • Editor: Adding inspector interaction to use Partial Presets. It now possible to Exclude/Include a property in a selected Preset from its inspector.

  • Editor: Animation Events can be copied & pasted in the animation window and model import settings animation events inspector.

  • Editor: Clarified error messaging on the event of shader compiler timeout.

  • Editor: Cleaned up Console window toolbar buttons. The Clear options are now in the drop-down menu. Behavior at narrow window widths improved. Added tooltips. (1201472)

  • Editor: CubemapArray assets now have a preview in the inspector

  • Editor: Extended incremental numbering scheme for duplicated/pasted objects to handle more naming styles. In addition to Name (1) pattern now it supports Name [1], Name {1}, Name &lt;1&gt;, Name 1, and Name1. For example, duplicating Duck-3 now produces Duck-4 instead of Duck-3 (1).

  • Editor: Icons in the lower right corner of the Editor status bar now have tooltips.

  • Editor: Improved GUI style extension painter performance by 1 ms for ~100 draw calls.

  • Editor: Improved Mesh Preview in the Inspector. New modes were added that allow viewing the UV layout, preview the model with a checkered texture map or show its vertex colors/normals/tangents as colored maps.

  • Editor: Improved performance when dragging Materials over the Scene view.

  • Editor: Improved performance when dragging Materials over the Scene view.

  • Editor: Improved progress bars for long operations in the Editor. For example, opening Projects and building game data.

  • Editor: Improved sharpness and clarity of scene view Gizmo textures when they are far away.

  • Editor: Improved the context menus for Sub Scenes.

  • Editor: Improved the UI of the window and the glabal progress bar

  • Editor: In the Scene view Camera settings window, it is now possible to copy/paste the Camera placement, and use entries in the Widget menu.

  • Editor: Made various UX improvements to progress bars. Increased the delay for automatic "busy" progress bars in the Windows Editor to 3 seconds. The delay is configurable in Preferences. Also on Windows, using the Ctrl+C shortcut while a progress dialog has focus copies the progress text to the clipboard.

  • Editor: Make Avatar configuration make use of a stage. It no longer requires saving unsaved scene changes before configuring the avatar.

  • Editor: On Windows, the Editor opens a progress indicator automatically whenever the it is not responsive for longer than one second.

  • Editor: One-time use windows like color picker, object selector, and gradient editor now always open next to the mouse position.

  • Editor: Optimized the EditorPrefs API.

  • Editor: PresetManager display ScriptableObject registered with [CreateAssetMenu] in the Add Default dropdown so they can be added in the default system.

  • Editor: Provided access to the linkLabel style.

  • Editor: Released Quick Search 1.5.2, which includes minor fixes and improved performance.

  • Editor: Released Quick Search 1.5.3, which includes minor fixes and improves Asset store test stability.

  • Editor: Remove 'enable' from 'Frame Timing' and 'Lightmap Streaming' properties in Player Settings to be consistent with all other Player Settings properties.

  • Editor: Scene view custom camera FOV is now the actual FOV, makes it easier to make scene & game cameras match. Default FOV changed to 60 degrees.

  • Editor: Scene View Frame Selected ("F" key) better frames objects, and handles more object types now (2D colliders, cameras, area lights, audio sources & reverb zones, NavMesh agents & obstacles, light probe groups & proxy volumes, force fields & wind zones).

  • Editor: Show additional build information with editor version strings, especially for builds that not are the final release.

  • Editor: The preset manager can use the glob:"pattern" to filter on the imported Asset Path instead of only its name. The following patterns are supported:

    • **: The current folder or any other folder/subfolder.
    • *: Any character except the folder separator /.
    • ?: Any one character except /.
    • []: Any of the specified characters, or a range if - is used between two characters.
    • (|): Between all the patterns separated by the pipe character |. You can use multiple pipes |.
  • Editor: The Project browser search can use glob:"pattern" to search in the Project using a Glob search.

  • Editor: Update com.unity.ide.vscode package to 1.1.4

  • Editor: Updated Quick Search to version 1.5, which includes improved indexing for Assets, and provides a new QueryEngine API.

  • GI: Added UI for selecting GPU lightmapper device in the Lighting window. No command line argument is needed any more.

  • GI: Compressed transparency textures for GPU lightmapper, 75% memory reduction for transparency textures by using rgba32 instead of floats.

  • GI: Faster lightmap seam stitching by using multithreading and improved memory allocation strategy.

  • GI: GPU lightmapper can now write out the filtered AO texture to disk, alongside the Lighting Data Asset. Only available in On Demand mode. Only available through experimental API.

  • GI: Implemented A-Trous lightmap filtering for GPU lightmapper.

  • GI: Improve the sampling of the lightmapper, remove the correlation issues.

  • GI: Improved memory allocation strategy for GPU lightmapper on AMD GPUs

  • GI: Improved memory allocation strategy for GPU lightmapper on Nvidia GPUs (Windows only).

  • GI: Limit memory allocations for light probes to fit in available memory when baking with progressive lightmappers.

  • GI: Make the update of Light Probe Proxy Volumes components only once per frame and not per camera render since these components are not camera relative.

  • GI: Progressive lightmappers will display the number of lightmaps that will be generated, in the Lighting window, as soon as atlassing stage is done.

  • GI: Reduced GPU memory usage when baking lighting with the GPU lightmapper by using stackless BVH traversal.

  • GI: Reduced memory usage for light probe occlusion baking when baking with the GPU lightmapper.

  • GI: Show user friendly name in the Lighting window for AMD GPUs on Windows and Linux instead of GPU code name.

  • GI: Support the Experimental custom bake API for GPU lightmapper.

  • GI: The Radeon denoiser now works on Nvidia GPUs.

  • GI: Upgrade lightmap denoiser to Intel Open Image Denoise 1.1.0 (1152418)

  • Graphics: Acquire Vulkan swapchain semaphore as late as possible to improve performance

  • Graphics: Added an option to HLSLcc that attempts to preserve varying locations

  • Graphics: Added API to bind constant buffers directly to ComputeShader instances

  • Graphics: Added compressed texture format support to Texture3D (use SetPixelData to set compressed data). (1198200)

  • Graphics: Added image readback support for R32F and R16G16F, which Texture2D.ReadPixels uses.

  • Graphics: Added Mesh.MeshData API for NativeArray/Jobs/Burst compatible way of reading and writing mesh data.

  • Graphics: Allows using any supported GPU formats thanks to GraphicsFormat on Vulkan.

  • Graphics: Binding ComputeBuffers as constant buffers to ComputeShader (locally or globally) is now supported on GL

  • Graphics: Debug.DrawLine now callable from C# jobs

  • Graphics: Frame Debugger no longer expands whole scene draw call hierarchy when opened; only top-level items.

  • Graphics: improved internal function GetResourcePath performance.

  • Graphics: Improved the error messaging interface when incorrectly setting up texture stacks.

  • Graphics: Improved Vulkan device selection

  • Graphics: Improves DX12 performance with hybrid renderer.

  • Graphics: Mesh.SetVertices, SetNormals and friends got optional MeshUpdateFlags argument.

  • Graphics: PS4 2d textures load faster. More processing is done offline to improve load times.

  • Graphics: Reduced memory allocation when using VT in editor. (1225102)

  • Graphics: Support Alembic vertex caches and other triangular procedural geometries (updated from C# scripts) in Ray Tracing. Dynamic Geometry Ray Tracing Mode in Mesh Renderers will make the associated acceleration structure update every frame.

  • Graphics: Texture loading now faster when quality setting set to reduced texture quality.

  • Graphics: Texture3D inspector preview now has Slice, Volume and Signed Distance Field visualization modes.

  • Graphics: Unified internal HDR tonemapping blit phase for graphics targets that support it (DX11/DX12/Vulkan), reduces number of blits required

  • Graphics: Visual Effect rendering can now be hidden in the scene views.

  • Graphics: XboxOne 2d textures load faster. More processing is done offline to improve load times.

  • HLSLcc: Remove redundant type casts when translating instruction LD

  • IL2CPP: Improved performance compiling projects with large number of assemblies.

  • IL2CPP: Use precompiled headers to improve performance of generated C++ compilation.

  • iOS: Added GameID to the Social API it will return GamePlayerID when using GameCenter (1176134)

  • iOS: Backbuffer depth is discarded at frame end. In case of MSAA backbuffer color is simply resolved (instead of store+resolve)

  • iOS: Changed builtin xib launch screens to storyboard

  • iOS: Social.localUser.ID will return the TeamPlayerID instead of GameCenterUsersID on iOS 12 and above (1176134)

  • iOS: When building XCode project, gpu frame timing is disabled, and, if building debug config, frame capture and metal validation is enabled

  • iOS: XCode API now supports adding public headers (1204663)

  • iOS: [Metal] Depth-only RenderPass enabled

  • Kernel: Fix crash when empty filename is passed to AsyncReadManager.Read API

  • Kernel: Optimisation for Job system when main thread is waiting on jobs to complete.

  • Kernel: Reduce number of scheduled jobs by merging cleanup jobs into complete tasks where possible.

  • macOS: Added "-enable-metal-capture" command line arg to enabled frame capture

  • macOS: Changed the title bar color of normal windows to clarify UI depth

  • macOS: Pen devices are now supported under the new input system on the mac platform

  • macOS: Reduced the amount of encoders used for compute skinning and general compute

  • macOS: Remove project name in the normal window title bar

  • Mobile: Update Adaptive Performance Samsung Android package to verified version 1.1.1.

  • Mobile: Update verified package Adaptive Performance and Samsung provider to 1.1.6

  • Package Manager: Added a diagnostic check to Package Manager Diagnostics that starts Unity Package Manager and sends a request to its health check endpoint.

  • Package Manager: Added tooltips to the In-progress spinner in the Package Manager Window.

  • Package Manager: Adds new icons and tooltips in the Package Manager Window.

  • Package Manager: Improved project loading time through caching Unity Package Manager state on disk.

  • Package Manager: Prevented switching to the All Packages mode ehen selecting a UPM Asset Store package in My Assets.

  • Package Manager: Updated com.unity.adaptiveperformance and com.unity.adaptiveperformance.samsung.android verified packages to 1.1.0.

  • Physics: Collider2D can now produce an unlimited number of contacts whereas previously they were limited to 64 each.

  • Physics: EdgeCollider2D now has adjacent edge feature allowing the control of collision normals when contacting the start or end points of the collider.

  • Physics: Expose Physics.defaultMaxDepenetrationVelocity, limit it to 10 m/s by default to avoid violent penetration resolution that affects stability

  • Physics: Make the MeshCollider fast midphase work on all platforms. (1213433)

  • Physics: Reduce managed allocations happening inside of Cloth particle getters such as GetSelfAndInterCollisionIndices, GetVirtualParticleIndices, GetVirtualParticleWeights

  • Prefabs: Add EditPrefabContentsScope struct as a useful wrapper for LoadPrefabContents, SaveAsPrefabAsset and UnloadPrefabContents for editing Prefab Assets. See the docs for more info.

  • Prefabs: New workflow feature for Prefabs: "Prefab Mode in Context". By default when opening a Prefab instance in Prefab Mode it will now be opened in Context. To open in Isolation press the modifier key Alt while opening.

  • Prefabs: The Overrides dropdown buttons "Revert All" and "Apply All" now change to "Revert Selected" and "Apply Selected" when multiple override items are selected. This can speed up workflows, particularly when wanting to apply or revert everything except a few items. (1101411, 1106861)

  • Profiler: Added an option for JobHandle.Complete() callstacks collection.

  • Profiler: Added Material.InvlidateCache profiler marker

  • Profiler: Added option to show stats values on current frame

  • Profiler: Hierarchy and Timeline view no longer display frame data while profiling unless "Live" toggle is pressed, reducing the Editor Overhead while profiling Edit or Play Mode.

  • Profiler: Increased maximum memory that can be used by profiler to 128MB.

  • Profiler: Make the profiler out-of-process accessible as an experimental feature.

  • Scripting: Added a parameter to FindObjectOfType and FindObjectsOfType called
    includeInactive, this will return objects that are also attached to
    disabled GameObjects. (1142715)

  • Scripting: Added inline documentation, constructors and implicit conversion operators to LazyLoadReference.

  • Scripting: Added locking around tls->frames usage/freeing in the mono debugger. This eliminates some crashes involving memory corruption while using the managed debugger as well as a known hang.

  • Scripting: Hash128 can now hash ints, floats, unmanaged structs, arrays, lists, native arrays and slices of them, in both one-shot (Compute) and incremental (Append) modes.

  • Scripting: Implemented Reset behaviour to WaitForSecondsRealtime. (1189949)

  • Scripting: Improve error message when passing a JobHandle in a job struct (1215236)

  • Scripting: Improved Performance of DefineConstraintsHelper

  • Scripting: The serializer can now serialize fields of generic types (e.g. MyClass<int> someField) directly; it is no longer necessary to derive a concrete subclass from a generic type in order to serialize it.

  • Services: Addition of a way to reference a service inside a package.

  • Shaders: Compute shaders are now compiled in the background instead of during the import.

  • UI: Added a graphic hit detection offset so the area on which a graphic is considered to be under the pointer can be different than its RectTransform.

  • UI: Added soft masking and masking offset for RectMask2D.

  • UI: Added the ability to reverse the order of layout group children.

  • UI Elements: A can now appear anywhere in the document, as long as it appears before the tag that refers to it.

  • UI Elements: Added type attribute to ObjectField UXML attributes. This allows you to specify a type and associated Assembly. For example ". If you are unsure of the type string to use, you can use typeof(MyType).AssemblyQualifiedName to get the full string.

  • UI Elements: Added support for a command handler to retrieve the window that is being debugged.

  • UI Elements: Added UxmlTypeAttributeDescription, which makes it possible to provide types and assemblies as an attribute in UXML.

  • UI Elements: can now appear as a direct child of.

  • Version Control: Added "Custom" diff tool option in editor preferences (940881)

  • Version Control: Added 'strip' command to YAMLMerge that can generate a new file with only the differences between the first two

  • Version Control: Added a search bar to the Version Control window. (1185406)

  • Version Control: Fixed pending window hiding the refresh button when scaling said window. Changed the Version Control Window's pending tab buttons to no longer switch tabs when double-clicked.

  • Version Control: Improve VCS asset deletion message when offline. (1176212)

  • Version Control: Inspector import settings Apply button now only checks out the .meta file. For non-Unity assets (images, meshes etc.), Check Out only checks out .meta, and Open checks out the asset. Open button is now enabled for non-checked out assets too. (1162487)

  • Version Control: New Version Control overlay icons.

  • Version Control: Optimised VCAsset.IsOneOfStates

  • Video: All VideoClipImporter can be edited in Presets.

  • Web: UnityWebRequest: Add support for data uploading using GET method. (1183281)

  • Web: UnityWebRequest: the new result property will tell if request is completed successfully or what kind of failure occurred. DownloadHandler class also has new property error, which will give descriptive message if a failure occurred when processing received data.

  • XR: Updated Oculus XR Plugin to 1.2.0

  • XR: Updates XR Oculus Plugin to 1.1.5

Features

  • Asset Import: Added analytics tracking for Asset Importers settings, assetPostProcessor usage, and Authoring DCC for 3D Model Assets.

  • Asset Import: The Asset Importer has increased the maximum Texture import resolution to 16384.

  • Asset Pipeline: Add support for directory monitoring to speed up refresh

  • Asset Pipeline: Added AssetDatabase.DisallowAutoRefresh and AssetDatabase.AllowAutoRefresh to the C# API.

  • Asset Pipeline: Cache server information in the status bar.

  • Audio: Added support for importing .flac files

  • Cache Server: Added shader variant caching with cache server v2.

  • DX12: Support for texture array and 3D volume based mip map generation has been added for DX12. Mip map generation should be more performant for texture 2ds as well.

  • Editor: Add focused Inspector, a property editor to inspect single object.

  • Editor: Added a button in the Grid and Snap Settings window to move the grid to the active handle position.

  • Editor: Added a collapsible version of SceneView Overlays.

  • Editor: Added progress bars for asynchronous background tasks.
    Feature
    Document

  • Editor: Added support for one-finger scroll.

  • Editor: Enable HDR display support and HDROutputSettings C# API availability when using DX12

  • Editor: Introduced PreviewSceneStage. Implement custom stages by inheriting from this class.

  • Editor: Made ApplyUSS and FromUSS public.

  • Editor: Support to switch between debug and release code optimizations without restarting the Unity Editor improving Unity Editor performance when compiling in release.

  • GI: Add an experimental explicit baking API for probe related data.

  • GI: Add Russian roulette for CPU lightmapper. Add setter in UI to select at which bounce the russian roulette starts.

  • GI: Added all lighting settings as an asset. This will allow the user to share them between scenes or switch them out in an easy way. Icon and inspector is still missing.

  • GI: Added baked LOD support for the GPU lightmapper.
    image

  • GI: Added support for baking light cookies to the progressive lightmapper backends.

  • GI: New scene view debug mode called "GI Contributors / Receivers" that helps you see the GI mode of your renderers.

  • GI: New setting in Mesh Importer for UV unwrap generation that ensures no texel bleeding in lightmaps.

  • Graphics: Add ability to read attribute in spawn graph (require new package)

  • Graphics: Add HDR display support for Vulkan on Windows

  • Graphics: Add support for Virtual Texturing to the Editor and Player

  • Graphics: Added GPU Conservative Rasterization state support in shaders ("Conservative On" in .shader file)

  • Graphics: Added HDROutputSettings script interface to retrieve information from an HDR display and to allow for custom color space conversion and tonemapping when working with HDR displays

  • Graphics: Added support for ray tracing procedural geometry, which is an AABB-only acceleration structure using an intersection shader.

  • Graphics: Added support for Skinned Mesh Renderers in Ray Tracing

  • Graphics: Added Texture MipMap Stripping as a player setting, which removes mips that will not be used due to the quality settings from Texture2Ds at build time.

  • Graphics: Allow selection of number of swapchains for Vulkan through Player Settings

  • Graphics: GetPixelData API was added to Texture2D, Texture3D, Texture2DArray, Cubemap and CubemapArray classes. It allows getting a pointer to the data of a particular mip level/array element in a Texture for reading/writing, and without creating any memory allocations (similar to Texture2D.GetRawTextureData).

  • Graphics: Improve time management : Add new modes and accessible times through graph

  • Graphics: Metal: Add HDR display support for macOS 10.15 Catalina

  • Input: The Input System has moved out of preview.

  • iOS: Added API to programmatically control XCode Frame Capture (UnityEngine.Apple.FrameCapture)

  • iOS: Added Sparse Texture support

  • Kernel: Added NativeArray<T>.ReadOnly.

  • Linux: Added support IL2CPP scripting backend support for Linux Standalone player

  • macOS: Switch dockable windows to native OS container with window decorations on Mac

  • Package Manager: Added Preview Packages In Use drop down menu.

  • Package Manager: Added new "Enable Preview Packages" Project setting for Package Manager.

  • Package Manager: Added support for a Git package to be located in a repository sub-folder.

  • Package Manager: Added UX support for the UPM package format hosted on the Asset Store.

  • Package Manager: Introduced two new environment variables to override user and global configuration files path: UPM_GLOBAL_CONFIG_FILE overrides the default path of the global configuration file; and UPM_USER_CONFIG_FILE overrides the default path of the user configuration file.

  • Package Manager: Moved the Reset Packages option to the bottom of the Advanced menu in Package Manager window, and added a separator between it and the preceding options.

  • Package Manager: The Package Manager window now displays a package's reverse dependencies.

  • Package Manager: The Package Manager window now supports sorting and filtering by metadata for Asset Store packages, and supports sorting for other tabs.

  • Package Manager: The selection experience in the Package Manager window now matches other Editor windows in terms of color scheme, and the behavior of undo/redo. A custom editor shows the selected package's information.

  • Package Manager: Updated the look of the Package Manager window to highlight preview package usage.

  • Particles: Abiltiy to save and restore Particle System state data, making it possible to save a snapshot of an entire Particle System at a point in time. A use case for this is for efficient rewind support, by saving periodic keyframes of the particle state, to avoid full resimulations.

  • Particles: Lifetime by Emitter Speed Module, for controlling how long-lived particles are based on the speed of the emitter at the time they were emitted. This is for instance useful for moving fire.
    image

  • Particles: New Freeform Stretching mode where particles don't look squashed when viewed head-on, and where particle rotation is independent from stretching direction.
    image

  • Physics: Add a new component ArticulationBody that helps to create articulations. An articulation is a set of bodies, some of which have their relative motion constrained. All bodies are organized in a logical tree, where parent-child relation expresses the constrained motion. Unlike regular Rigidbodies with Joints, articulations are solved with a different solver (Featherstone) in reduced coordinates which guarantees there will never be any stretch of locked degrees of freedom. Typical examples of articulations include robotic arms, ragdolls, etc.

  • Player: Pulling Unity Player logs after test runs as they are useful artifacts.

  • Profiler: CustomSampler and Recorder API have been extended to GPU. Use gpuElapsedNanoseconds and gpuSampleBlockCount to get GPU metrics at runtime on the final player device. ( you can use supportsGpuRecorder graphics caps flag to check platform support )

  • Profiler: The flow of job execution can now be visualized in the CPU Profiler's Timeline by selecting Show Flow Events in the timeline's context menu.

  • Services: The Services Window is refactored to remove the usage of CEF.

    • Uses UIElements for UI
    • All the configurations are available in the Project Settings window
    • The deprecated Multiplayer service has been removed.
  • Shaders: Added keyword based variant management for compute shaders (multi_compile support).

  • Shaders: New shader preprocessor (experimental).

    • Faster shader compilation.
    • Accurate include dependency tracking.
    • "#pragma" directives can now be inside preprocessor conditional blocks, but only when those conditions do not depend on keywords originating from other "#pragma" directives or from project settings.
    • Supports "#pragma once" and "#pragma warning" directives.
    • Follows the C standard more closely.
    • The new shader preprocessor is disabled by default. It can be enabled via a command-line option "-force-new-shader-pp".
    • The new preprocessor is not yet used for Compute or Raytracing shaders.
  • Shaders: Shader inspector now has an option to show preprocessed shader source instead of compiled shader source. Requires new shader preprocessor.

  • Timeline: Inline Curve Properties can be removed.

  • Timeline: The resize handle for inline curves has been moved to the track header area.

  • Timeline: Tracks can be individually resized.

  • UI Elements: Added a new HelpBox element.
    2020_1_feature_ui_elements_helpbox.gif

  • UI Elements: Added the ability to use touch in scroll view for runtime UI.

  • UI Elements: Click events are emitted when the pointer goes down and up in an element.

  • Version Control: Add ability to set version control Editor Settings from the CLI.

  • WebGL: Updated WebGL loader which improves build loading time and supports build-specific stripping of the loader code.

System Requirements

For development

OS: Windows 7 SP1+, 8, 10, 64-bit versions only; macOS 10.12+. (Server versions of Windows & OS X are not tested.)

CPU: SSE2 instruction set support.

GPU: Graphics card with DX10 (shader model 4.0) capabilities.

The rest mostly depends on the complexity of your projects.

Additional platform development requirements:
  • iOS: Mac computer running minimum macOS 10.12.6 and Xcode 9.0 or higher.

  • Android: Android SDK and Java Development Kit (JDK); IL2CPP scripting backend requires Android NDK.

  • Universal Windows Platform: Windows 10 (64-bit), Visual Studio 2015 with C++ Tools component or later and Windows 10 SDK

For running Unity games

Generally content developed with Unity can run pretty much everywhere. How well it runs is dependent on the complexity of your project. More detailed requirements:

  • Desktop:

    • OS: Windows 7 SP1+, macOS 10.12+, Ubuntu 16.04+
    • Graphics card with DX10 (shader model 4.0) capabilities.
    • CPU: SSE2 instruction set support.
  • iOS player requires iOS 10.0 or higher.

  • Android: OS 4.4 or later; ARMv7 CPU with NEON support; OpenGL ES 2.0 or later.

  • WebGL: Any recent desktop version of Firefox, Chrome, Edge or Safari.

  • Universal Windows Platform: Windows 10 and a graphics card with DX10 (shader model 4.0) capabilities

  • Exported Android Gradle projects require Android Studio 3.4 and later to build

Changeset: d80b47d1592d