发行说明

Known Issues in 2020.1.0a17

  • AI: Crash in NavMeshManager on Mobile with IL2CPP when using NavMeshComponents (1175557)

  • Android: Crash with "GSL MEM ERROR: kgsl_sharedmem_alloc ioctl failed" on Adreno GPU devices (1206047)

  • Android: Fix poor physics performance on ARM64 on certain devices with power mode disabled. (1186295)
    Fixed in 2020.1.0a18.2117_ef17b9893f43.

  • Asset Bundles: Building asset bundles when build path doesn't exist causes a failed assertion on "pluginAppendices.size() <= 1" (1203242)

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

  • Asset Bundles: [Performance Regression] AssetBundleLoadSingleAssets : LoadAsync_Prefabs_SingleAssets is significantly slower than 18.4 (1203511)

  • Asset Import Pipeline: Asset Importer tags user added files with DELETE tag in Package Import window when package contains same folder name (1179668)

  • Asset Import Pipeline: [Regression ADB V1-V2] Editing prefab is slow (1203186)

  • Asset Import Pipeline: [Regression ADB V1-V2] Focusing the Editor Window causes noticeable Slowdowns (1171344)

  • Global Illumination: Indirect Intensity slider is no longer accessible in the Lighting Settings window (1206407)

  • Global Illumination: [GPU PLM] Bakes take a very long time or do not finish when using high resolution heightmap terrain (1194794)

  • Graphics - General: Crash on UnityEditor.Handles.Internal_FinishDrawingCamera when moving around Scene view with baked Occlusion Culling (1205699)

  • Graphics - General: Custom shader doesn't override built-in terrain shader (1193781)

  • Graphics - General: Shader is rendered incorrectly when loaded from an Asset Bundle made in Unity 2017.4 in a newer version (1195750)

  • HD RP: [MacOS][HDRP] Editor crashes on opening HDRP Template on MacOS (1204445)

  • Hub: "User did not grant permission" error is thrown in the Hub logs when attempting to install Unity Editor (1204204)

  • Hub: [Mac] Linux Support is installed at root of Unity installation instead of its supposed location (1187040)

  • Hub: "The value of \"byteLength\" is out of range" error is thrown in the Hub logs (1204148)

  • Hub: Unity Editor throws empty errors when PATHEXT Environment Variable is overriden in User Environment Variables (1201699)

  • Hub: [Linux] Unity Hub sets up Android SDK, NDK and JDK incorrectly on Linux (1177631)

  • IAP: Disabling and re-enabling IAP in services window throws multiple errors about failing to find assemblies (1193774)

  • IMGUI: Crash when closing a new empty project (1206613)

  • IMGUI: Editor.OnSceneGUI is not called when hovering the mouse over the Scene window (1206282)

  • Inspector Framework: [Performance Regression] Focusing and interacting with Clip Inspector in Animation tab of an FBX model is slow (1195759)

  • Inspector Framework: [Unicode] Copying unicode emojis in Inspector causes crash (1201331)

  • Linux: On clicking ColorPicker in HDR Gradient window leads to both windows closing instead of opening ColorPicker (1195471)

  • Linux: [SceneCamera] Scene View Camera Setting window disappears on selecting a setting button from the window (1197258)

  • MacOS: Can interact with editor window without it coming into focus (1203016)

  • MacOS: Bug reporter crashes on Mac when machine is connected to the internet (1181697)

  • MacOS: [OS X] Unix executable inside build's .app package derives its name from the project's product name instead of the build's name (1203716)

  • MacOS: [OSX] Unity fails to ask camera permission and crashes on privacy violation (1202032)

  • Mobile: [Android] Editor shows that the Android NDK is not recommended even though it is installed from the Hub (1201529)

  • Mobile: [Android] Loading assets from AssetBundles takes significantly more time when the project is built as an AAB (1153358)

  • Physics: Cloth constraints changes when upgrading project from an earlier Unity version to 2019.1.0a12 or later (1175911)

  • Physics: GameObjects with colliders have inaccurate collision with Terrain (1200526)

  • Physics: Parts of Cloth Mesh disappear when entering Play mode (1174475)

  • Profiler: Target Selection drop-down menu gets stuck on "Autoconnected Player" after failing to connect to a player. (1193777)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.1.0a18.2119_b9a826adbb3a.

  • Profiling: [Mojave] Editor crashed on profiling::profiler::GetProfilerThreadID() when Exiting Switch Target pop up
    (1202746)

  • Profiling: [Performance Regression] "EditorLoop" takes a significant amount of time to execute (1203866)

  • Profiling: [Profiler] Current frame data not shown after selecting previous frame for the second time. (1204973)

  • Scene/Game View: Logging errors from background thread crashes the Editor when Error Pause is enabled (1173657)

  • Scene/Game View: [Scene View] Scene gizmos are not visible or are not showing up correctly (1204696)

  • Scripting: Editor freeze when selecting two Scriptable Objects with Serialized References (1205920)

  • Scripting: Scripts cannot be loaded when they contain an odd number of "*" signs in a commented line before a namespace (1197429)

  • Scripting: [2018.4] Console throws a Warning about corrupted ProjectVersion.txt file which is in another Project (1193018)

  • Shadows/Lights: Realtime shadows are broken on Mac (1206092)

  • Shuriken: ParticleSystem.SetParticles crashes the Editor when writing particle list to array and Particle System has a size module enabled (1197761)

  • Terrain: Editor freezes on adding branch group in Tree root node (1206620)

  • Terrain: Painting terrain crashes when texture resolution is below FullRes in QualitySettings (1148582)

  • Terrain: Terrain shape doesn't match the collision surface when Heightmap Resolution is set below 513 x 513 (1199680)

  • Timeline: Fixed issue where the Animation Track's inline curves were not properly aligned when panning the timeline (1198364)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.1.0a18.2116.

  • Windows: "Error terminating external process" message is thrown when rotating the Sun Source before Lightmap finishes baking (1179901)

New 2020.1.0a17 Entries since 2020.1.0a16

