Notes sur la version

Known Issues in 2020.2.0a12

  • Android: Files named with capital letters in streaming assets are not compressed when building Android App Bundle (1153358)
    Fixed in 2020.2.0a13.

  • Animation: Fixed a crash that occurred when trying to reactivate a game object with an invalid playable output (1245074)
    Fixed in 2020.2.0a14.

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

  • Asset Bundles: Loading a scene with addressable in Player loads null prefab (1248861)

  • Asset Import Pipeline: Same Asset generates different Dependency Hash on different machines (1190390)

  • Asset Import: Fixed an issue where files authored in earlier versions, which reference objects imported by scripted importers, might lose the link to those files (1189088)
    Fixed in 2020.2.0a13.

  • Audio: Fixed editor crash on changing 'System Sample Rate' when Audio track preview is being played in Timeline window. (1232743)
    Fixed in 2020.2.0a14.

  • Build Pipeline: Avoid backing up symbols for Burst if the symbols will be copied anyway. (1243916)
    This is a change to a 2020.2.0a8 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.2.0a13.

  • CodeEditors: [Windows] Application.Reload and Window.Repaint dialog block Editor (1248300)

  • Editor: Fix collab enabling itself after being turned off (1244885)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a13.

  • Editor: Fixed an issue where Editor crashes when Undo is performed. (1242926)
    Fixed in 2020.2.0a13.

  • GI: Fixes two issues with transparent/cutout texture in URP not being baked or outlined correctly. (1246262)
    Fixed in 2020.2.0a14.

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

  • Global Illumination: [PLM] Editor performance degrades over time while baking and moving the scene view camera (1250282)

  • Global Illumination: [PLM] Lightmapper never finishes with progressive updates enabled in auto mode (1245087)

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

  • 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: - DX11 backend no longer crashes if constantbuffer values are being changed with incompatible shader bound (1246991)
    Fixed in 2020.2.0a14.

  • 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)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a13.

  • Linux: Build download fails with segmentation errors and malformed region bugs (1248265)

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

  • Physics: Crash after "[Physics.PhysX] Foundation: Invalid registration detected" errors show up when using Physics.BakeMesh (1200588)

  • Profiler: Fixed hang when enabling Callstacks in Profiler Window. (1246880)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a13.

  • Scripting: Deleted Script from Unity Editor is available in the Visual Studio Editor (1251160)

  • Scripting: Renaming the class name in the VisualStudio leads a new Script in the Unity Editor (1251157)

  • 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 has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a13.

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

  • Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)

  • Texture: Silent crash on ImageConversion.EncodeToJPG method when entering Play Mode (1250290)

  • Version Control: Temp/Package files are added to VCS after installing any package and having Automatic Add on (1250933)

  • Vulkan: Crash on vk_optimusGetInstanceProcAddr when double clicking shader's Compiled Code drop down arrow (1248909)

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

  • macOS: Resolved crash that would happen when baking lighting using the GPU progressive lightmapper. (1160419)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a13.

New 2020.2.0a12 Entries since 2020.2.0a11

Fixes

  • 2D: Fix ArgumentNullException thrown when a Prefab is deleted while the Tile Palette window is open (1241125)
    This is a change to a 2020.2.0a5 change, not seen in any released version, and will not be mentioned in final notes.

  • 2D: Fix Eraser tool changing to Paint tool after a mouse drag (1241157)
    This is a change to a 2020.2.0a8 change, not seen in any released version, and will not be mentioned in final notes.

  • 2D: Fix 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: Fixed Edge and Polygon 2D collider tools not supporting multiple selection. (1224661)

  • 2D: Normal map renders differently with 2D lights when packed in sprite atlas (1230210)
    This is a change to a 2020.2.0a5 change, not seen in any released version, and will not be mentioned in final notes.

  • 2D: Use correct starting Z depth for IsometricZAsY Grids when calculating camera bounds for TilemapRenderer (1237963)
    This has already been backported to older releases and will not be mentioned in final notes.

  • 2D: [HDRP] Expanding invalid MinMaxAABB errors are thrown on creating SpriteShape controller (1242623)
    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)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Android: Fix freeze on Galaxy S20 when using OpenGL ES GPU skinning with blend shapes (1236183)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Android: Fixed Autoconnect Profiler option when device is connected with USB only (1244618)

  • Android: Normalize slashes for JDK/SDK/NDK/Gradle paths (1244305)

  • Android: With sporadic freeze when using Vulkan on Mali devices

  • Animation: Fixed a crash that happened when destroying AnimationPlayables (1231355)

  • Animation: Handle null live link nodes. (1228989)
    This has already been backported to older releases and will not be mentioned in final notes.

  • 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 Import: Importers does not lose selection anymore when the imported asset changes its type. (1182598)

  • Asset Import: Replacing an erroneous "=" with "|=" in GarbageCollectSharedAssets (1227148)

  • Asset Pipeline: A imported asset dependency on a source asset could lead to a wrong import.

  • 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: Fix for instability where .meta files are not parsed right. (1214122)

  • Asset Pipeline: Fixes indeterministic results when calling AssetDatabase.ImportAsset on assets with dependencies. (1238675)

  • Asset Pipeline: Fixing 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.

  • Build Pipeline: Fixed bug in the Managed SpookyHash algorithm that was causing some bytes at the end of the buffer to not be incorporated into the hash for specific buffer sizes.

  • CodeEditor: RIDER - "The specified path is not of a legal form (empty)"

  • CodeEditor: RIDER - Guarantee that sln and csproj files are present, when OpenProject is called

  • Core: Fixes crash when IME Strings got too long. (1226610)

  • DX12: Fix buffer upload issues when using SetComputeBufferData on DX12 async compute (1238431)

  • DX12: Fix Ray Tracing Shaders always crashing in single threaded mode (when using -force-gfx-st command line argument) (1245130)
    This has already been backported to older releases and will not be mentioned in final notes.

  • DX12: make sure we dont create a rendertarget that has kSurfaceCreateNeverUsed flag set (1244224)

  • Editor: - Metal: Fixes a resource leak issue in some scenarios where a view is being repainted constantly (1229502)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Ensure we do not save the isDarkTheme in an asignable variable to ensure users cannot bypass entitlement. (1243064)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fix "Exception: This method should have been replaced by codegen" error in Unity.Entities after fixing compile errors that were emitted on editor startup. (1240746)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fix "Exception: This method should have been replaced by codegen" error in Unity.Entities when entering play mode while recompiling all scripts. (1241198)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fix 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: Fix crash when undoing an array resize of a SerializeReferene array on a SerializeReference instance. (1244028)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fix 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 "Show in Explorer" option in Windows Editor. (1242660)
    This is a change to a 2020.2.0a10 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Fixed an Editor issue on Windows where while in playmode and paused one or more CPUs would be utilized at 100%. (1219619)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed an issue to enable scroll down automatically when first frame of logs does not fit in console window. (1241533)

  • Editor: Fixed editor performance regression due to too many GetTreeViewFolderSelection calls (1244193)

  • 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 freeze when Time.timeScale is set to NaN (1216135)

  • Editor: Fixed inspector element being actively refreshed when nothing is happening. (1223682)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed main editor window is no longer maximized when resetting the layout. (1179646)

  • Editor: Fixed prefab inspector scrollview jumping around when editing values. (1240841)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed property dropdown of "Surface Effector 2D" doesn't expand until the mouse cursor is moved in Properties Window. (1243958)

  • Editor: Fixed rare unstable asset hash

  • Editor: Fixed rebuilding gizmo renderers caused an performance regressions. (1238713)

  • Editor: Fixed script execution order values being cropped when using certain UI scaling values (mostly 125%). (1182109)

  • Editor: Fixed selection outline flicker when HDRP temporal anti-aliasing (TAA) is used in the scene view. (1204961)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed skybox persisting in scene after drag cancellation

  • Editor: Fixed the Performance of transform in playmode. (1241857)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed the Shuriken Icon issue in inspector. (1198543)

  • Editor: Fixed unable to select any option in Simulate Layers Dropdown in Particle effects overlay in the scene view under OSX. (1225489)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed Unity Editor existing fullscreen mode when layout is changed. (1232706)

  • Editor: Fixed usage of restore_saved_layout when bottom_view and top_view are null for an editor mode dynamic layout. (1244524)

  • Editor: Fixing double consecutive OnDisable calls for inspectors while entering playmode or during assembly reload (1159201)

  • Editor: Improves the module installation button in Build Settings to redirect to the add modules page in the hub (1240180)
    This is a change to a 2020.2.0a8 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Internal

  • Editor: Mouse hover event is fixed in situations when windows are overlapping on macOS (1222681)

  • Editor: Presets modifications array inconsistent size when excluding some properties. (1229273)

  • Editor: prevents hang from calling capturescreenshotastexture() outside of playmode (1238552)

  • Editor: Removed extra spacing added to some fields in the inspector (1235884)

  • Editor: The Unity editor now and related tools now make use of logical processors beyond CPU group 0. To be impacted, you must be using a machine with at least 32 total cores. (1238290)

  • Editor: Update cancel button when using SetValueWithoutNotify (1246292)

  • Editor: Update the AboutWindow thanks users url (1246973)
    This is a change to a 2020.2.0 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.

  • Editor: When deleting the last subfolder of an expanded folder, the icon stays the expanded folder one.
    In fact the expanded status of the folder is not updated.
    This updates the status correctly. (1233024)

  • Editor: When using EditorWindowTitle in Hi dpi the icon path is wrongly formatted. (1242300)

  • GI: Fix case where Editor hangs on close and when baking is canceled. (1235769)

  • GI: Fix Static Analysis Defect 53214 (Potentially overflowing expression in RRBakeLightProbesTechnique.cpp) (1228654)

  • GI: Fixed invalid miss marker for the first ray when doing bounces.

  • GI: Fixed issue where a NullReferenceException is thrown after creating the new scene when the Light Explorer window is opened. (1244688)

  • GI: Fixed SceneLights memory leak on shutdown in EnlightenBakeManager and ProgressiveRuntimeManager.

  • GI: Fixed Static Analysis Defect: missing CL_CHECK's for EnqueueClearBuffer calls. (1245120)

  • GI: Fixes an issue in the GPU->CPU fallback logic when no valid OpenCL context could be created. (1208704)

  • GI: Made sure that the Sun fields enum is the correct width. (1244279)

  • GI: Make Experimental.Lightmapping.Bake and BakeAsync docs less confusing. (1246519)

  • Graphics: - Vulkan shaders on desktop now work like in Metal with half precision disabled in most cases except explicit min16float in shader (1200917)

  • Graphics: Constant buffers created directly from C# triggering assert message "Metal: constant buffer state is invalid" (1238787)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Crash on PrepareShadowMaps when entering Play Mode (1233829)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Filters out VFXRenderer from inspector (1206884)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fix loads from RWTexture in OpenGL ES 3.1 compute shader (1224442)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fix partial loads from RWTexture when using OpenGL ES, Metal, Vulkan (1227481)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fix Reflection Probes blending values not being normalized in some circumstances. (1233991)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fix RWBuffer<uint> in OpenGL ES 3.1 compute shaders (1237688)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fix 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: Fix 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: Fixed 16-bit texture quantized to 8 bits during importing (1212098)

  • 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 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 some VFX failing validation on metal, crashing editor/player (1231313)

  • Graphics: Implement 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)
    This has already been backported to older releases and will not be mentioned in final notes.

  • 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)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Show VT issues as errors instead of warnings (1238401)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • IL2CPP: Fix a severe performance regression in UnityLinker when building a player for UWP. (1229420)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IMGUI: Fixed the issue where the last selection is shown as focused even after selection another window. (1241127)

  • 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: Fix iPhone bluetooth controller buttons not registering input (1241180)

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

  • iOS: Properly detect Dualshock gamepad during application start when new input system is used on iOS, the issue was because GameController framework was not included in exported project. AppleTV didn't had this bug, since GameController is always included in AppleTV's Xcode project. (1244053)

  • Linux: Fixed keyboard modifiers from being incorrectly munged while moving between editor windows. (1218006, 1236681, 1239227)

  • macOS: CPU usage decreased for Player built with 'Run in Background' (1240835)

  • macOS: Fixed issue where installer on macOS 10.15 would error when disagreeing with the license (1240184)

  • macOS: Fixed issue where sometimes more than one dropdown stays open. (1236216)

  • macOS: Fixed issue where using the CanvasScalar with Physical Constraint set would cause a performance regression. (1241982)

  • macOS: Fixed popup stays open after closing tab (1235872)

  • macOS: Fixes 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.

  • Package Manager: Created a proxy for AssetDatabase, such that in the test environment we never rely on the state of the real AssetDatabase

  • Package Manager: Fix null error exception and organisation name validation (1230597)
    This is a change to a 2020.2.0a5 change, not seen in any released version, and will not be mentioned in final notes.

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

  • Package Manager: Fix the superposition of the text packages and load next in package load bar

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

  • Package Manager: Fixed PackageInfo.FindForAssetPath performance overhead. (1221526)

  • Particles: Fix 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: Fix 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.

  • Physics: Fixed Component Reset functionality for: Hinge Joints (all parameters relating to Motor, Spring, Limits), Joints (Enable Collision, Enable Preprocessing, Break Force, Break Torque), Character Joints (Swing Axis, Enable Projection) (1157026)

  • Player: Changes AsyncReadManagerMetricsFilters to be passed by reference in relevant methods. (1242611)

  • Profiler: Fixed an issue with remote captures where the Editor would freeze due to missing serialized data (1244421)
    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 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: - Fix an issue where BurstCompilerService.Log could only be used from the main thread. (1246174)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Added dll verification to loading routine to prevent the editor from loading corrupt dlls. (1231038)

  • Scripting: Allow duplicate enum members to refer to same underlying value as long as one is non-obsolete. (1218124)

  • Scripting: Fix unlimited warnings to Editor.log using all disk space (1238954)

  • Scripting: Handle missing scripts gracefully. (1240740)
    This is a change to a 2020.2.0a3 change, not seen in any released version, and will not be mentioned in final notes.

  • Scripting Upgrade: Fixed some false positive recursion errors in ApiUpdater (1224800)

  • Serialization: Fix regression performances with SerializeProperty.SetManagedReferenceValue and PropertyModification with managed references (1240053)
    This is a change to a 2020.2.0a6 change, not seen in any released version, and will not be mentioned in final notes.

  • Serialization: Make sure that we create managed instances that have empty classes when deserializing YAML data (1183547)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Serialization: SerializedProperty named guid will now be handled correctly when serialized to and from yaml. (1222969)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Services: Display of newer version of In-App Purchasing Package now correctly displays newest pre-migration version (prior to 3.X) if still on version 2.X or older. Verstion installed when selecting Update and Migrate also now function as intended.

  • Shaders: fix static analysis issues ShaderCompiler Preprocessr code (1217178)

  • Shaders: Fixed a corner case with Caching Preprocessor sometimes trying to open included files when it shouldn't (1230713)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Shaders: Fixed an issue with local keywords when using fallback shaders. (1238838)

  • Terrain: Added NavMesh Lod index in TreePrototype. The index is used to select LOD Level in LODGroup for NavMesh generation. (1193073)

  • UI Elements: Optimize StyleVariablesContext hash computation

  • UI Toolkit: Fixed infinite loop when calling ListView.ClearSelection from inside an assigned selection change handler (1237831)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI Toolkit: Reverting a Toggle's text to null won't throw an exception (1238606)

  • UI Toolkit: Unhandled CommandEvents are now propagated to the EditorWindow's OnGUI() (1231271)

  • Video: Changed texSubImage to texImage, in order to solve some browser specific rendering issues in WebGL Videos (1188316)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Virtual Texturing: Fix GPU procedural VT occasionally showing tile corruption due to incorrect syncing between CPU/GPU threads. (1222483)

  • WebGL: Added check for Linux to use the correct version of the Brotli compression library (1241347)

  • Windows: Fixed issue where Overrides window stays stuck open when user returns to the Scenes. (1233487)

  • Windows: Fixed issue where the wrong window would sometimes get mouse click events if they were overlapped. (1242368)

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

  • XR: Fixed MirrorView BlitMode C# out of sync with XR display header.

  • XR: Fixed multipass color resolve to right eye in certain circumstances.

  • XR: Fixes a lock/hang on splash screen on Oculus Quest when using IL2CPP and the Strip Engine Code option. (1227107)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: fixes automatic upgrading for URP and HDRP projects

  • XR: Re-enabled dynamic MSAA levels with Vulkan and FFR. (1226502)