Fixes

  • 2D: Fixed crash when stopping a preview of a Material animation for a TilemapRenderer2D set to Individual Mode. (1191109)

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

  • 2D: Fixed scene not being dirties when regenerating colliders for a CompositeCollider2D with the Manual generation type. (1189438)

  • 2D: Fixed Tile Palette Gizmos disappearing when opening the same Tile Palette in the Tile Palette Window and Prefab View at the same time. (1199516)
    This is a change to a 2020.1.0 change, not seen in any released version, and will not be mentioned in final notes.

  • 2D: Fixed Tilemap.tilemapTileChanged called once when Tilemap.InsertCells is called instead of twice when inserting cells to more than one axis. (1199479)
    This is a change to a 2020.1.0a14 change, not seen in any released version, and will not be mentioned in final notes.

  • 2D: Fixed TilemapRenderer showing normal maps of other Tiles when displaying Tiles with Sprites without normal maps. (1185586)

  • Android: Fix Adreno 5XX Vulkan crash with Render texture 8xAA without depth buffer. (1089111)

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

  • Android: Fixed crash when using Vulkan on Adreno in development builds. (1202462)
    This is a change to a 2020.1.0a15 change, not seen in any released version, and will not be mentioned in final notes.

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

  • Animation: Fixed crash when clicking on 'Add Property' in the Animation Window when a component has Vector2Int parameters. (1198661)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Animation: Fixed human hierarchy validation on nested humanoid characters when using animation C# jobs. (1201991)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Animation: Fixed NullReferenceException when New StateMachineBehaviour is added to an animation state (1198750)
    This is a change to a 2020.1.0a4 change, not seen in any released version, and will not be mentioned in final notes.

  • Animation: Fixed TwoBoneIK not properly evaluated on humanoid characters when FootIK is enabled in preview. (1190516)
    This is a change to a 2020.1.0a8 change, not seen in any released version, and will not be mentioned in final notes.

  • Asset pipeline: Fixed preview generation failing causing import failure. (1202254)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • Editor: Corrected adding prefabs to hierarchy in first position. (1197793)

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

  • Editor: Fixed an issue where editor freezes when closing a custom Editor window that is referenced by another custom Editor window. (1201522)

  • Editor: Fixed editor crashes when changes are made in prefab/ applied to MonoBehaviours with SerializedReference objects (1201433)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed rendering of bold text for rich and non-rich content. (1203319)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fixed spamming of errors in console when an empty or corrupted asset is selected. (1179894)

  • Editor: Fixed the Editor not starting when another regional format is selected (1187410)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • Editor: Fixed EditorApplication.hierarchyChangednot being fired when changes were made to GameObject hierarchy via scripts. (1200758)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • GI: Fixed backface validity with 0 bounces using GPU lightmapper. Now behaves like CPU lightmapper. (1198078)
    This is a change to a 2020.1.0 change, not seen in any released version, and will not be mentioned in final notes.

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

  • GI: Fixed transparency in CPU lightmapper. (1183940)

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

  • Graphics: Fixed bug where temporary render textures would be reallocated instead of reused if mip count was set to 0. (1200485)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed crash when using an OpenGL ES standalone on a platform that doesn't support OpenGL ES and fail properly. (1190472)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed crash when using sparse textures with Vulkan. (1201375)
    This is a change to a 2020.1.0a15 change, not seen in any released version, and will not be mentioned in final notes.

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

  • IL2CPP: Corrected a possible linker error in WebGL builds. (1161712)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Corrected float and double to int conversion for some values. (1186125)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Fixed crash in the player when incremental GC is enabled and HttpClient requests are made in the ThreadPool. (1194209)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Fixed incorrect codegen when converting unsafe methods that use void* types. (1188101)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IMGUI: Fix Inspector Window performance regression for large object. (1198312)
    This is a change to a 2020.1.0a12 change, not seen in any released version, and will not be mentioned in final notes.

  • iOS: First character of the Product Name section of the Bundle identifier will no longer be replaced by a dash in Xcode when it's a digit. (1192951)

  • iOS: Fixed an issue where GUI.RepeatButton didn't send a hit every frame on iOS. (1187026)
    This has already been backported to older releases and will not be mentioned in final notes.

  • iOS: Fixed an issue where the crash reporter crashed when an Exception was thrown. (1168277)

  • iOS: Fixed an issue where Unity would crash if force quit immediately after launching. (1145982)

  • iOS: Fixed player does not respect the "Mute Other Audio Sources" toggle in Player Settings. (1189966)
    This has already been backported to older releases and will not be mentioned in final notes.

  • iOS: Metal will be added to the required device capabilities list unless GLES2/3 are explicitly added to the GFX APIs list in Player Settings. (1201094)

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

  • Package Manager: Added ability for users hosting a custom package to define a URL for custom documentation in their package's package.json.

  • Package Manager: Fix package version not updated when version is changed in package.json file. (1191723)

  • Package Manager: Fixed an issue where Unity could hang for a few seconds when using PackageInfo.FindForAssembly after a domain reload. (1203383)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Package Manager: Fixed unity crash when maximize/unmaximize Package Manager Window. (1200881, 1200890)
    This is a change to a 2020.1.0a15 change, not seen in any released version, and will not be mentioned in final notes.

  • Package Manager: Localized text in Package Manager window.

  • Particles: Improved roll correction when disabling the Enable Roll option. (1081596)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: Fix 'Unity scene is invalid' error message being spammed when selecting a Joint that is part of a prefab. (1106492)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: Fix mesh collider complaining about isreadable flag right after building to platform. (1159597)

  • Physics: Make sure all the physics public API setters only call SetDirty when the serialised properties were actually changed. (1172914)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Physics: When a mesh results in a convex hull larger than 256 vertices, output a message saying we'd use the partial hull instead. (1192188)

  • Player: Fixed crashes caused by disposing of default-constructed TransformAccessArrays. (1148324)

  • Profiler: Fixed assembly prefix makes reading profiler harder. (1182855)

  • Profiler: Fixed Canvas.BuildBatch profiling sample category. (1196046)

  • Profiler: Fixed exceptions thrown by the Networking and Memory profiler modules when the profiler window is left open and the editor restarted. (1198338, 1198768)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fixed regression when debugging partial classes in multiple files. (1118285)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • Scripting Upgrade: Fixed ScriptUpdater failure when user name contains spaces. (1202584)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • UI: Fixed Nested Canvases using the wrong Display Id when calculating the ProjectionMatrix. (1199299)

  • UI: Fixed sorting when rendering Camera and World space canvases on multiple displays. Screen space UI would cause Z testing to be disabled for any displays that were rendered after that display. (1199369)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI Elements: Fixed console search query not resetting after reopening the console window (1180379)

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

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

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

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

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

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

  • Video: Fixed asset bundles which include VideoClip have different CRC values when built from a different directory. (1152507)

  • Video: Fixed crash when trying to translate manage stream file path into local file path. (1202385)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Video: Fixed stall/frame jitter when playing 60fps movies in Windows standalone DX12. (1203446)

  • Video: [Windows/UWP] Fixed GPU memory leak. (1201213)

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

  • Windows: Slightly increased the maximum path length that Unity Projects may be in to produce working UWP and Standalone builds on Windows. (1198179)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: Fixed crash when exiting Play Mode in XR related to particle system with mesh instances. (1163721)

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

Changes

  • 2D: Allow users to set 0 for Offset Distance for a CompositeCollider2D

  • Android: When "Installed with Unity (recommended)" is selected in Editor Tools Preferences window and the expected path is not available, don't look for alternative paths.
    This has been backported and will not be mentioned in final notes.

  • GI: Increased minimum specification for GPU lightmapper to 4 GB of video memory.

  • Profiler: Renamed profiler marker Material.SetPassUncached to Material.SetPassCacheMissed

  • Version Control: Moved VCS settings to a separate panel under Edit/Project Settings. (1184063)

Improvements

  • 2D: Make Tilemap.tilemapTIleChanged and Tilemap.SyncTile public

  • Android: When "Installed with Unity (recommended)" is selected in Editor Tools Preferences window, display the path where the tool should be located.
    This has been backported and will not be mentioned in final notes.

  • Editor: Added preferences for disabling greyed-out filtering effect when searching
    This is a change to a 2020.1 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: PresetManager can use glob:"pattern" to filter on the imported asset Path instead of only its name. The following patterns are supported:

    • **: any folder, subfolder or directly in the current folder
    • *: any character except the folder separator /
    • ?: any one character except /
    • []: any of the specified character or a range if - is used between two characters
    • (|): Or between all the patterns separated by the |, can support multiple | in it.
  • Editor: The project browser search can use glob:"pattern" to search in the project using a Glob search.

  • Graphics: Added Mesh.MeshData API for NativeArray/Jobs/Burst compatible way of reading and writing mesh data.

  • iOS: Backbuffer depth is discarded at frame end. In case of MSAA backbuffer color is simply resolved (instead of store+resolve)

  • Physics: Reduce managed allocations happening inside of Cloth particle getters such as GetSelfAndInterCollisionIndices, GetVirtualParticleIndices, GetVirtualParticleWeights

  • Profiler: Added Material.InvlidateCache profiler marker

  • Shaders: New shader preprocessor now supports compute shaders.
    This is a change to a 2020.1 change, not seen in any released version, and will not be mentioned in final notes.

  • Shaders: New shader preprocessor now works with Xbox One and Play Station 4.
    This is a change to a 2020.1 change, not seen in any released version, and will not be mentioned in final notes.

  • Shaders: UNITY_OLD_PREPROCESSOR is now defined when not using the new shader preprocessor.
    This is a change to a 2020.1 change, not seen in any released version, and will not be mentioned in final notes.

  • Universal Windows Platform: Added support for Application.lowMemory event in UWP apps
    This is a change to a 2020.1 change, not seen in any released version, and will not be mentioned in final notes.

Features

  • Editor: Enable HDR display support and HDROutputSettings C# API availability when using DX12

  • GI: Add Russian roulette for CPU lightmapper. Add setter in UI to select at which bounce the russian roulette starts.

  • iOS: Added API to programmatically control XCode Frame Capture (UnityEngine.Apple.FrameCapture)

  • Package Manager: Support sort/filter by metadata for my Asset Store packages, support sorting for other tabs

Preview of Final 2020.1.0a17 Release Notes

System Requirements Changes

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