API Changes

  • 2D: Added: Add HasTilemapChanges and ProcessTilemapChanges for TilemapCollider2D to immediately process Tilemap changes instead of waiting for batched processing in LateUpdate. (1234392)

  • Graphics: Added: Added an override to SearcherAdapter for populating all children of search entries.

  • Graphics: Changed: Allows compressed formats with Procedural VT on the CPU.
    The CopyPixelDataToLayer helper function now requires the used graphics format as an additional parameter. (1236255, 1246659)

  • UI Elements: Added: PropertyFields now sends ChangeEvent<SerializedProperty>

Changes

  • Asset Import: Changed the default material import mode of the model importer from 'Standard' to 'Import via MaterialDescription'

  • Editor: Newly created objects in Hierarchy view go into rename mode now ("Rename New Objects" in hierarchy view settings menu can turn this behavior off)

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

  • Scripting: Removed deprecated code from internal tests. NOTE: Does not affect any component of Unity Product

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

  • Android: Enable support for Light Probe proxy volumes when using OpenGL ES 3

  • Android: Optimize async texture readback and CopyTexture when using Vulkan on Mali GPUs

  • Android: Support target display on Android

  • Android: Supported compressed 3D textures with OpenGL ES 3.1

  • Asset Pipeline: For source asset dependencies, besides using file hashes, use timestamps for deciding when to reload asset.

  • Editor: Game View resolution dropdown for Standalone platform got a better list of default aspect ratios (16:9, 16:10) and resolutions (1920x1080, 1366x768, 2560x1440, 3840x2160).

  • Editor: Scene view accepts multiple objects when dragging and dropping

  • Editor: Scene view deselect-click (Ctrl/Cmd) works more intuitively with prefabs containing child objects.

  • GI: Improvements to Lighting Settings such as preset support, updated docs and exposure of default settings.

  • GI: Removing custom Lighting Settings from 3D template

  • Graphics: Improved DX12 performance in cases, where a lot of resources are created per frame.

  • Graphics: The D3D12 internal command buffer can now be accessed from a d3d12 native plugin.

  • IL2CPP: Add attribute to avoid runtime performance impact of static constructors

  • Scripting: AtomicSafetyHandle now throws ObjectDisposedExceptions instead of InvalidOperationException when code attempts to access a container after it has been disposed. This mimics behavior of built-in container types.

  • Scripting: Implemented switching code coverage without editor restart. Introduce API to enable/disable code coverage.

  • Shaders: Caching shader preprocessor now recognises ellipsis (but no variadic macros support).

  • Windows: Improved Time.deltaTime consistency for D3D12 graphics API.

Features

  • Editor: Add support for Root Namespace field to Assembly Definition Files. New scripts created inside Unity will have a namespace added to the default template if it is set in the corresponding Assembly Definition File or Project Settings -> Editor -> Project Root namespace for non-Assembly Definition File scripts.

  • Editor: Texture arrays (Texture2DArray) and volume textures (Texture3D) can be imported now, from "flipbook" image layouts. Use through the new options in texture import Shape setting.

  • GI: Add Bluenoise sampling from Eric Heitz and Laurent Belcour SIGGRAPH Talk, see https://eheitzresearch.wordpress.com/762-2/ jira link: https://unity3d.atlassian.net/browse/UR-1291

  • Graphics: Added support for importing 16bit per channel integer formats without quantization. This also exposed new TextureFormats R16G16, R16G16B16 & R16G16B16A16

  • Package Manager: Made console log errors from Package Manager UI clearly specify they are from [Package Manager Window]. Also modified error messages shown in the UI so that they do not prompt the user to 'see console for more details' if no details are logged in the console.

  • Scripting: Compile scripts with C# 8.

Preview of Final 2020.2.0a12 Release Notes

System Requirements Changes