Fixes

  • 2D: Calling ReleaseAsset() on AssetReferenceSpriteAtlas results in lost reference and unusable SpriteAtlas (1185717)

  • 2D: Expand and select Tilemap GameObject when creating a new Tilemap GameObject using the Create menu. (1194038)

  • 2D: Fix rendering of Grid Component in SceneView when disabling or enabling a GameObject with Grid Component. (1178613)

  • 2D: Fixed an issue where edits made in the texture name field of the Secondary Textures module of the Sprite Editor could be lost if the keyboard focus changed. (1133339)

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

  • 2D: Fixed automatic slicing using Smart mode in the Sprite Editor when Sprite Rects are overlapping. (1193552, 1193555)

  • 2D: Fixed crash when stopping a preview of a Material animation for a TilemapRenderer2D set to Individual Mode. (1191109)

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

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

  • 2D: Fixed Outline Tolerance value is clipped in Sprite Outline Module for Sprite Editor window. (1186228)

  • 2D: Fixed part of sprite is cut off when Mesh Type is set to Tight. (1175447)

  • 2D: Fixed preview of the prefab ignoring Sprite Mask. (1111193)

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

  • 2D: Fixed scene not being dirties when regenerating colliders for a CompositeCollider2D with the Manual generation type. (1189438)

  • 2D: Fixed TilemapRenderer showing normal maps of other Tiles when displaying Tiles with Sprites without normal maps. (1185586)

  • 2D: Fixed unable to zoom in or out in Sprite Editor Window when using Secondary Texture module (1193540)

  • 2D: Sprites disappear in Prefab window when in Play mode and they are packed in Sprite Atlas (1184057)

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

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

  • Android: Additional IL2CPP arguments were previously only applied to one target when building for multiple architectures on Android. (1185063)

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

  • Android: Fix Adreno 5XX Vulkan crash with Render texture 8xAA without depth buffer. (1089111)

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

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

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

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

  • Android: Fixed memoryless MSAA RenderTextures when using Vulkan. (1190449)

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

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

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

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

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

  • Android: Updated bundletool to 0.10.3, fixes issues for app bundle Build & Run on Android 4.x devices. (1189570)

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

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

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

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

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

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

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

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

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

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

  • Animation: Improved performance of AnimationClipPlayable Allocations in multithread. (1184690)

  • Apple TV: If any Swift source plugins are in the project settings required to build them will be properly added to the Xcode project. (1176139)

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

  • Asset Import: Fixed asset importer crashing when importing a shader specific shader. (1162577)

  • Asset Import: Fixed Avatars from models using a slash in their node names not being correctly displayed in the AvatarMask and OptimizeGameObject UI. (1002172)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Audio: Fixed incorrect application of wet level when two effects with wet mixing enabled are adjacent in a mixer group. (1185470)

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

  • Audio: Fixed Unity errors during project import when the project contains around a very large number (>10000) of audio assets. (1194658)

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

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

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

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

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

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

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

  • Editor: "Reveal in Finder"/"Show in explorer" now open a single finder/explorer instance per-directory and perform multi-file selection. "Open Containing Folder" (Linux) will open only one window per-directory (no selection) (1192218)

  • Editor: Added ability to show modal EditorWindow via ShowModal() method

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

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

  • Editor: Corrected adding prefabs to hierarchy in first position. (1197793)

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

  • Editor: Double clicking error in the Console does not open script in code editor when path is absolute. (1181364)

  • Editor: External Script Editor "Open by file extension" option is now working. (1198526)

  • Editor: Fix InspectorWindow lock exception. (1173185)

  • Editor: FIx the issue with MissingReferenceExceptions when changing parent of a UI element to Disabled canvas in Play mode. (1171433)

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

  • Editor: Fixed a Native PropertyModificationPerformance regression related to polymorphic serialization updates. (1195189)

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

  • Editor: Fixed an issue where "Probability" text is clipping under "Emission" property of Particle Effect Window. (1180240)

  • Editor: Fixed an issue where "selected" scenes in the hierarchy were not taken in account for SceneVis and ScenePicking. (1178898)

  • Editor: Fixed an issue where editor freezes when closing a custom Editor window that is referenced by another custom Editor window. (1201522)

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

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

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

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

  • Editor: Fixed Color inspector not consuming event when doing custom right click processing. (1162782)

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

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

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

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

  • Editor: Fixed dock area tab style and behaviour when dragged (1182350)

  • Editor: Fixed exception when entering isolation with unloaded scenes. (1173474)

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

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

  • Editor: Fixed GUI errors during build when the ScriptExecutionOrder settings window is opened. (1169675)

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

  • Editor: Fixed IME related APIs in Input class not working, even when using the new Input System package. (1178746)

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

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

  • Editor: Fixed issue with invalid values for Hash128.

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

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

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

  • Editor: Fixed lag on expanding annotations (1186931)

  • Editor: Fixed lag when using AssetPicker. (1186578)

  • Editor: Fixed light sources that are contained by disabled GameObject are not shown in Light Explorer. (921363)

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

  • Editor: Fixed move tool snapping rounding off snap increment when zoomed out. (858899)

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

  • Editor: Fixed playmode test project ComputeShaders fails in debug editor. (1178420)

  • Editor: Fixed PlayModeView deserialisation when switching PlayModeViews.

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

  • Editor: Fixed renaming of assets in Linux (1168280)

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

  • Editor: Fixed showing vertical lines for sub-scenes in the Hierarchy. (1201408)

  • Editor: Fixed spamming of errors in console when an empty or corrupted asset is selected. (1179894)

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

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

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

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

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

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

  • Editor: Fixed the issue with Text turning to black for UI in the editor after making a build. (1192960)

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

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

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

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

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

  • Editor: Fixes an issue where clicking an active tool in the Tile Palette window would return focus to the previously active Tilemap tool, not the global tool. (1174060)

  • Editor: Fixes custom property drawer layouting and height computation (1169149)

  • Editor: Fixing UI lag in Player settings: Splash screen. (1177518)

  • Editor: FormerlySerializedAsAttribute is working in Presets files. PrefabUtility.SetPropertyModifications do take care of the renaming too. (1162066)

  • Editor: Improve the performance of gizmo icon rendering.

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

  • Editor: Increased the length limit on the menu names from 127 to 255. (1196971)

  • Editor: Menu item with ellipsis have context. (1173736)

  • Editor: Project Browser open folder icon fixed. (1187170)

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

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

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

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

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

  • Editor: Updated object movement to make Undo faster on complex objects. (1175209)

  • Editor: Widen the Component reordering area in the Game Object inspector. (1160885)

  • Editor: Zooming to the maximum distance from Scene View pivot no longer throws errors. (1127415)

  • Editor: [Northstar Fixes] Fixed text clipping issues related to Northstar theme changes. (1173086)

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

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

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

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

  • GI: Fixed an issue with Lighting Data Assets not properly keeping track of GI influence-only renderers. (1174524)

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

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

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

  • GI: Fixed GPU lightmapper not working on Radeon RX 5700 (1180454)

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

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

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

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

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

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

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

  • GI: Fixed memory leaks in CPU and GPU lightmappers. (1015837)

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

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

  • GI: Fixed rendering of light-probed GI contributors not receiving any occlusion from probes outside of the configured shadow distance. (1173687)

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

  • GI: Fixed transparency in CPU lightmapper. (1183940)

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

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

  • Graphics: Added conservative rasterization

  • Graphics: Added option to delete folder with cached data after occlusion bake. (689310)

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

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

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

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

  • Graphics: Fix MSAA regressions when using Vulkan API. (1173419)

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

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

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

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

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

  • Graphics: Fixed and issue where Texture2D objects would report double their actual size in Development Players and the Editor. (1196890)

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

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

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

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

  • Graphics: Fixed crash when copying to a Texture2DArray slice other than 0. (1183992)

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

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

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

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

  • Graphics: Fixed newly created blendshapes. (1181869)

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

  • Graphics: Fixed use of unexpected texture format component order on Vulkan (1173487)

  • Graphics: Fixed use-after-free memory error when using Vulkan with GraphicsJobs.

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

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

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

  • Graphics: Prefer dLDR HDR encoding over RGBM for HDR cubemaps on mobile platforms when ASTC format is selected as override in TextureImporter. (1198678)

  • IMGUI: Fix issue with offset of IME popup with IMGUI fields.

  • IMGUI: Fixed an issue where the settings icon appears differently in editor window and inspector window. (1190478)

  • IMGUI: Fixed Gradient Editor burger menu icon alignment. (1180544)

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

  • IMGUI: Fixed ReorderableList incorrect indices when dragging the element in the List. (1178662)

  • IMGUI: Fixed ReorderableList incorrect selection dragged element height when the list contains different sized elements. (1178636)

  • IMGUI: Fixed the editor crash issue upon adding a Horizontal/Vertical layout group. (1172598)

  • iOS: First character of the Product Name section of the Bundle identifier will no longer be replaced by a dash in Xcode when it's a digit. (1192951)

  • iOS: Fix executing mutiple identical UnityWebRequests at the same time. (1195969)

  • iOS: Fixed an issue that caused the crash reporter to crash when querying the main view on a background thread. (1168277)

  • iOS: Fixed an issue where entering an emoji as the max character caused a crash. (1198204)

  • iOS: Fixed an issue where the crash reporter crashed when an Exception was thrown. (1168277)

  • iOS: Fixed an issue where Unity would crash if force quit immediately after launching. (1145982)

  • iOS: Fixed Application.Unload Appilcation.Quit.

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

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

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

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

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

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

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

  • iOS: Metal will be added to the required device capabilities list unless GLES2/3 are explicitly added to the GFX APIs list in Player Settings. (1201094)

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

  • iOS: Screen.SafeArea should be reported correctly after the app is paused and it's orientation is changed. (1190735)

  • iOS: Screen.SafeArea should no longer reset to zeros after custom view is presented on iOS 13. (1190454)

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

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

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

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

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

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

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

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

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

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

  • macOS: Fixed crash when switching GPU in editor.

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

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

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

  • macOS: Fixed the issue that target window gets hidden when dragging files. (1148665, 1198058)

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

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

  • Package Manager: Added ability for users hosting a custom package to define a URL for custom documentation in their package's package.json.

  • Package Manager: Added icon for Package Manager window

  • Package Manager: Disabled package list Refresh button when in offline mode

  • Package Manager: Fix package version not updated when version is changed in package.json file. (1191723)

  • Package Manager: Fixed bug where Package List scrolls up to top of list after clicking 'Load More'. (1182633)

  • Package Manager: Fixed error message being logged in console on removing a package installed from disk.

  • Package Manager: Fixed issue where Load More label would disappear and not re-appear after being clicked in Offline mode.

  • Package Manager: Localized text in Package Manager window.

  • Package Manager: Made download error messages in My Assets more user friendly.

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

  • Package Manager: Redesigned layout of Package Details. Asset Store packages now show purchased date and user-assigned labels. Categories removed from package details.

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

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

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

  • Physics: Fix mesh collider complaining about isreadable flag right after building to platform. (1159597)

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

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

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

  • Physics: When a mesh results in a convex hull larger than 256 vertices, output a message saying we'd use the partial hull instead. (1192188)

  • Player: Fixed crashes caused by disposing of default-constructed TransformAccessArrays. (1148324)

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

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

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

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

  • Prefabs: Fixed dragging Prefabs into scenes during Play Mode incorrectly instantiating them as editor Prefab instances, which would incorrectly impose editor Prefab instance restructuring restrictions on runtime logic. They are now instead instantiated using the runtime Object.Instantiate method in these cases. (1166938)

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

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

  • Prefabs: Prevent crash when importing broken prefab asset. (1172305)

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

  • Profiler: Fixed assembly prefix makes reading profiler harder. (1182855)

  • Profiler: Fixed Canvas.BuildBatch profiling sample category. (1196046)

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

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

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

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

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

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

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

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

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

  • Scripting: Fix rare issue with player crashing on startup when having editor only serialized fields that use abstract classes. (1172691)

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

  • Scripting: Fixed crash that may occur when using stackalloc. (1172987)

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

  • Scripting: Fixed issue where reimport writes "Assembly for asmdef File will not be compiled, because it has no scripts associated with it". (1185386)

  • Scripting: Fixed issue with MovedFrom where when specifying namespace and assembly name for class rename, the arguments were inverted causing failure to resolve the MovedFrom (1180719)

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

  • Scripting: Fixed StackOverflow exception in some scenarios with invalid assemblies imported. (1154045)

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Terrain: Fixed terrain rendering not correctly taking the render queue settings on the terrain material.

  • UI: Fix Preview Button UI not refreshong after finishing Splash Screen Preview. (1171460)

  • UI: Fixed Nested Canvases using the wrong Display Id when calculating the ProjectionMatrix. (1199299)

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

  • UI: Fixed some null refs in inputfield tests.

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

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

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

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

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

  • UI Elements: Fix UI Elements not working with certain GLES 3 Android devices. (1170607)

  • UI Elements: Fix unsetting of inline style values

  • UI Elements: Fixed console search query not resetting after reopening the console window (1180379)

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

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

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

  • UI Elements: Fixed NullReferenceException error when assigning background-image to none in UI Element Debugger. (1188538)

  • UI Elements: Fixed NullReferenceException error when assigning unity-font to none in UI Element Debugger. (1179896)

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

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

  • UI Elements: Fixed play mode tint not correctly applied on certain text elements under certain circumstances (1182264)

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

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

  • UI Elements: Fixed the last focused element not being focussed after the panel grabs focus. (1154256)

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

  • UI Elements: Fixed wrong mouse position in mouse compatibility events.

  • UI Elements: Handle inline styles errors. (1165204)

  • UI Elements: ListView Drag And Drop is now based on pointer events.

  • UI Elements: Make the UIElements debugger runtime compatible.

  • UI Elements: Prevent OnGUI() calls on IMGUIContainers when they are outside the viewport. Opt-in using the cullingEnabled property.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Version Control: Fixed Version Control Window sorting logic. (1188074)

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

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

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

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

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

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

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

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

  • Video: Fixed asset bundles which include VideoClip have different CRC values when built from a different directory. (1152507)

  • Video: Fixed Canvas hidden by VideoPlayer when targetting CameraNearPlane. (1171286)

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

  • Video: Fixed stall/frame jitter when playing 60fps movies in Windows standalone DX12. (1203446)

  • Video: [Windows/UWP] Fixed GPU memory leak. (1201213)

  • Web: Fix UploadHandlerFile properties contentType and progress. (1197177)

  • Web: Fixed module descriptions. (1179350)

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

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

  • WebGL: Increased number of simultaneously instantiated AudioSources.

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

  • XR: Fixed crash when exiting Play Mode in XR related to particle system with mesh instances. (1163721)

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

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

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

  • XR: Fixed image corruption when renderViewportScale is changed with HDR off. (1130382)

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

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

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

  • XR: OpenVR no longer reports any finger axes for any controller.

  • XR: Prevent Hololens app pause when switching focus to a 2D view within a running application.

  • XR: UnityEngine.XR.InputDevice feature values will now return Quaternion.identity for rotations that have not yet been set.