Fixes

  • 2D: Colliders should also respect Pivot property of Edge Sprites in Sprite Shape

  • 2D: Ensure SpriteShape are not generated when not in view on Runtime.

  • 2D: Fix Bounds/RectInt.allPositionsWithin returning positions with a size 0 for any axis (1227811)

  • 2D: Fix generation of collider shapes for TilemapCollider2D with AnimatedTiles while tile is animated

  • 2D: Fixed an issue where the preview of a deleted secondary texture entry was still visible in Sprite Editor. (1211176)

  • 2D: Fixed an issue where the vertical scrollbar of the Secondary Textures panel in Sprite Editor did not react to the mouse wheel. (1204429)

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

  • 2D: Fixed Edge and Polygon 2D collider tools not supporting multiple selection. (1224661)

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

  • 2D: Fixed OnDrawGizmos to Get/Release RenderTexture through CommandBuffer.

  • 2D: Fixed PSDImporter broken documentation links in inspectors

  • 2D: Fixed PSDImporter creates empty GameObject in certain cases

  • 2D: Fixed Sprite asset used by SpriteSkin in Scene is being deleted

  • 2D: Fixed Sprite deformation not updated when GameObject is being enabled with SpriteSkin component

  • 2D: Fixed Sprite Editor doesn't show the Sprite when the Inspector is locked and the Sprite is not selected in the Project window (1215581)

  • 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 visual defect after undoing changes to Bone Transform properties in SpriteSkin's Inspector

  • 2D: Set active editor tool to Paint tool when Shift Key is released before Mouse Button is released when painting or erasing from a Tile Palette (1231123)

  • 2D: SpriteShapeController leaks memory when zero control points are used

  • 2D: _NormalMap Secondary Texture is streched to AtlasSize when Atlas Texture size is larger than Normal Map texture size (1167829)

  • AI: Baking ignores FBX files with Mesh Compression set to Low or Medium when baking NavMesh (1152594)

  • Android: Avoid using depthClamp on GPUs that don't support it when using Vulkan

  • Android: Detects new layout Android SDK tools (1229382)

  • Android: Fix RenderPass API implementation when using OpenGL ES (1219327)

  • Android: Fixed a failing texture compression in Linux Editor. (1222219)

  • Android: Fixed a regression with playing back uncompressed, on-disk asset bundles on Android versions before Pie.

  • Android: Fixed Autoconnect Profiler option when device is connected with USB only (1244618)

  • Android: Fixed BuildOptions.ConnectToHost option, when Android is only connected to PC via USB and Wifi is disabled. Previously BuildOptions.ConnectToHost would only work through Wifi connection, now the app should automatically connect to Editor. (1233567)

  • Android: Fixed performance regression on Mali GPUs when using CBUFFERs. (1157313)

  • Android: Normalize slashes for JDK/SDK/NDK/Gradle paths (1244305)

  • Android: With sporadic freeze when using Vulkan on Mali devices

  • Animation: Added documentation for AnimatorControllerPlayable methods. (1195131)

  • Animation: Animation count in Scene from the Stats window does not drop down when all of the Animation are finished in the Scene (1201251)

  • Animation: Animation window now shows clips from both the animation and animator components if both components exist on the GameObject. (1198771)

  • Animation: BlendTree node with any number of empty Motion fields now trigger an update of neighbouring node positions. (1193229)

  • Animation: Crash in AnimationCurveTpl<Vector3f>::EvaluateClamp when animation.Play(AnimationPlayMode.Queue) is called in Update() (1218218)

  • Animation: Fixed a bug where selected GameObjects are deleted when entering Play Mode and "Failed to unpersist" error is thrown (1222757)

  • Animation: Fixed a crash that happened when destroying AnimationPlayables (1231355)

  • Animation: Fixed an issue where a rename would be accepted in the Animation Window even if the ESC key is pressed (1157048)

  • Animation: Fixed an issue where the layout of the Animator Window would not persist properly. (1197028)

  • Animation: FIxed playable graph with animations breaking when 'Disable Unity Audio' is enabled. (1187693)

  • Animation: Fixing unstable test CanMaintainSelection (1224904)

  • Animation: Hidden Animator Layers/Parameter view opens back again after entering Play Mode (1219412)

  • Animation: Memory leak occurs due to TransformStreamHandle memory not being deallocated when deactivating GameObjects (1167280)

  • Animation: OnStateUpdate will not be called when a new AnimatorControllerPlayable is attached by the first time (1168332)

  • Asset Bundles: Fix asset bundle to be able to load scene from asset bundle build from package. (1233575)

  • Asset Import: AssetDatabaseExperimental.GetAvailableImporterTypes returns all expected registered importers for a given asset path. (1218830)

  • Asset Import: Fixed a memory leak and console errors when using ClearImporterOverride on Model assets (fbx files and other formats using the ModelImporter). (1218841)

  • Asset Import: Fixed AssetImportWorker taking autoconnect player connections.

  • Asset Import: Importers does not lose selection anymore when the imported asset changes its type. (1182598)

  • Asset Import: LoadImage now returns PNGs in the authored colorspace when gAMA block is authored, instead of gamma 2.0. A new static flag has been added to the ImageConversion class to disable this behavior. See Texture2D.LoadImage for additional details. (1199896)

  • Asset Import: Replacing an erroneous "=" with "|=" in GarbageCollectSharedAssets (1227148)

  • Asset Pipeline: A imported asset dependency on a source asset could lead to a wrong import.

  • Asset Pipeline: ArtifactID is now unique for an import result (1193231)

  • Asset Pipeline: Changed behavior in Refresh

    • Empty folders that don't have .meta files get deleted if the folders were known before.
    • If an orphaned .meta file is marked as folderAsset the folder is recreated.
      These changes address issues related to creating/deleting folders in certain (p4, git) version controlled projects where empty folders don't get created/deleted when the user gets latest version on the client.
  • Asset Pipeline: Changing the platform is not propagated to the asset import worker process

  • Asset Pipeline: Fix for instability where .meta files are not parsed right. (1214122)

  • Asset Pipeline: Fixed a crash in GetHashOfImportedAssetDependencyHints when scripted importer returns null inside GatherDependenciesFromSourceFile during unity startup (1234968)

  • Asset Pipeline: Fixed Binary to YAML UInt16 conversion error when importing a specific binary serialized package into a project with Force Text serialization enabled (1225913)

  • Asset Pipeline: Fixed issue where postprocessors with version 0 wouldn't be used

  • Asset Pipeline: Fixes indeterministic results when calling AssetDatabase.ImportAsset on assets with dependencies. (1238675)

  • Asset Pipeline: Having information that says "version 2" is selected, can be confusing, since users could assume that the "version 1" of the asset import pipeline could be selected. This has been removed completely as 2020.1 can on the Asset Import Pipeline that was re-written for 2019.3

  • Asset Pipeline: If the license is not valid asset import worker processes will fail and block the main editor (1224855)

  • Audio: Changing audio mixer attenuation to or from 0 dB resulted in popping / spiking sounds (1101442)

  • Audio: Chorus and Flange filters didn't apply initial parameters correctly under certain situations when used in the audio mixer or as audio filter components. (579690)

  • Audio: Fix import failures with certain low-bitrate/-samplerate clips (1143239)

  • Bug Reporter: Added a name of the file causing the error to the project packer error message (1223660)

  • Bug Reporter: Fix a folder compression failure when path length is bigger than 260 symbols (1175262)

  • Build Pipeline: Added support for baked collision mesh writing in the Scriptable Build Pipeline.

  • Build Pipeline: Fixed bug in the Managed SpookyHash algorithm that was causing some bytes at the end of the buffer to not be incorporated into the hash for specific buffer sizes.

  • Burst: Fix a regression that could break usage of native plugins.

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

  • CodeEditor: Add project generation for Xbox One build target (1156114)

  • CodeEditor: RIDER - "The specified path is not of a legal form (empty)"

  • CodeEditor: RIDER - Guarantee that sln and csproj files are present, when OpenProject is called

  • CodeEditor: Xbox One platform generates broken .Player.csproj files (1139068)

  • Core: Fixes crash when IME Strings got too long. (1226610)

  • DX12: Fix buffer upload issues when using SetComputeBufferData on DX12 async compute (1238431)

  • DX12: FrameTimingManager now works on DX12 Windows Standalone and UWP. (1212335)

  • DX12: make sure we dont create a rendertarget that has kSurfaceCreateNeverUsed flag set (1244224)

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

  • Editor: 'Create Empty Parent' added to the hierarchy window context menu

  • Editor: 'Cut' and 'Paste As a Child' functionality added to Scene View (1215583)

  • Editor: (case 1215825) UnityEngine.Diagnostics.ForceCrash does not produce crash dump when editor exits due to fatal error log message (1215825)

  • Editor: Active Tool window now saves properly in the layout (1224432)

  • Editor: Added IMGUI dependency on UGUI. (1211425)

  • Editor: Allow pasting float numbers with a trailing f into number fields.

  • Editor: Automatic "unity is busy" progress dialogs on Windows no longer steal focus or pop up while the editor is not the active application.

  • Editor: Changed CTRL click in Hierarchy so it's changes the active object to reflect the scene view behavior (1154444)

  • Editor: com.unity.test-framework does not print any messages when loaded into a project. (1214217)

  • Editor: Disabled the Texture2D editor in inspector debug mode. (1197056)

  • Editor: Don't display blank GameObject preview for Camera Prefab Assets. Instead, treat it the same as other Prefabs that don't have renderer components. (1182438)

  • Editor: Ensur EditorSettings works as preset (1223623)

  • Editor: Fix camera speed slider not getting to min-max when setting min/max values with more than 2 decimals (1190430)

  • Editor: Fix disappearing "Edit..." button next to Shader dropdown list on Material UI.

  • Editor: Fix dragging on Empty Favorites (1224386)

  • Editor: Fix error in import by adding support for the conversion of SkinWeights using UNorm16 and SNorm16 format. (1218889)

  • Editor: Fix foldout alignment in Physics2D Settings window (1228331)

  • Editor: Fix for Physics Matrix in Project Settings that was drawing itself over a scrollbar. (1230925)

  • Editor: Fix rendering getting stuck with the async compilation replacement material on certain corner cases. (1227510)

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

  • Editor: Fixed 3D texture preview drag rotation

  • Editor: fixed a bug where UTR fails with "No tests have been selected to run message" when in fact we attempt to run playmode tests in standalone player and connection times out.

  • Editor: Fixed a ShortcutWindow profile dropdown that was missing the dropdown arrow. (1232757)

  • Editor: Fixed an issue to enable scroll down automatically when first frame of logs does not fit in console window. (1241533)

  • Editor: Fixed an issue where certain dropdowns are misaligned in the player settings preset editor (1218668)

  • Editor: Fixed an issue where snapping didn't work only lines were showing.

  • Editor: Fixed an issue where the Gizmos FoldOut does not expand until the mouse cursor is moved. (1228330)

  • Editor: Fixed an issue where the Save Asset window does not close automatically after saving all assets. (1222647)

  • Editor: Fixed an issue where when "Add Component" button jumps in the inspector when resizing if has custom expandable UI Group elements. (1230277)

  • Editor: Fixed an issue where width of the border of the Alpha Value is not enclosed within boundary in the color picker (1237286)

  • Editor: Fixed cancel of multiple objects rename that would set their names to "<multi>" instead of keeping their original names. (1218183)

  • Editor: Fixed Cut action being canceled after switching between scene and prefab modes (1219275)

  • Editor: Fixed editor performance regression due to too many GetTreeViewFolderSelection calls (1244193)

  • Editor: Fixed flickering when multiple windows were shown on macOS Editor (1221722)

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

  • Editor: Fixed freeze when Time.timeScale is set to NaN (1216135)

  • Editor: Fixed Highlighter APIs. (1223530)

  • Editor: Fixed incorrect GUI style for Influence Mask field in the ParticleSystem External Forces Module

  • Editor: Fixed main editor window is no longer maximized when resetting the layout. (1179646)

  • Editor: Fixed New InputSystem not handling absolute mouse positions including those sent over RDP.

  • Editor: Fixed nondeterministic behavior when calling EditorApplication.isPlaying = true while scripts are compiling, so only one script reload happens. Before the fix either one or two script reloads would happen. (1233671)

  • Editor: Fixed prefab selection in the Scene View not respecting user set picking flags. (1234665)

  • Editor: Fixed property dropdown of "Surface Effector 2D" doesn't expand until the mouse cursor is moved in Properties Window. (1243958)

  • Editor: Fixed rare unstable asset hash

  • Editor: Fixed rebuilding gizmo renderers caused an performance regressions. (1238713)

  • Editor: Fixed Scene View not accepting input after Maximizing and Un-maximizing while holding the right mouse button. (1186624)

  • Editor: Fixed script execution order values being cropped when using certain UI scaling values (mostly 125%). (1182109)

  • Editor: Fixed skybox persisting in scene after drag cancellation

  • Editor: Fixed tessellated objects rendering with a replacement shader when filtering in the Scene View. (1180254)

  • Editor: Fixed test ShortcutEntryConstructor_MethodWithShortcutArgs_FromAttribute in debug mode. (1233242)

  • Editor: Fixed the coverage issue in enum data utility (1215827)

  • Editor: Fixed the issue where the Grid opacity Input field is highlighted on changing the Grid Axis from the scene view grid settings window (1221530)

  • Editor: Fixed the Shuriken Icon issue in inspector. (1198543)

  • Editor: Fixed toggling Scene View from 2D to 3D locking the camera motion to the last direction of movement. (1232270)

  • Editor: Fixed Unity Editor existing fullscreen mode when layout is changed. (1232706)

  • Editor: Fixed unselected Scene Views not respecting the mouse scroll wheel zoom shortcut. (1216819)

  • Editor: Fixed usage of restore_saved_layout when bottom_view and top_view are null for an editor mode dynamic layout. (1244524)

  • Editor: Fixed vertex snapping incorrectly snapping to objects hidden by Scene Visibility flags. (1222442)

  • Editor: Fixed EndLayoutGroup errors when GUI items are highlighted by PrefixLabel. (1238526)

  • Editor: Fixes an issue where an exception was thrown when trying to show the contextual menu for an unloaded scene in the hierarchy window (1233432)

  • Editor: Fixes issues caused when components required by other components do not exist. (876288, 887641, 888143, 1086961)

  • Editor: Fixes the crash when "Right click" is used to close an undocked preview window on Windows. (1231889)

  • Editor: Fixing double consecutive OnDisable calls for inspectors while entering playmode or during assembly reload (1159201)

  • Editor: GameObjects are not draggable when using the scroll wheel in macOS (1175328)

  • Editor: Gizmo icons are now displayed on all objects all the time unless object is selected (1223375)

  • Editor: Hierarchy items are not considered hovered when scrolling the vertical scrollbar. (1229149)

  • Editor: Implemented Getter and Setter for Blocking Mask property, so that it can be accessed through script. (1210118)

  • Editor: Inspector property copy/paste no longer allows pasting unrelated enum values. (1222717)

  • Editor: Internal

  • Editor: Light icons in scene view now update immediately after light type is changed in inspector (1229003)

  • Editor: makes sure proper selected items are within hierarchy view after "selecte prefab root" and "invert selection", previously items would be properly selected but not in view of the hierarchy. (1228117)

  • Editor: Mouse hover event is fixed in situations when windows are overlapping on macOS (1222681)

  • Editor: No longer show the splash screen when running the Linux editor in batch mode (1218988)

  • Editor: Presets modifications array inconsistent size when excluding some properties. (1229273)

  • Editor: prevents hang from calling capturescreenshotastexture() outside of playmode (1238552)

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

  • Editor: Removed extra spacing added to some fields in the inspector (1235884)

  • Editor: The Unity editor now and related tools now make use of logical processors beyond CPU group 0. To be impacted, you must be using a machine with at least 32 total cores. (1238290)

  • Editor: Transform shift rotate always reset the rotation value when used (1221620)

  • Editor: Update cancel button when using SetValueWithoutNotify (1246292)

  • Editor: When attempting to create a new file beginning with a dot, auto-convert the character to an underscore, similar to what we do for other invalid characters, instead of displaying an error. (1117029)

  • Editor: When deleting the last subfolder of an expanded folder, the icon stays the expanded folder one.
    In fact the expanded status of the folder is not updated.
    This updates the status correctly. (1233024)

  • Editor: When using EditorWindowTitle in Hi dpi the icon path is wrongly formatted. (1242300)

  • Editor: [GameView] VSync gets disabled after Maximize on Play is disabled and Play Mode is unpaused after pausing (1230428)

  • GI: Added convergence stats for additional probes in the Lighting window.

  • GI: Faster light probe and additional probes baking.

  • GI: Fix case where Editor hangs on close and when baking is canceled. (1235769)

  • GI: Fix for case when TempBuffer<RenderTexture> is not released in memory when using deprecated Realtime Global Illumination

  • GI: Fix Static Analysis Defect 53214 (Potentially overflowing expression in RRBakeLightProbesTechnique.cpp) (1228654)

  • GI: Fixed crashes occurring when inspecting a mesh renderer with no vertex buffer or no index buffer. (1197692)

  • GI: Fixed debug Editor failing in CheckAutoLDA.AssertLightprobesInAutoLDA. (1216793)

  • GI: Fixed Editor crash in RadeonRays::PlainBvhTranslator::Process when using GPU Lightmapper for neighboring Terrains (1198965)

  • GI: Fixed invalid miss marker for the first ray when doing bounces.

  • GI: Fixed issue where a NullReferenceException is thrown after creating the new scene when the Light Explorer window is opened. (1244688)

  • GI: Fixed issue where RGB, R, G and B button does nothing in Lightmap thumbnail preview. (1199790)

  • GI: Fixed issue where the ContributeGI flag acts faulty in a Preset inspector. (1223708)

  • GI: Fixed issues where Custom Cache Folder Location didn't update correctly. (1228137)

  • GI: Fixed issues where LightmapParameters was null on a new scene, and how it was not accessible for the API. Added "pushOff" to the API as well, and corrected the docs. (1215629)

  • GI: Fixed prefab issues with Mesh Renderer (1179530)

  • GI: Fixed SceneLights memory leak on shutdown in EnlightenBakeManager and ProgressiveRuntimeManager.

  • GI: Fixed Static Analysis Defect: missing CL_CHECK's for EnqueueClearBuffer calls. (1245120)

  • GI: Fixes an issue in the GPU->CPU fallback logic when no valid OpenCL context could be created. (1208704)

  • GI: Fixes incorrectly set distance on lodded objects.

  • GI: GPU Lightmapper produces invalid texels in a certain scene (1217996)

  • GI: GPU lightmapper wrong OpenCL kernel argument in prepareLightRays.cl

  • GI: GPU memory not released following a GPU progressive light bake. (1204993)

  • GI: Made sure that the Sun fields enum is the correct width. (1244279)

  • GI: Make Experimental.Lightmapping.Bake and BakeAsync docs less confusing. (1246519)

  • GI: Static Batching Corrupts Baked Lightmap scene visualization on Play. (1059722)

  • GI: Updated cookie support UI and API (1229691)

  • Graphics: - Fixed performance slowdown when releasing large amounts of buffers at once in Vulkan. Affects SRP batcher the most. (1102159)

  • Graphics: - Vulkan shaders on desktop now work like in Metal with half precision disabled in most cases except explicit min16float in shader (1200917)

  • Graphics: Add parameter to SkinnedMeshRenderer.BakeMesh(Mesh mesh, bool useScale) to take scaling into account when baking a mesh. By default this value is set to false to keep backwards compatibility. (1013310)

  • Graphics: Add ScriptableCamera that allow to extend a Camera by inheritence.

  • Graphics: Added a warning message when intermediate renderers reset non-finite bounds to zero. (1225021)

  • Graphics: Added additional return code validation to various QueryInterface calls (1229903)

  • Graphics: CopyTexture with explicit mips and regions now copies the full texture when both textures have no mips specified and Texture Quality is not FullRes. This also adds a warning when Texture Quality is set and CopyTexture is used to copy textures with mismatched mips. (1215135)

  • Graphics: Ensure that when you have > 63 material inspectors displayed that they will render and not throw an exception. (1156199)

  • Graphics: Fix an issue where in some cases, Custom Render Textures would not be rendered (generally with asset bundles or in a standalone build)

  • Graphics: Fix CustomRenderTexture not using depth for camera rendering (1226411)

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

  • Graphics: Fix Frame Debugger when using RenderPass API

  • Graphics: Fix half precision support in compute shaders (1227467)

  • Graphics: Fix issue where one object in the scene would need ReceiveShadows set to true for Screen Space Shadows to be enabled when using deferred path. (1218683)

  • Graphics: Fix Metal RenderPass crash when there is no depth

  • Graphics: Fix potential rendering issue with SRP Batcher + PolyBrush meshes (1220956)

  • Graphics: Fix RenderBufferLoadAction.Clear when using SRP RenderPass API (1225431)

  • Graphics: Fix RenderPass API Validation, SystemInfo.supportedRenderTargetCount is per subpass

  • Graphics: Fix the ObjectToWorld matrix used by the BatchRendererGroup when the shader opts for nomatrices instancing.

  • Graphics: Fix unintentional built-in shader build time regression

  • Graphics: Fix validating textures without mips (1232782)

  • Graphics: Fix: SplashScreen logo and background textures not being deallocated (1186265)

  • Graphics: Fixed 16-bit texture quantized to 8 bits during importing (1212098)

  • Graphics: Fixed a crash on DirectX11 when creating a texture with a partial mip chain. (1213005)

  • Graphics: Fixed a prefab creation issue of non-MonoBehaviour ManagedObject component.

  • Graphics: Fixed a race condition in the shadow culling code. (1223565)

  • Graphics: Fixed an issue where CopyTexture might not respect the ignore texture limit flag resulting in wrong copies.

  • Graphics: Fixed an issue with drag and drop of non-MonoBehaviour ManagedObject's child component onto inspector

  • Graphics: Fixed crash when trying to assign RenderTexture as input for a VT stack (1235243)

  • Graphics: Fixed crash when using out-of-bounds indices with RenderPass API (1226312)

  • Graphics: Fixed incorrect NativeArray aliasing when using CPU PVT (1232623)

  • Graphics: fixed Indirect drawcalls on Metal binding buffers with wrong offset (1211151)

  • Graphics: Fixed initialization of Camera's state which was causing an issue on Camera's child component's Reset.

  • Graphics: Fixed offline texture processing with ARGB texture format on PS4

  • Graphics: Fixed shader codegen for countbits (1227474)

  • Graphics: Fixed some VFX failing validation on metal, crashing editor/player (1231313)

  • Graphics: Fixed uninitialized variable in MeshRenderer (1226229)

  • Graphics: Fixes a memory leak in AsyncGPUReadback (1234193)

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

  • Graphics: Fixing flipped view when using RenderPass API

  • Graphics: GrabPass does not support Depth targets. Only a single color target is supported. This applies to all platforms that we have. Added error check to prevent editor from crashing. (1208293)

  • Graphics: Ignore points/line topology when raytracing mesh in editor for selection (1183667)

  • Graphics: ImageConversion.EncodeArrayToXXX now converts input data if needed by the encoding algorithm. (1219010)

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

  • Graphics: Removed a unneeded PIX related assert.

  • Graphics: Shader Memory usage optimization in player (1223610)

  • Graphics: The DX12 renderer performance has been improved by only adding IASetPrimitiveTopology to a command list when the topology has changed.

  • Graphics: This fixes the crash during command buffer reading in d3d12 mode. (1233711)

  • Graphics: Thread safety fix to texture streaming manager (1229887)

  • Graphics: Throw an exception when creating mesh with more streams than supported for mesh (1226104)

  • Graphics: tipfix uninitialized variables in TextureUploadMemoryDX11 (1231159)

  • Graphics: Updated message that is shown in Inspector when using a mesh without animation data for SkinnedMeshRenderer. (1229548)

  • Graphics: Updated QualitySettings.streamingMipmapsRenderersPerFrame to support setting at runtime (1222432)

  • Graphics: When creating shaders for desktop metal, do not forcibly generate constexpr shader for comparison (this is needed for ios where older devices do not support setting comparison from the application side) (1201857)

  • Graphics: [RenderPass] Fixed incorrect input attachment indexing on fallback platforms

  • IL2CPP: Fix building Universal Windows Platform player when using Windows SDK versions 15063 or 16299.

  • IL2CPP: GetIPProperties().GatewayAddresses now properly runs on MacOS. (1226597)

  • IL2CPP: Respect the DllImportAttribute.PreserveSig property on PInvoke definitions.

  • IL2CPP: Respect the PreserveSigAttribute on COM interop types. (1202914)

  • IMGUI: Fixed IndexOutOfRangeException when loading the editor. (1241206)

  • IMGUI: Fixed the issue where the last selection is shown as focused even after selection another window. (1241127)

  • iOS: Fix iPhone bluetooth controller buttons not registering input (1241180)

  • iOS: Fixes sound becoming muted after quickly swapping to voice dictation and back to app. (1176463)

  • iOS: Properly detect Dualshock gamepad during application start when new input system is used on iOS, the issue was because GameController framework was not included in exported project. AppleTV didn't had this bug, since GameController is always included in AppleTV's Xcode project. (1244053)

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

  • Kernel: Fixed issue with debug assert raised in unique_ptr, when move-from is either default constructed or already moved-from. (1226908)

  • Kernel: Fixed rounding when undoing parenting. (1214246)

  • Kernel: NativeArray.Dispose behavior to not throw when Allocator.None is used.

  • Licenses: Fixes the issue when in batch mode switching project path and activating a license in one command causes wrong folder to be used for build. (1219428)

  • Licenses: Improve Editor logs for CLI license activation when license machine binding fails (1040333)

  • Linux: Disable unstable DrawHeader_WhenInvokedManually_FromPrefabOverridesTreeView_InvokesCallback test for case 1179487

  • Linux: Fix UnitySetup -L option incorrectly showing defaults (1160471)

  • Linux: Fixed keyboard modifiers from being incorrectly munged while moving between editor windows. (1218006, 1236681, 1239227)

  • macOS: CPU usage decreased for Player built with 'Run in Background' (1240835)

  • macOS: Fixed assets cannot be saved if the project name contains certain Unicode characters (1229500)

  • macOS: Fixed Bundle Identifier from Player Settings not matching the generated Xcode project bundle identifier on macOS Standalone (1221132)

  • macOS: Fixed console window lose focus when status bar is clicked to show it (1227963)

  • macOS: Fixed issue where installer on macOS 10.15 would error when disagreeing with the license (1240184)

  • macOS: Fixed issue where sometimes more than one dropdown stays open. (1236216)

  • macOS: Fixed issue where using the CanvasScalar with Physical Constraint set would cause a performance regression. (1241982)

  • macOS: Fixed Performance degradation with Hybrid Renderer V2 (1237693)

  • macOS: Fixed popup stays open after closing tab (1235872)

  • macOS: IME works in both editor and player in the proper location

  • Mobile: Prevent iOS/tvOS simulator builds from being appended with device builds (1216005)

  • Mobile: Removed Game SDK 3.1 initialization due to issues in GameSDK 3.1. Any other GameSDK version is still supported.

  • Multiplayer: Adding and/or fixing range validation of indexes coming from network to be in-bound before using them.

  • Package Manager: Adjusted package 'Preview' and 'Verified' tag colors in Light mode to meet minimum legal contrast requirements.

  • Package Manager: Changed Package Manager window to use UIElements VisualSplitter instead of custom splitter class. This makes the window behave more consistently with other application windows with a split view, i.e. Preferences Window. Split view resizing with window resizing now works in Package Manager window.

  • Package Manager: Created a proxy for AssetDatabase, such that in the test environment we never rely on the state of the real AssetDatabase

  • Package Manager: fix scroll for package dev description

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

  • Package Manager: Fix the superposition of the text packages and load next in package load bar

  • Package Manager: Fixed defect in AssetStorePackage reported by static code analysis (1237761)

  • Package Manager: Fixed defect in AssetStoreProductInfo reported by static code analysis (1237762)

  • Package Manager: Fixed issue where 'user not logged in' error sometimes occurs on opening Unity Editor with Package Manager window opened to My Assets.

  • Package Manager: Fixed the issue where ArgumentException will be thrown when opening Asset Store page in Package Manager window when Charles Proxy is running.

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

  • Package Manager: Fixed PackageInfo.FindForAssetPath performance overhead. (1221526)

  • Package Manager: grey out package in inspector

  • Package Manager: Internal changes, moved DownloadImageAsync function into AssetStoreCache class so it is with the Load and Save Image functions.

  • Package Manager: Match counter to search result (1222784)

  • Package Manager: Match download bar to windows size

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

  • Package Manager: Removing a custom package in development was not updated in the UI.

  • Package Manager: set actif remove button when element present

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

  • Particles: isEmitting script API should return false if the emission module is disabled (1240811)

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

  • Physics: Fixed Component Reset functionality for: Hinge Joints (all parameters relating to Motor, Spring, Limits), Joints (Enable Collision, Enable Preprocessing, Break Force, Break Torque), Character Joints (Swing Axis, Enable Projection) (1157026)

  • Physics: Fixed various crashes related to activation/deactivation of ArticulationBody components attached to game objects, like changing game object parent, enabling/disabling of game objects, enabling/disabling/removal of ArticulationBody components, removal of game objects with ArticulationBody attached.

  • Player: Changes AsyncReadManagerMetricsFilters to be passed by reference in relevant methods. (1242611)

  • 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: Re-enable OnAudioConfigChanged and AudioRenderTest tests on the Stadia Platform.

  • Player: Updated automation player to use most recent stadia sdk

  • Prefabs: "Find References In Scene" did not work with nested prefabs (1213528)

  • Prefabs: Fix baked Occlusion Culling data affects Prefab Mode (1136698)

  • Prefabs: Fix Overrides dropdown comparison view remaining open if last override has been applied or reverted via context menu. (1071433)

  • Prefabs: Fix SerializableObject.GetIterator() throws ArgumentNullException when UnpackPrefabInstance() is called on an instantiated Prefab in Inspector logic (1164099)

  • Prefabs: Fix: Crash when calling PrefabUtility.SaveAsPrefabAsset with absolute path outside of project's Assets folder. (1210526)

  • Prefabs: Fix: PrefabUtility.SaveAsPrefabAsset() freezes the editor when called from OnValidate() method. (1127313)

  • Prefabs: Fixed 50% of all object references appear as null within a scripts OnBeforeSerialize callback, during domain reloads. (1152124)

  • Prefabs: Fixed an issue where a parent prefab might fail to correctly override changes to its nested children (1195496)

  • Prefabs: Fixed placement of Prefab override margin lines for controls that are inside GUI clipping groups. (1197808)

  • Prefabs: Fixed preview material getting permanently set when dragging over Prefab instance with missing Asset. (1124308)

  • Prefabs: Fixes a test instability (1101428)

  • Prefabs: If the user destroys the root game object of a prefab, Unity editor would crash. Now an error message is printed instead (1218129)

  • Prefabs: Overrides Window: Fix overrides in nested instances are collapsed when one override is applied (1112995)

  • Profiler: Fixed GC Allocations not displaying values less than 1024 bytes in Memory chart of ProfilerWindow

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

  • Scripting: Added dll verification to loading routine to prevent the editor from loading corrupt dlls. (1231038)

  • Scripting: Allow duplicate enum members to refer to same underlying value as long as one is non-obsolete. (1218124)

  • Scripting: Fix crash when large amount of dynamic code is generated, potentially for XML serialization. (1191533)

  • Scripting: Fix unlimited warnings to Editor.log using all disk space (1238954)

  • Scripting: Fixed crash that occurred during domain reload that was caused by image set data being stored in the wrong image. (1224837)

  • Scripting: Fixed Debug.Log* printing Debug.Filename.h after the stacktrace in IL2CPP/Mono with no PDB. (1099724)

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

  • Scripting: Fixes Catalina OSX returning 0 for disk space on read only drives. (1221933)

  • Scripting: Improved error messages for errors in generated code coming from the jobs debugger and safety system

  • Scripting: Potential fix for random crash. (1232819)

  • Scripting: Unable to delete NewAssembly from Assembly Definition References list in Test Import Setting (1217184)

  • Scripting Upgrade: Fixed some false positive recursion errors in ApiUpdater (1224800)

  • Security: Fixed a security vulnerability. (CVE-2017-12939)

  • Security: Fixed a security vulnerability. (CVE-2019-9197)

  • Serialization: Make sure to support resolution loops and empty messages in System.Obsolete for the API upgrading path (1222795)

  • Services: Display of newer version of In-App Purchasing Package now correctly displays newest pre-migration version (prior to 3.X) if still on version 2.X or older. Verstion installed when selecting Update and Migrate also now function as intended.

  • Shaders: Added precise keyword support on generated GLSL (1227113)

  • Shaders: fix static analysis issues ShaderCompiler Preprocessr code (1217178)

  • Shaders: Fixed an issue with local keywords when using fallback shaders. (1238838)

  • Terrain: Added NavMesh Lod index in TreePrototype. The index is used to select LOD Level in LODGroup for NavMesh generation. (1193073)

  • Terrain: Export raw terrain now shows up immediately in Project Folder view (1178342)

  • Terrain: Fixed preview when multiple TerrainLayers are selected (1148952)

  • Terrain: Fixed Terrain to properly switch from base map to splat map rendering when splats are in a dirty modified state (1178928)

  • Terrain: Fixed undo tracking for Terrain to be correctly record multiple different Paint operations in the same Undo operation, and properly Undo adding Terrain Layers (1138273)

  • Terrain: Fixing baked shadow masks for terrain with more than 4 materials (1148970)

  • Terrain: Fixing Terrain Brush list to update when brushes are modified, and adding tooltips to the Brush properties (1170563, 1170565, 1170567)

  • Terrain: Increased the Undo buffer size to better handle Terrain modifications. (1067258)

  • UI: Adding ability to use Ctrl + Insert to copy text and shift + instert to paste text. (1226349)

  • UI: Fix canvas drawing multiple times per frame when OnDemandRendering.renderFrameInterval is more than 1 (1214921)

  • UI: Fixed an issue where scene needs to be saved twice when creating an instance of a Prefab having a Layout Group component and a child UI GameObject (1195283)

  • UI: Fixed issue where GetModifiedMaterial would get root canvas even if not maskable causing performance spikes.

  • UI: Fixed issue where Text Mesh color was not reset properly upon calling "Reset" (1223055)

  • UI: Fixed issue where UIZTestMode was not initially set which could cause first frame render issues or issues if the GameView wasn't visible. (1235078)

  • UI: Fixed issue with indexedSet array access

  • UI: Fixed issue with Selectable OnDrag not resetting to proper position as it used localPosition instead of anchoredPosition.

  • UI: fixing issue where if a dropdown was part of a nested overrideSorting canvas it would grab the very root canvas which could have the wrong sorting layer data

  • UI: Update uGUI package documentation to include EventSystem

  • UI Elements: Enabled MSAA on inspector windows to provide antialiased UIElements content. (1215973)

  • UI Elements: Fix event currentTarget being null when event is sent only to target.

  • UI Elements: Fixed Editor memory leak on EditorWindow docking/undocking.

  • UI Elements: Fixed issue with right-click passing through the inspector preview if it's drawn over other inspector components. (1226328)

  • UI Elements: Fixed padding that caused truncated text in UIElements debugger search bar. (1233009)

  • UI Elements: Fixed radial gradients on metal. (1225848)

  • UI Elements: Fixed right-click on titlebar outside of open or failed-to-load tabs not supposed to show context window. (1228991)

  • UI Elements: Fixed the SubUpdatesDoesntBreakNextElements test to work on OpenGL and Vulkan on Windows. (1222743)

  • UI Elements: Item height is now excluded from the ListView view data. (1225888)

  • UI Elements: Limiting the relative mouse position to account for the max size as well.
    Added automated tests for the Visual Splitter (1215097)

  • UI Elements: Limiting the relative position of the splitter to always be between 0f and 0.999f.
    Added automated test to make sure the bug can never be reproduced. (1227342)

  • UI Elements: now the UIElements Debugger no longer sends a ChangeEvent when updating the VisualElement's Text field. (1185718)

  • UI Elements: Optimize StyleVariablesContext hash computation

  • UI Elements: Setting twice a TextValueField (without notify) would sometimes skip display updates and result in displaying the wrong values (the field's value itself is ok, but not the text that represents the value). (1202400)

  • UI Elements: The Scrollbar is one item behind when using ScrollToItem method. (1219416)

  • UI Toolkit: Renamed "Update UIElements Schema" menu item to "Update UXML Schema"

  • UI Toolkit: Reverting a Toggle's text to null won't throw an exception (1238606)

  • UI Toolkit: Unhandled CommandEvents are now propagated to the EditorWindow's OnGUI() (1231271)

  • Universal Windows Platform: Expose EnableFrameTimings in Player Settings for Universal Windows Platform. (1163531)

  • Version Control: Fixed errors for Collab users using Apple FileMerge as their diff/merge tool. (1224872)

  • Version Control: Removed the VCS "Lock" and "Unlock" buttons in various menus when the enabled VCS system does not support those operations. (1174664)

  • Video: Addresses an instability in video playmode tests (VideoPlaybackCanPlayAudio).

  • Video: Fix VideoPlayerTimeReference playmode test instability.

  • Virtual Texturing: Fix GPU procedural VT occasionally showing tile corruption due to incorrect syncing between CPU/GPU threads. (1222483)

  • Web: [UnityWebRequest] Fixed rare cases where request would fail when using File download or upload handler

  • WebGL: Added check for Linux to use the correct version of the Brotli compression library (1241347)

  • WebGL: Fix WebGL builds for projects with utf-8 symbols (1179135)

  • WebGL: Fixed issue with gzip compression being broken for CentOS7. (1168715)

  • WebGL: Fixed the issue which prevented usage of ES6 in user jspre plugins in WebGL. (1211536)

  • Windows: Adds support for VideoCapture API to Windows Standalone Player and Editor (1195027)

  • Windows: Fixed a couple of crashes when closing custom modal dialogs. (1235986)

  • Windows: Fixed build icon's alpha value is not shown correctly (1209971)

  • Windows: Fixed issue where Overrides window stays stuck open when user returns to the Scenes. (1233487)

  • Windows: Fixed issue where the wrong window would sometimes get mouse click events if they were overlapped. (1242368)

  • XR: Add missing Vulkan device flush from XRDisplay

  • XR: Disable watermarks when rendering to VR device with XR SDK

  • XR: Fix order of single-pass instancing shader variables for gles3 (1187259)

  • XR: Fix regression introduced in render pass fix. (1225548)

  • XR: Fix zero-initialization for ScriptableCullingParameters

  • XR: Fixed a case where the camera does not respect near/far clipping plane settings

  • XR: Fixed an issue with Texture2DMSArray shader compilation with OpenGL.

  • XR: Fixed MirrorView BlitMode C# out of sync with XR display header.

  • XR: Fixed multipass color resolve to right eye in certain circumstances.

  • XR: Fixed Sprite Mask not working in URP XR (1195098)

  • XR: fixes automatic upgrading for URP and HDRP projects

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

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

  • XR: Make sure GetInstanceCountMultiplier() is used correctly in DrawNullGeometry() and DrawIndexedNullGeometry() with OpenGL

  • XR: Modifying scripts in play mode nolonger causes Subsystems to unload.

  • XR: No longer emitting deprecation warnings for subsystem infrastructure. (1238848)

  • XR: Re-enabled dynamic MSAA levels with Vulkan and FFR. (1226502)

  • XR: Update XR Plugin Management for improved user workflow.

API Changes

  • 2D: Added: Add HasTilemapChanges and ProcessTilemapChanges for TilemapCollider2D to immediately process Tilemap changes instead of waiting for batched processing in LateUpdate. (1234392)

  • 2D: Added: Added API to access SpriteSkin deformed buffer

  • Asset Bundles: Added: Added reading metrics to the AsyncReadManager and APIs to retrieve them from script.

  • Asset Import: Added: Using AssetDatabaseExperimental.SetImporterOverride after an Undo.RegisterImporterUndo call allows reverting the importer type change operation.

  • Asset Import: Added: Using AssetDatabaseExperimental.SetImporterOverride after an Undo.RegisterImporterUndo call allows to revert the importer type change operation.

  • Asset Import: Changed: ScriptedImporterAttribute has an updated API to declare supported extensions and override extensions. See the documentation on ScriptedImporterAttribute for more details.

  • Asset Pipeline: Added: Add APIs to the Asset Database that take and return UnityEditor.GUIDs instead of strings

  • Asset Pipeline: Changed: Rename AssetDatabase GetArtifachHashXXX functions to ProduceArtifact counter parts

  • Build Pipeline: Added: Added ContentBuildInterface.GetPlayerAssetRepresentations API to return the asset representations without triggering a load of the asset itself. Improving performance for certain build cases.

  • Editor: Added: Add HandleUtility.pickGameObjectCustomPasses, allowing external code to augment the Scene View picking function.

  • Editor: Added: Added API to allow for a save dialog to pop up when the user closes a tab or editor window.

  • Editor: Added: JIRA case: https://unity3d.atlassian.net/browse/EC-704
    This is part of our Editor Query Framework epic : https://unity3d.atlassian.net/browse/EC-696

  • Editor: Added: Make ChannelService API public

  • Editor: Added: make some internal properties public, required to fix case 1226204

  • Editor: Changed: Added the ability to filter what is shown in a custom object picker with new attributes.
    https://unity3d.atlassian.net/browse/EC-724

  • Editor: Changed: New Guids are added on search contexts to support multiple searches.
    https://unity3d.atlassian.net/browse/EC-728.

  • Editor: Changed: Rename SceneViewState.showMaterialUpdate to alwaysRefresh. (1230092)

  • Editor: Removed: Handles.DrawCapFunction and associated method overloads are removed.

  • Graphics: Added: Add control on display of shadow mask option and reflection probe option in quality settings

  • Graphics: Added: Added an overload to CommandBuffer.GenerateMips that takes a RenderTargetIdentifier parameter.

  • Graphics: Added: Added an override to SearcherAdapter for populating all children of search entries.

  • Graphics: Added: added api to UnityEngine.Apple.FrameCapture to capture next frame as a whole: CaptureNextFrameToFile and CaptureNextFrameToXcode

  • Graphics: Added: added Mesh.SetSubMeshes to set all submeshes in one go avoiding all kinds of corner cases when updating existing mesh

  • Graphics: Added: Added RayTracingAccelerationStructure Build and Update overloads that take in a relative origin for the acceleration structure. By default (when no origin is passed in), this origin in (0, 0, 0). Camera-relative ray tracing is enabled by passing in the camera position as the relative origin every time Build or Update is called.

  • Graphics: Added: Allow infinite frustum when performing shadow culling. This is useful when shadows are not updated every frame and cannot be view dependent.

  • Graphics: Added: API Added to allow native plugins to register and unregister 3D Textures with Unity

  • Graphics: Added: Image encoders that use NativeArray as input/output added.

  • Graphics: Changed: Allows compressed formats with Procedural VT on the CPU.
    The CopyPixelDataToLayer helper function now requires the used graphics format as an additional parameter. (1236255, 1246659)

  • Package Manager: Added: Added a new UnityEditor.PackageManager.Events.registeredPackages event which is raised after the editor is done importing and compiling the new list of packages.

  • Package Manager: Added: Added a new UnityEditor.PackageManager.Events.registeringPackages event which is raised before importing the new list of packages;

  • Particles: Added: Added NativeArray overloads to SetParticles and GetParticles

  • Timeline: Added: Added ClipCaps.AutoScale to automatically change the speed multiplier value when the clip is trimmed in the Timeline window.

  • UI: Added: Add a new property "IsMaskingGraphic" so we dont have to do a GetComponent each enable/ disable if we are not the masking graphic

  • UI Elements: Added: PropertyFields now sends ChangeEvent<SerializedProperty>

  • Web: Obsoleted: UnityWebRequest: isNetworkError and isHttpError are now deprecated, use UnityWebRequest.result instead.

  • WebGL: Added: Added "CodeOptimization" option to WebGL.UserBuildSettings. Possible values: "Speed" (default) and "Size".

  • XR: Added: Added Script API to override XR display subsystem's preferred mirror mode.

  • XR: Added: Added XR MSAA level setter to c# script.

Changes

  • 2D: Remove unused Reset Bounds button from SpriteSkinEditor

  • Asset Import: Changed the default material import mode of the model importer from 'Standard' to 'Import via MaterialDescription'

  • Audio: DSPGraph: Move interleaving of samples in output buffer from output hook implementations to native output hook manager

  • Build Pipeline: Always add a copy of the managed symbols to a Temp/ManagedSymbols folder during a build.

  • Editor: Configurable Enter Play Mode feature is no longer experimental.

  • Editor: Creating a new GameObject from the Hierarchy view now places the instantiated object at world origin when invoked from a context menu on a Scene. (1179419)

  • Editor: Mark unity remote as deprecated inside ProjectSettings->Editor

  • Editor: Newly created objects in Hierarchy view go into rename mode now ("Rename New Objects" in hierarchy view settings menu can turn this behavior off)

  • Editor: Removed "macOS Color Picker" editor preference setting (that setting only ever partially worked anyway, e.g. it did not support HDR colors).

  • Editor: Revert reintroduction of OnDestroy/Awake calls for ExecuteAlways scripts when we enter Play Mode with the Scene Reload disabled.

  • Editor: The Position handle now follows mouse movements more precisely. (1217150)

  • Editor: Updated interaction mode labels and tooltips.

  • Editor: When calculating an object's bounds for the Rect tool, GameObjects with a MeshFilter but no MeshRenderer are now included.

  • GI: LightingSettings asset is only created when saving an upgraded project

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

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

  • iOS: Launch Images are no longer supported, as per new Apple guidelines

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

  • Package Manager: Changed path and file format of global configuration file. The configuration file format is now TOML. The old global configuration file path is deprecated. New global configuration should be set in this new file.

  • Package Manager: Version conflicts involving a direct project dependency are now reported like any other version conflict instead of being silenced.

  • Scripting: Removed boo and unityscript dlls from mono distribution.

  • Scripting: Removed deprecated code from internal tests. NOTE: Does not affect any component of Unity Product

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

  • Services: Support in the In-App Purchasing Service Settings for safe migration of com.unity.purchasing to 3.0+ from older versions. The ability to update to the most recent of the legacy versions of In-App Purchasing without migrating is retained. Projects without any versions of this package installed already will only be able to install 3.0+ from the In-App Purchasing Settings user interface.

  • Timeline: ControlPlayableAsset.searchHierarchy (a.k.a. Control Children) now defaults to false.

  • Timeline: Updated default Timeline package version to 1.4.0-preview.3.

  • UI: original descritopn: Improved case 1233408 @philip:
    UI: Small tweak to the EventSystem.current API to not do unnecessary work when setting current to the already current system.

  • 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
  • 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 message to inform user on dependent packages when viewing certain sample Scenes in com.unity.2d.animation

  • 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: Improved deformation performance when Collection and Burst package is installed

  • 2D: Improved Memory Allocations

  • 2D: Improved SpriteSkinEditor UI

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

  • Android: Enable support for Light Probe proxy volumes when using OpenGL ES 3

  • Android: Framerate will be decided automatically when optimized frame pacing is enabled and vsync is disabled

  • Android: Optimize async texture readback and CopyTexture when using Vulkan on Mali GPUs

  • Android: Screen.resolutions is filled with supported display resolutions for 4K detection. (1178233)

  • Android: Support target display on Android

  • Android: Support Vulkan backbuffer pre-rotation

  • Android: Supported compressed 3D textures with OpenGL ES 3.1

  • Android: Update Android Logcat package version to 1.1.1

  • Android: Update Screen.currentResolution.refreshRate in case the display refresh rate changes

  • Asset Import: AssetDatabaseExperimental.SetImporterOverride is now accessible from the inspector in every Assetimporter header by selecting which available Importer Override to apply to this asset.

  • Asset Import: AssetDatabaseExperimental.SetImporterOverride is now accessible from the inspector in every Assetimporter header by selecting which available Importer Override to apply to this asset.

  • Asset Import: Improve uv-unwrapper performance

  • Asset Pipeline: Added examples to CopyAsset, SetLabels, GetMainAssetTypeAtPath,GetUnusedAssetBundleNames, RemoveUnusedAssetBundleNames

  • Asset Pipeline: Added examples to ExportPackage, GetAssetBundleDependencies, GetAssetOrScenePath, GetAssetPathFromTextMetaFilePath, GetImplicitAssetBundleVariantName

  • Asset Pipeline: Added examples to GetAssetDependencyHash, ReleaseCachedFileHandles, GetCurrentCacheServerIp, importPackageFailed, importPackageStarted, importPackageCompleted, importPackageCancelled

  • Asset Pipeline: Added examples to GetCachedIcon, SetMainObject, ValidateMoveAsset, RenameAsset, Refresh

  • Asset Pipeline: Added examples to GetSubFolders, ImportPackage, IsForeignAsset, IsMainAsset, IsMainAssetAtPathLoaded

  • Asset Pipeline: Added examples to IsNativeAsset, IsSubAsset, OpenAsset, RemoveAssetBundleName, RemoveObjectFromAsset

  • Asset Pipeline: Added examples to IsValidFolder, DeleteAsset, MoveAsset, RenameAsset, MoveAssetToTrash

  • Asset Pipeline: Added examples to WriteImportSettingsIfDirty, GetImplicitAssetBundleName, GetLabels, Contains, ForceReserializeAssets, ClearLabels

  • Asset Pipeline: Be less verbose about adb profiler output in the editor log unless necessary

  • Asset Pipeline: Cache server UI icons and design.

  • Asset Pipeline: For source asset dependencies, besides using file hashes, use timestamps for deciding when to reload asset.

  • Asset Pipeline: Show more precise information in progress dialog when asset postprocess callbacks take a long time to finish (1228418)

  • Audio: Stop audio previews when Unity loses focus and "Run in Background" is disabled

  • Bug Reporter: Allow setting Bug Reporter defaults for Publicity, CustomerEmail, and whether to exclude project files, in services-config.json.

  • DX12: 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.

  • DX12: Added support for GraphicsBuffer constant buffers that can be set using the ComputeShader.SetConstantBuffer and CommandBuffer.SetComputeConstantBufferParam

  • DX12: Added support for GraphicsBuffer constant buffers that can be set using the RayTracingShader.SetConstantBuffer and CommandBuffer.SetRayTracingConstantBufferParam

  • DX12: On DX12 skin pose buffer update triggers an upload operation from upload heap to default memory resulting in barriers being inserted between compute dispatches, which prevented them from being scheduled concurrently. This PR uses scratch buffer memory for the skin pose buffer thus eliminating the need for an upload operation and the barriers.

  • Editor: Add Recent Scenes to the File menu in the top toolbar.

  • Editor: Added "Set as Default" option to Hierarchy objects to allow setting a custom parent for objects dragged into the Scene/Hierarchy Windows and objects created via the GameObject menu.

  • Editor: Added Pan, Zoom and Blendshape Preview to the Mesh Inspector.

  • Editor: Added shortcuts to copy/paste camera position -- "Scene View/Copy Camera Placement", "Scene View/Paste Camera Placement" and "Game View/Copy Camera Placement" in shortcut settings. No default keys are assigned.

  • Editor: Arrays and user-written serializable classes & structs can be copy/pasted in the inspector now.

  • Editor: Calculate a ray direction relative to the camera instead of in world space. This should significantly improve precision when interacting with handles far away from the origin. (1178966)

  • Editor: Certain Version Control state icons (Out of Sync, Conflicted, Remote Locked, Remote Delete, Remote Checkout) will be displayed (if enabled in the Project Settings) for prefabs in the Hierarchy.

  • Editor: Ctrl+C on a focused progress dialog in Windows Editor copies the progress text to clipboard.

  • Editor: Editor status bar lower right corner icons have tooltips now.

  • Editor: Game View resolution dropdown for Standalone platform got a better list of default aspect ratios (16:9, 16:10) and resolutions (1920x1080, 1366x768, 2560x1440, 3840x2160).

  • Editor: Handles.DrawLine, DrawWireDisc and DrawWireArc functions got an optional "thickness" parameter for drawing thick handles.

  • Editor: Improved JobsDebugger performance

  • Editor: Improved progress bar details for texture importing (Crunch compression, cubemap convolution etc.).

  • Editor: Material preview in the inspector now remembers the last used preview mesh.

  • Editor: Minimize allocations when calculating bounds for the Rect tool.

  • Editor: Move/Rotate/Scale handle improvements! Thicker lines, with user preference for thickness. Indication for which axis would be picked by mouse hover was improved (brighter color and thicker line), as well as increased accuracy of move & scale axes end points picking. Rotation handle arcball rotation outline circle is more visible now. Axis end caps are properly sorted and no longer the further Z axis cap is drawn over the closer X cap. Move tool plane widgets are no longer on the wrong side of the center handle when orthographic camera is used.

  • Editor: Optimized by ~74x the style catalog asset post processing. (1222761)

  • Editor: Release Quick Search 1.5.2 with minor fixes and a bit more performance.

  • Editor: Release Quick Search 1.5.3 with minor fixes and improve tests stability regarding asset store.

  • Editor: Scene view accepts multiple objects when dragging and dropping

  • Editor: Scene view deselect-click (Ctrl/Cmd) works more intuitively with prefabs containing child objects.

  • Editor: Scroll smoothness in Editor in macOS

  • Editor: Text field for Scripting Define Symbols in ProjectSettings replaced with foldout string array

  • Editor: Updating the UI for Background tasks and Main toolbar.

  • GI: Added support for half float texture format for Light Probe Proxy Volume component. The LPPV inspector has a new option to choose the format of the 3D LPPV texture.

  • GI: Improved scheduling of lightmaps, light probes and additional probe bakes with with the GPU lightmapper.

  • GI: Improvements to Lighting Settings such as preset support, updated docs and exposure of default settings.

  • 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: Reduce GPU memory usage when baking large lightmaps with the GPU lightmapper, by baking in smaller tiles in non progressive mode.

  • GI: Removing custom Lighting Settings from 3D template

  • GI: Sped up GI main thread initialization on Editor startup. (1162775)

  • Graphics: Color writes during a scriptable render pipeline shadow pass has been disabled to improve performance.

  • Graphics: Enabled threaded texture creation on Xbox DX11 to removed hitch. Added support for direct upload of offline processed data on DX12 when threaded texture creation is disabled

  • Graphics: Generate warnings when when using CommandBuffer API that is not supported inside a renderpass.

  • Graphics: Improve input validation of RenderPass API

  • Graphics: Improve validation of RenderTexture with bindTextureMS for unsupported formats

  • Graphics: Improved documentation for Texture.allowThreadedTextureCreation

  • Graphics: Improved DX12 async texture loading to fail more gracefully when out of GPU memory

  • Graphics: Improved DX12 performance in cases, where a lot of resources are created per frame.

  • Graphics: Improved the error messaging interface when incorrectly setting up texture stacks.

  • Graphics: Improves DX12 performance with hybrid renderer.

  • Graphics: Make use of ASTC decode mode RGB9E5 for ASTC HDR textures when alpha is not used

  • Graphics: Slightly reduced shader compilation times and application build sizes for GLSL/Metal platforms.

  • Graphics: Texture creation performance improved for CubeMaps on Metal. Hitches reduced.

  • Graphics: Texture creation performance improved for CubeMaps on PC and Xbox on DX11 and DX12 and PS4

  • Graphics: Texture creation performance improved for CubeMaps on Vulkan. Hitches reduced.

  • Graphics: The D3D12 internal command buffer can now be accessed from a d3d12 native plugin.

  • Graphics: The URP Shadow Pass is now more performant when rendering cascaded shadow maps due to an increase of draw calls per command list.

  • IL2CPP: Add attribute to avoid runtime performance impact of static constructors

  • iOS: Camera.targetDisplay now works with iOS Metal (1171951)

  • iOS: Changed builtin xib launch screens to storyboard

  • Kernel: Fix crash when empty filename is passed to AsyncReadManager.Read API

  • Kernel: Reduce job system overhead on Mac

  • Kernel: Refactoring in memory label code which resulting in lowering generated code size.

  • Kernel: Small optimisation for low-level atomic queue container used by the JobQueue

  • 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 tooltips to action buttons for a package.

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

  • Particles: Added a new Depth sorting mode, to sort particles based on their distance to the camera plane. (1207573)

  • Physics: Implement visualisers for the articulation body joint limits, both linear and angular ones. Revolute, prismatic and spherical joints are supported.

  • Profiler: Ability to see metadata associated with a profiler sample in Hierarchy View.

  • 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: Player Connection: Improved stability of player connection by better handling sending/receive messages and splitting receiving of messages across multiple frames.

  • Scripting: Add GC-free way to get stack trace in editor

  • 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: AtomicSafetyHandle now throws ObjectDisposedExceptions instead of InvalidOperationException when code attempts to access a container after it has been disposed. This mimics behavior of built-in container types.

  • Scripting: Ensure crash handler is invoked when an abort or assert is encountered in Mono runtime.

  • Scripting: Implemented switching code coverage without editor restart. Introduce API to enable/disable code coverage.

  • Scripting: Improve performance of memory profiler

  • Scripting: Improved Performance of DefineConstraintsHelper

  • Scripting: UnityWebRequest.certificateHandler is now invoked for root certificates on Windows

  • Scripting Upgrade: Avoid logging potentially misleading message in case that no assembly got successfully updated.

  • Shaders: Caching shader preprocessor now recognises ellipsis (but no variadic macros support).

  • UI: Add the ability to toggle maskable option from the inspector (property has always been there for API only)

  • UI: Adding secondary list of only graphics that are raycast targets to CanvasRegistery. This prevents iterating over the whole list all every frame

  • UI: Cache .Count access on for loops where throughout UI source code

  • UI: reworked GraphicRaycaster eventCamera implementation to cache some calls for performance

  • UI: UIStruct memory saving by use of bitfields

  • UI: Updated documentation for OnRectTransformDimensionsChange to say when it could be called.

  • UI: updating colorblock to have a static colorblock for default instead of creating new each time

  • Version Control: Updated existing version control icons. Added theme support.

  • Windows: Improved Time.deltaTime consistency for D3D11 graphics API.

  • Windows: Improved Time.deltaTime consistency for D3D12 graphics API.

  • XR: Updated Oculus XR Plugin to 1.2.0

Features

  • Android: Added more complete support for playing video in addressables and asset bundles. Compressed and in-memory bundles are now supported on Android 9 and newer devices.

  • Asset Pipeline: Added 2 new properties:
    AssetDatabase.GlobalArtifactDependencyVersion
    AssetDatabase.GlobalArtifactProcessedVersion

  • Editor: Add support for Root Namespace field to Assembly Definition Files. New scripts created inside Unity will have a namespace added to the default template if it is set in the corresponding Assembly Definition File or Project Settings -> Editor -> Project Root namespace for non-Assembly Definition File scripts.

  • Editor: Added -version argument to command line arguments which prints out the unity version to console

  • Editor: Added functionality to have snap lines inside Graphview turn on and off in Preferences.
    If enabled, GraphElements in Graph Views (such as Shader Graph) align with one another when you move them. If disabled, GraphElements move freely.

  • Editor: auto_quitter has been renamed to UnityAutoQuitterauto_quitter on all platforms. It is now a native program on MacOS and Linux.

  • Editor: optionally drag all the edges from a port to another at the same time.

  • Editor: Texture arrays (Texture2DArray) and volume textures (Texture3D) can be imported now, from "flipbook" image layouts. Use through the new options in texture import Shape setting.

  • Editor: Update ProBuilder to 4.2.3.

  • GI: Add Bluenoise sampling from Eric Heitz and Laurent Belcour SIGGRAPH Talk, see https://eheitzresearch.wordpress.com/762-2/ jira link: https://unity3d.atlassian.net/browse/UR-1291

  • Graphics: Add ExtensibleCamera that allow to extend a Camera by inheritence.

  • Graphics: Added an experimental ExternalGPUProfiler capture API enables developers to programmatically take GPU frame captures using supported GPU debugging tools.

  • Graphics: Added support for importing 16bit per channel integer formats without quantization. This also exposed new TextureFormats R16G16, R16G16B16 & R16G16B16A16

  • Graphics: Adds the option to explicitly evict data in a region; the original invalidate will now keep the original "stale" data on your graphics hardware until refreshed.

  • Package Manager: "Enable Preview Packages" moved in Package Manager Project Settings

  • Package Manager: Add dropdown bouton for preview packages in use

  • Package Manager: Add links in package description so users can copy them.

  • Package Manager: Added changelogUrl and licensesUrl as optional properties which can be specified in a custom package's package.json. If specified, will replace the auto-generated changelog and licenses links with the custom URLs.

  • Package Manager: Added user setting for skipping the 'Asset Store has Moved' window. This setting can be enabled from the 'Asset Store has Moved' window itself. If enabled, this setting will cause the Asset Store to be opened directly in the browser when clicking on 'Window > Asset Store', and the user will not see the 'Asset Store has Moved' window again once they close it.

  • Package Manager: Changed Package Details to display full version of package, with tags (i.e. preview). Also, the '(Current)' note has been removed from Release Details of UPM Packages.

  • Package Manager: Http range request.

  • Package Manager: In the Package manager window, the refresh button is now a dropdown button to choose what kind of refresh the user wants to do.

  • 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. UPM_USER_CONFIG_FILE overrides the default path of the user configuration file.

  • Package Manager: Made console log errors from Package Manager UI clearly specify they are from [Package Manager Window]. Also modified error messages shown in the UI so that they do not prompt the user to 'see console for more details' if no details are logged in the console.

  • Package Manager: Package details for packages installed locally/from tarball now displays the path they were installed from.

  • Package Manager: Split the package Name into the Name and the organization.

  • Package Manager: Updated the Package Manager window visuals with the primary goal to highlight the usage of preview packages.

  • Player: Pulling Unity Player logs after test runs as they are useful artifacts.

  • Prefabs: PrefabPostprocessor support

  • Scripting: Compile scripts with C# 8.

  • Shaders: It is now possible to override shader preprocessor on a per-shader basis

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: a331b04b65b8