API Changes

  • Animation: Added: Migrated class AnimationModeDriver to public API.

  • Animation: Added: Migrated several functions in AnimationMode to public API. The functions are StartAnimationMode(AnimationModeDriver driver), StopAnimationMode(AnimationModeDriver driver), InAnimationMode(AnimationModeDriver driver) and SamplePlayableGraph(PlayableGraph graph, int index, float time).

  • Asset Import: Added: Added 'IgnorePNGGamma' getter and setter to TextureImporter

  • Asset Import: Added: Adds AssetDatabase.ImportPackageItemsCallback to provide information about what UnityPackage contents were selected by the user for import.

  • Editor: Added: Added EditorUtility.ClearDirty, tells Unity not to save asset to disk after performing changes to an asset

  • Editor: Added: Added overloads to EditorGUI.ObjectField and EditorGUILayout.ObjectField that take a targetBeingEdited parameter, so the ObjectField and object picker can know which stage (the Main Stage or a Prefab Stage, etc.) objects can be picked from. (1116357)

  • Editor: Added: Exposing user display name on UnityConnect object.

  • Editor: Added: Make ApplyUSS and FromUSS public

  • Editor: Added: Partial Preset API, allows you to exclude some properties on a Preset that will not be applied to the target object.

  • Editor: Changed: Modifiy the order of Scene View OnSceneGUI callbacks to invoke the active Editor Tool prior to the View Tool controls. This allows tools to override the alt key, right mouse button, and middle mouse button shortcuts.

  • Editor: Removed: EditorSnapSettings.active, EditorSnapSettings.enabled, and EditorSnapSettings.preferGrid are removed. Use EditorSnapSettings.gridSnapEnabled instead.

  • GI: Added: Added new LightingSettings and moved over all settings there. Marked the old as deprecated.

  • GI: Deprecated: Marked LightmapEditorSettings and Lightmapping APIs as deprecated, and replaced them with LightingSettings.

  • Graphics: Added: Add SetComputeBufferCounterValue & SetComputeBufferData command to Rendering.CommandBuffer

  • Graphics: Added: Added a particle system info structure to inspect the actual status of a VisualEffect component

  • Graphics: Added: Added MeshRenderer.enlightenVertexStream for Realtime GI UV mesh access. The Realtime GI system doesn't modify additionalVertexStreams any more. (1148742)

  • Graphics: Added: Exposed the default read, gray and linearGray texture objects via Textur2D.red, Texture2D.gray and Texture2D.linearGray properties.

  • Graphics: Added: Moved shader properties APIs from UnityEditor.ShaderUtils to UnityEngine.Shader therefore made them available in players. These APIs are:

    • FindPropertyIndex
    • GetPropertyAttributes
    • GetPropertyCount
    • GetPropertyDefaultFloatValue
    • GetPropertyDefaultVectorValue
    • GetPropertyDescription
    • GetPropertyFlags
    • GetPropertyName
    • GetPropertyRangeLimits
    • GetPropertyTextureDefaultName
    • GetPropertyTextureDimension
    • GetPropertyType
  • Graphics: Changed: Removed unused argument for UnityEditor.LightEditor/Settings::DrawRange

  • iOS: Added: Add support for iPad 7 generation and appropriate UnityEngine.iOS.DeviceGeneration iPad7Gen enum value. (1196002)

  • iOS: Obsoleted: iOS.Notification Services is now deprecated and will be removed in the future. Consider using the Mobile Notifications package (available in the package manager) which implements the UserNotifications framework.

  • Mobile: Added: Added WebCamKind.UltraWideAngle to support new iPhone 11 Pro/Max camera type and ultra wide angle cameras on some Android devices

  • Package Manager: Removed: Removed support for the deprecated exclude project dependency keyword

  • Physics: Added: Add "Physics2D.SimulationMode" to allow selection of three simulations modes: FixedUpdate, Update or Script.

  • Physics: Deprecated: Replace "Physics2D.AutoSimulation" with "Physics2D.SimulationMode".

  • Profiler: Added: Add profiler marker filtering support (void ProfilerDriver.SetMarkerFiltering(string name)) See https://ono.unity3d.com/unity/unity/pull-request/95897/_/editor/tech/profiler-marker-filtering

  • Profiler: Added: Added gcHandleIndex as a property to NativeObjectEntries within a PackedMemorySnapshot for simplified access to the index of it's managed counterpart

  • Profiler: Added: Added RawFrameDataView API for the fast allocation free access to Profiler data in the Editor.

  • Profiler: Changed: AttachToPlayerDropdown moved out of experimental and renamed as follows:

    • API in the UnityEditor.Experimental.Networking.PlayerConnection namespace has been moved to UnityEditor.Networking.PlayerConnection namespace
    • EditorGUI, EditorGUILayout, and EditorGUIUtility which resided in that namespace have also been renamed renamed to PlayerConnectionGUI, PlayerConnectionGUILayout, andPlayerConnectionGUIUtility` respectively.
    • ConnectionTarget, IConnectionState have been moved from the UnityEngine.Experimental.Networking.PlayerConnection namespace has been moved to the UnityEngine.Networking.PlayerConnection namespace.
  • Profiler: Removed: Removed the screenshot property of the Metadata type used by the PackedMemorySnapshot

  • Scripting: Added: Added new API for specifying preprocessor defines for player only assemblies - Build.Player.ScriptCompilationSettings.extraScriptingDefines, BuildPlayerOptions.extraScriptingDefines. Previously you would need to use PlayerSettings.SetScriptingDefineSymbolsForGroup, but that causes recompilation of Editor scripts, which is not what you would want, when specifying defines only for assemblies used by player.

  • UI Elements: Deprecated: VisualTreeAsset.CloneTree() will be deprecated in favor of VisualTreeAsset.Instantiate().

  • UI Elements: Obsoleted: Button.onClick is now obsolete. Use Button.clicked instead.

  • UI Elements: Removed: Remove borderColor property from IStyle and IResolvedStyle

  • Version Control: Obsoleted: Deprecated MergeMethod C# enum, it never did anything useful.

Changes

  • 2D: Allow users to set 0 for Offset Distance for a CompositeCollider2D

  • 2D: Rename Can Change Z Position to Lock Z Position for Brush Inspector in Tile Palette

  • Android: Android Library Project plugins now require to be directories with .androidlib "extension"; can be place anywhere inside Unity project.

  • Android: Dynamic resolution when using Vulkan now only supports scale factors in 5% steps to improve performance when switching resolution.

  • Editor: C# compiler warnings are no longer emitted for readonly packages.

  • Editor: Unity projects now have "UserSettings" top-level folder, EditorUserSettings.asset moved from Library there (960774)

  • Editor: When a compile error is emitted for an assembly, clear all compile errors for all assemblies that reference it directly or directly. This improves workflows when dealing with compile errors, as fixing an assembly's compile errors might also fix compile errors in any assemblies that reference the assembly directly or indirectly.

  • Editor: When opening a new Project Browser use the list view by default (instead of icon view) as this gives the best overview of asset names

  • GI: Increased minimum specification for GPU lightmapper to 4 GB of video memory.

  • GI: Making Enlighten fully deprecated when using a SRP that doesn't support it.

  • GI: The Prioritize view checkbox in the Lighting window is now Progressive updates. In non-progressive mode lightmaps are composited once they are fully converged.

  • Graphics: Implement stencil binding support for Vulkan

  • iOS: Made iOS 11 minimum support iOS version

  • iOS: Removed Armv7 (32 bit) support

  • Kernel: Support zero worker threads in the Unity JobQueue. Zero worker threads is supported at boot time using command line option or boot.config option "job-worker-count" and at runtime time using the "Unity.Jobs.LowLevel.Unsafe.JobsUtility.JobWorkerCount" API.

  • Multiplayer: The unet multiplayer hlapi package is no longer automatically added to older projects opened in the editor. This now needs to be manually added with the Package Manager.

  • Profiler: Renamed profiler marker Material.SetPassUncached to Material.SetPassCacheMissed

  • Scripting: Incremental GC is now enabled by default for new projects

  • Timeline: Creating a new Timeline will no longer automatically add an Animation Track and an Animator to the target GameObject.

  • Timeline: Ease-in and ease-out values for clips are no longer restricted to 50% of the clip's duration.

  • Version Control: Moved VCS settings to a separate panel under Edit/Project Settings. (1184063)

  • Version Control: Removed "Host" (P4HOST) setting from Perforce plugin UI

Improvements

  • 2D: Add Tilemap InsertCells/DeleteCells API to insert rows, columns and layers of cells to a Tilemap

  • 2D: Allow GameObjects to be shown in the Tile Palette

  • 2D: Allow Gizmos from OnDrawGizmos to be shown in the Tile Palette

  • 2D: Make Tilemap.tilemapTIleChanged and Tilemap.SyncTile public

  • 2D: Update 2D Packages for Unity 2020.1 com.unity.2d.animation - 4.0.0 com.unity.2d.common - 3.0.0 com.unity.2d.path - 3.0.0 com.unity.2d.pixel-perfect - 3.0.0 com.unity.2d.psdimporter - 3.0.0 com.unity.2d.spriteshape - 4.0.0

  • Android: Add OpenGL ES support of FrameTimingManager API.

  • Android: Add support for GL_EXT_texture_compression_astc_decode_mode

  • Android: Added support for Android Library projects, created using current Android Studio, as plugins.

  • Android: Avoid redundant framebuffer restores when using Vulkan

  • Android: Conversion between C# and Java arrays of matching types is much faster (up to 2 orders of magnitude for large arrays).

  • Android: Enable support for RenderTextureFormat.RGB111110Float when using Vulkan on Adreno

  • Android: Expand uncaught exception information. Added additional information when uncaught exception is thrown. Previously it would print Unity version, Device model, Device fingerprint. Now it will also print - Build Type, Scripting Backend, ABI, Strip Engine Code value. Note: In Android 8, google no longer allows to embed additional information for uncaught exceptions, thus this change will be visible on Android 7.0 or lower.

  • Android: Improve error messages for cases where android application fails to load libmain.so. Previously it was printing "Unable to find main", now it will print "Failed to load 'libmain.so', the application will terminate.", additionally it will print exception from System.loadLibrary with detailed info, where the application was looking for libmain.so

  • Android: When exporting a gradle proejct, il2cpp generated native files will be also copied to gradle project, the il2cpp library will be compiled/linked via gradle. Previously il2cpp library was being precompiled/prelinked by Unity when exporting project. This improvement gives you an ability to both debug and profile il2cpp files when needed, it also increases your control over the build pipeline. Note: If you don't export a project, il2cpp library will be linked by Unity as it was before.

  • Animation: Added functions to HumanPoseHandler in order to get and set joint transforms.

  • Animation: Added rotation unroll filter to the GameObject recorder.

  • Asset Import: Added 'IgnorePNGGamma' setting to the textureImporter. (1172234)

  • Asset Import: Added support for components custom attributes in Sketchup importer.

  • Asset Import: Optimized shader import times using asynchronous compilation for error checking.

  • Editor: Add a callback for external code to append additional settings to the Scene View camera settings popup window.

  • Editor: Add a preference to instantiate new GameObjects created through the "GameObject" main menu at world origin.

  • Editor: Add options to the Transform's popup menu that allows for copying and pasting of position, rotation, and scale individually.

  • Editor: Add verified package Quick Search 1.4

  • Editor: Added multi-selection to the console, you can now copy multiple entries and use Ctrl+A to select all

  • Editor: Added UnityEditor.iOS.Xcode.XcScheme to control some xcode scheme options, like enabling metal validation

  • Editor: Adding inspector interaction to use Partial Presets. It now possible to Exclude/Include a property in a selected Preset from its inspector.

  • Editor: Clarified error messaging on the event of shader compiler timeout.

  • Editor: Give access to use the linkLabel style.

  • Editor: Improved sharpness and clarity of scene view Gizmo textures when they are far away.

  • Editor: Make Avatar configuration make use of a stage. It no longer requires saving unsaved scene changes before configuring the avatar.

  • Editor: Optimize EditorPrefs API (EC-570, EC-571)

  • Editor: PresetManager can use glob:"pattern" to filter on the imported asset Path instead of only its name. The following patterns are supported:

    • **: any folder, subfolder or directly in the current folder
    • *: any character except the folder separator /
    • ?: any one character except /
    • []: any of the specified character or a range if - is used between two characters
    • (|): Or between all the patterns separated by the |, can support multiple | in it.
  • Editor: Show additional build information with editor version strings, especially for builds that not are the final release.

  • Editor: The project browser search can use glob:"pattern" to search in the project using a Glob search.

  • Editor: UnityEvent can now set persistent listeners on static functions from any class.

  • GI: Added UI for selecting GPU lightmapper device in the Lighting window. No command line argument is needed any more.

  • GI: Compressed transparency textures for GPU lightmapper, 75% memory reduction for transparency textures by using rgba32 instead of floats.

  • GI: Faster lightmap seam stitching by using multithreading and improved memory allocation strategy.

  • GI: GPU lightmapper can now write out the filtered AO texture to disk, alongside the Lighting Data Asset. Only available in On Demand mode. Only available through experimental API.

  • GI: Implemented A-Trous lightmap filtering for GPU lightmapper.

  • GI: Improved memory allocation strategy for GPU lightmapper on AMD GPUs

  • GI: Improved memory allocation strategy for GPU lightmapper on Nvidia GPUs (Windows only).

  • GI: Limit memory allocations for light probes to fit in available memory when baking with progressive lightmappers.

  • GI: Progressive lightmappers will display the number of lightmaps that will be generated, in the Lighting window, as soon as atlassing stage is done.

  • GI: Reduced GPU memory usage when baking lighting with the GPU lightmapper by using stackless BVH traversal.

  • GI: Reduced memory usage for light probe occlusion baking when baking with the GPU lightmapper.

  • GI: Show user friendly name in the Lighting window for AMD GPUs on Windows and Linux instead of GPU code name.

  • GI: Support the Experimental custom bake API for GPU lightmapper.

  • GI: Upgrade to Intel Open Image Denoise 1.1.0 (1152418)

  • Graphics: Acquire Vulkan swapchain semaphore as late as possible to improve performance

  • Graphics: Added API to bind constant buffers directly to ComputeShader instances

  • Graphics: Added image readback support for R32F and R16G16F, used by Texture2D.ReadPixels

  • Graphics: Added Mesh.MeshData API for NativeArray/Jobs/Burst compatible way of reading and writing mesh data.

  • Graphics: Binding ComputeBuffers as constant buffers to ComputeShader (locally or globally) is now supported on GL

  • Graphics: Debug.DrawLine now callable from C# jobs

  • Graphics: Improved Vulkan device selection

  • Graphics: PS4 2d textures load faster. More processing is done offline to improve load times.

  • Graphics: Texture loading now faster when quality setting set to reduced texture quality.

  • Graphics: Unified internal HDR tonemapping blit phase for graphics targets that support it (DX11/DX12/Vulkan), reduces number of blits required

  • Graphics: Visual Effect rendering can now be hidden in the scene views.

  • Graphics: XboxOne 2d textures load faster. More processing is done offline to improve load times.

  • iOS: Added GameID to the Social API it will return GamePlayerID when using GameCenter (1176134)

  • iOS: Backbuffer depth is discarded at frame end. In case of MSAA backbuffer color is simply resolved (instead of store+resolve)

  • iOS: Social.localUser.ID will return the TeamPlayerID instead of GameCenterUsersID on iOS 12 and above (1176134)

  • iOS: [Metal] Depth-only RenderPass enabled

  • macOS: Pen devices are now supported under the new input system on the mac platform

  • macOS: Reduced the amount of encoders used for compute skinning and general compute

  • Package Manager: Added diagnostic check to Package Manager Diagnostics that starts Unity Package Manager and sends a request to its health check endpoint.

  • Package Manager: Adds new icons and tooltips in the Package Manager Window.

  • Package Manager: Adds tooltips to the in progress spinner in the Package Manager Window.

  • Physics: Collider2D can now produce an unlimited number of contacts whereas previously they were limited to 64 each.

  • Physics: EdgeCollider2D now has adjacent edge feature allowing the control of collision normals when contacting the start or end points of the collider.

  • Physics: Reduce managed allocations happening inside of Cloth particle getters such as GetSelfAndInterCollisionIndices, GetVirtualParticleIndices, GetVirtualParticleWeights

  • Prefabs: Add EditPrefabContentsScope struct as a useful wrapper for LoadPrefabContents, SaveAsPrefabAsset and UnloadPrefabContents for editing Prefab Assets. See the docs for more info.

  • Prefabs: The Overrides dropdown buttons "Revert All" and "Apply All" now change to "Revert Selected" and "Apply Selected" when multiple override items are selected. This can speed up workflows, particularly when wanting to apply or revert everything except a few items. (1101411, 1106861)

  • Profiler: Added Material.InvlidateCache profiler marker

  • Scripting: Added a parameter to FindObjectOfType and FindObjectsOfType called includeInactive, this will return objects that are also attached to disabled GameObjects. (1142715)

  • Scripting: Implemented Reset behaviour to WaitForSecondsRealtime. (1189949)

  • Scripting: The serializer can now serialize fields of generic types (e.g. MyClass<int> someField) directly; it is no longer necessary to derive a concrete subclass from a generic type in order to serialize it.

  • Services: Addition of a way to reference a service inside a package.

  • Shaders: Compute shaders are now compiled in the background instead of during the import.

  • UI: Adding a Graphic hit detection offset so the area on which a Graphic will be considered under the mouse can be different the its RectTransform.

  • UI: Adding soft masking for RectMask2D as well as a masking offset.

  • UI Elements: <Style> can now appear as a direct child of <UXML>

  • UI Elements: <Template> can now appear anywhere in the doc, as long as it is before the <Instance> tag referring to them.

  • UI Elements: Added attribute "type" to ObjectField uxml attributes. This allows for specifying a type and associated Assembly. For example ". If you are unsure of the type string to use, you can use typeof(MyType).AssemblyQualifiedName to get the full string. https://docs.microsoft.com/en-us/dotnet/api/system.type.assemblyqualifiedname?view=netframework-4.8

  • UI Elements: Added UxmlTypeAttributeDescription. Provides the ability to provide types and assemblies as an attribute in uxml.

  • Version Control: Added "Custom" diff tool option in editor preferences (940881)

  • Version Control: Added 'strip' command to YAMLMerge that can generate a new file with only the differences between the first two

  • Version Control: Added a search bar to the Version Control window. (1185406)

  • Version Control: Improve VCS asset deletion message when offline. (1176212)

  • Version Control: Inspector import settings Apply button now only checks out the .meta file. For non-Unity assets (images, meshes etc.), Check Out only checks out .meta, and Open checks out the asset. Open button is now enabled for non-checked out assets too. (1162487)

  • Version Control: New Version Control overlay icons.

  • Version Control: Optimised VCAsset.IsOneOfStates

  • Video: All VideoClipImporter can be edited in Presets.

  • Web: UnityWebRequest: Add support for data uploading using GET method. (1183281)

  • Web: UnityWebRequest: the new result property will tell if request is completed successfully or what kind of failure occurred. DownloadHandler class also has new property error, which will give descriptive message if a failure occurred when processing received data.

Features

  • Asset Import: Added analytics tracking for asset importers settings, assetPostProcessor usage and Authoring DCC for 3D model assets.

  • Asset Import: Increased to maximum texture import resolution to 16384

  • Asset Pipeline: Added AssetDatabase.DisallowAutoRefresh and AssetDatabase.AllowAutoRefresh to the C# API.

  • Audio: Added support for importing .flac files

  • Cache Server: Added shader variant caching with cache server v2.

  • Editor: Add a button in the Grid and Snap Settings to move the grid to the active handle position.

  • Editor: Added a collapsable version of SceneView Overlays

  • Editor: Added support for one finger scroll.

  • Editor: Enable HDR display support and HDROutputSettings C# API availability when using DX12

  • Editor: Introduction of PreviewSceneStage. Implement custom stages by inheriting from this class.

  • Editor: Make ApplyUSS and FromUSS public

  • Editor: Support to switch between debug and release code optimizations without restarting the Unity Editor improving Unity Editor performance when compiling in release.

  • GI: Add an experimental explicit baking API for probe related data.

  • GI: Add Russian roulette for CPU lightmapper. Add setter in UI to select at which bounce the russian roulette starts.

  • GI: Added all lightmap settings as an asset. This will allow the user to share them between scenes or switch them out in an easy way. Icon and inspector is still missing.

  • GI: New scene view debug mode called "GI Contributors / Receivers" that helps you see the GI mode of your renderers.

  • GI: New setting in Mesh Importer for UV unwrap generation that ensures no texel bleeding in lightmaps.

  • Graphics: Add HDR display support for Vulkan on Windows

  • Graphics: Add support for Virtual Texturing to the Editor and Player

  • Graphics: Added HDROutputSettings script interface to retrieve information from an HDR display and to allow for custom color space conversion and tonemapping when working with HDR displays

  • Graphics: Added support for Skinned Mesh Renderer in Ray Tracing

  • Graphics: Allow selection of number of swapchains for Vulkan through Player Settings

  • Graphics: GetPixelData API was added to Texture2D, Texture3D, Texture2DArray, Cubemap and CubemapArray classes. It allows getting a pointer to the data of a particular mip level/array element in a Texture for reading/writing, and without creating any memory allocations (similar to Texture2D.GetRawTextureData).

  • iOS: Added API to programmatically control XCode Frame Capture (UnityEngine.Apple.FrameCapture)

  • iOS: Added Sparse Texture support

  • Linux: Added support IL2CPP scripting backend support for Linux Standalone player

  • Package Manager: Adds UX support for UPM package format hosted on Asset Store

  • Package Manager: Selection in Package manager matches other windows in the editor (color scheme, undo-redo) Custom editor to show selected package info

  • Package Manager: Shows reverse dependencies of a package in the package manager window.

  • Package Manager: Support sort/filter by metadata for my Asset Store packages, support sorting for other tabs

  • Particles: Abiltiy to save and restore Particle System state data, making it possible to save a snapshot of an entire Particle System at a point in time. A use case for this is for efficient rewind support, by saving periodic keyframes of the particle state, to avoid full resimulations.

  • Particles: Lifetime by Emitter Speed Module, for controlling how long-lived particles are based on the speed of the emitter at the time they were emitted. This is for instance useful for moving fire.
    Image: https://i.imgur.com/TKKULBj.gif

  • Particles: New Freeform Stretching mode where particles don't look squashed when viewed head-on, and where particle rotation is independent from stretching direction.
    Image: https://i.imgur.com/7D4bPUx.gif

  • Physics: Add a new component ArticulationBody that helps to create articulations. An articulation is a set of bodies, some of which have their relative motion constrained. All bodies are organized in a logical tree, where parent-child relation expresses the constrained motion. Unlike regular Rigidbodies with Joints, articulations are solved with a different solver (Featherstone) in reduced coordinates which guarantees there will never be any stretch of locked degrees of freedom. Typical examples of articulations include robotic arms, ragdolls, etc.

  • Profiler: CustomSampler and Recorder API have been extended to GPU. Use gpuElapsedNanoseconds and gpuSampleBlockCount to get GPU metrics at runtime on the final player device. ( you can use supportsGpuRecorder graphics caps flag to check platform support )

  • Services: The Services Window is refactored to remove the usage of CEF.

    • Uses UIElements for UI
    • All the configurations are available in the Project Settings window
    • The deprecated Multiplayer service has been removed.
  • Shaders: Added keyword based variant management for compute shaders (multi_compile support).

  • Shaders: New shader preprocessor (experimental).

    • Faster shader compilation.
    • Accurate include dependency tracking.
    • "#pragma" directives can now be inside preprocessor conditional blocks, but only when those conditions do not depend on keywords originating from other "#pragma" directives or from project settings.
    • Supports "#pragma once" and "#pragma warning" directives.
    • Follows the C standard more closely.
    • The new shader preprocessor is disabled by default. It can be enabled via a command-line option "-force-new-shader-pp".
    • The new preprocessor is not yet used for Compute or Raytracing shaders.
  • Shaders: Shader inspector now has an option to show preprocessed shader source instead of compiled shader source. Requires new shader preprocessor.

  • Timeline: Inline Curve Properties can be removed.

  • Timeline: The resize handle for inline curves has been moved to the track header area.

  • Timeline: Tracks can be individually resized.

  • UI Elements: Ability to use touch in scrollview, in runtime only

  • Version Control: Add ability to set version control Editor Settings from the CLI.

  • WebGL: Updated WebGL loader which improves build loading time and supports build-specific stripping of the loader code.

System Requirements

For development

OS: Windows 7 SP1+, 8, 10, 64-bit versions only; macOS 10.12+. (Server versions of Windows & OS X are not tested.)

CPU: SSE2 instruction set support.

GPU: Graphics card with DX10 (shader model 4.0) capabilities.

The rest mostly depends on the complexity of your projects.

Additional platform development requirements:
  • iOS: Mac computer running minimum macOS 10.12.6 and Xcode 9.0 or higher.

  • Android: Android SDK and Java Development Kit (JDK); IL2CPP scripting backend requires Android NDK.

  • Universal Windows Platform: Windows 10 (64-bit), Visual Studio 2015 with C++ Tools component or later and Windows 10 SDK

For running Unity games

Generally content developed with Unity can run pretty much everywhere. How well it runs is dependent on the complexity of your project. More detailed requirements:

  • Desktop:

    • OS: Windows 7 SP1+, macOS 10.12+, Ubuntu 16.04+
    • Graphics card with DX10 (shader model 4.0) capabilities.
    • CPU: SSE2 instruction set support.
  • iOS player requires iOS 10.0 or higher.

  • Android: OS 4.4 or later; ARMv7 CPU with NEON support; OpenGL ES 2.0 or later.

  • WebGL: Any recent desktop version of Firefox, Chrome, Edge or Safari.

  • Universal Windows Platform: Windows 10 and a graphics card with DX10 (shader model 4.0) capabilities

  • Exported Android Gradle projects require Android Studio 3.4 and later to build

变更集: ccc6f9131a63