Unity 2019.3.0 Alpha 12

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

Known Issues in 2019.3.0a12

  • GI: Fixed a case where a missing OpenCL.dll would cause a crash when checking whether Radeon Pro denoiser is supported. (1172324, 1175200)
    Fixed in 2019.3.0a13.

  • Global Illumination: [CPU PLM] Progressive lightmapper produces artifacts in scenes containing a lot of indirect light (1174966)

  • IL2CPP: Build fails when compiling a struct with a long array inside it (1173310)

  • Packman: OSX - Package Manifest is not editable due to permission errors. (1174911)

  • Scripting: Creating a new project will throw multiple assertion failures regarding 'artifactMetaInfo != nullptr (1168167)

  • Scripting: [Mac] Crashes on __pthread_kill when opening a Script when there's no Visual Studio installed (1173314)

  • Shuriken: WorldCollision crashes when spawning particles with World Collision enabled (1168859)

  • Windows: [DX12] Crash when showing custom editor (1169782)

  • XR: Cardboard projects will default to 30fps unless targetFrameRate is set to 60. (1143799)

New 2019.3.0a12 Entries since 2019.3.0a11

Features

  • 2D: Following 2D Packages are now verified package com.unity.2d.spriteshape": "3.0.2", "com.unity.2d.animation": "3.0.3", "com.unity.2d.psdimporter": "2.0.3", "com.unity.2d.pixel-perfect": "2.0.2", "com.unity.2d.path":"2.0.1", "com.unity.2d.common":"2.0.1"

  • Android: com.unity.mobile.android-logcat v1.0.0 is now a verified package.

  • Asset Import: Added New Material Import Mode to the model importer allowing user customization of material generation when importing models.

  • DX12: DirectX 12 GPU Shader validation can be enabled on the editor or player using the command line argument "force-d3d12-debug-gbv"

  • GI: Baked LightProbes from scenes are now merged when additively loading scenes. Use LightProbes.Tetrahedralize() to update the tetrahedralization lookup structure after additive loads so new SH coefficients can be looked up correctly.

  • Kernel: Added JobsUtility.ResetJobWorkerCount to reset JobWorkerCount to the Unity adjusted value.

Backwards Compatibility Breaking Changes

  • 2D: When snapping to the Grid Component, make use of Editor Snap Settings
    This is a new issue, not seen in any released version.

  • Apple TV: Removed support for Universal Harmony Remote, currently there's no way to properly support Universal Harmony Remote without breaking Siri Remote.

  • Graphics: Graphics Jobs is now enabled by default in the 3D Template

Improvements

  • 2D: Reduce memory usage of a Tilemap Tile by 16 bytes

  • GI: Considerably reduced main thread overhead of the baking pipeline. Expect 3x-5x improvement.

  • Graphics: Mesh.SetVertexBufferData no longer requires T size to match the vertex layout. You can pass a byte array for example, with proper vertex data.
    This is a new issue, not seen in any released version.

  • Graphics: Optimized shader build times during player build, especially when another player build was already done before. Saves 10-20 seconds of typical player build time.

  • Graphics: Remove (Experimental) tag from Graphics Jobs setting and make it a per platform setting

  • Graphics: Vastly decreases the time taken when a Ray Tracing shader is executed for the first time or a particular shader code or configuration associated to a Ray Tracing dispatch has changed.

  • Shaders: Added stencil binding support for metal
    This is a new issue, not seen in any released version.

  • Version Control: Added "-vcsMode" editor command line argument to set VCS mode.

  • Version Control: Fixed Save Project being very slow when there are a lot of changed assets and a slow Perforce connection (1170253)

API Changes

  • Editor: Added UnityEditor.EditorUtility.RequestScriptReload public API that allows Script reloading.

  • Graphics: Added command buffer API to control single-pass instancing multiplier

  • Graphics: Moved RenderingThreadingMode and renderingThreadingMode from UnityEngine.Experimental.Rendering namespace to UnityEngine.Rendering namespace

  • Kernel: Added Unity.Jobs.LowLevel.Unsafe.ResetJobWorkerCount to reset the job worker count back to the Unity defaults

  • Package Manager: Add UnityEditor.PackageManager.UI.Window.Open function to open Package Manager Window on a selected package

  • XR: Added mirror view blit support to the display subsystem c# api

Fixes

  • 2D: Fix dead area for SceneView Gizmos next to Tilemap Focus Window (1168038)

  • 2D: Fixed an issue where the edge and the filling of a Sprite Shape object were drawn in the wrong order when using the Universal Render Pipeline. (1169108)

  • 2D: Fixed assertion message when launching Unity with Sprite Editor Window docked from previous session (1169188)

  • 2D: Fixed Undo function not undoing properly when painting Prefab Tiles onto the Tilemap (1137692)

  • 2D: Legacy Sprite Atlas packer dialog shows incorrect path to Project Settings (1167641)

  • 2D: Resources.Load() crashes on Sprite::GetRenderData() when there is no sprite data (1149030)

  • 2D: Sprite Atlas asset is checked out in Perforce after entering Play Mode and exiting Editor (1164347)

  • 2D: SpriteEditorWindow.OnPostprocessAllAssets is slow due to calling Resources.FindObjectsOfTypeAll many times (1166158)

  • Android: Fix regression where Application.Quit wouldn't kill app in some cases, this prevented some of the services to incorrectly reinitialize on application relaunch.

  • Android: Fixed a Vulkan video playback crash on Android. (1170411)

  • Android: Fixed an Android build issue where Java installed by the Hub may not be used causing a CommandInvokationFailure error. (1136069)

  • Android: Fixed an Android video player crash. (1166265)

  • Android: Fixed behavior of ForcedCrash types FatalError and Access Violation on Android and other POSIX platforms. (1142726)

  • Android: Fixed problem with building with app when there's custom settings.gradle file in the project folder (1164013)
    This has already been backported to older releases.

  • Android: QualitySettings.resolutionScalingFixedDPIFactor should work in runtime (1156467)

  • Animation: Fixed an issue where Playable Director's "Playable" field was missing the prefab override contextual menu (1167365)

  • Animation: Fixed an issue where the Controller field of an Animator would not react properly to Prefab overriding. (1162239)

  • Animation: Fixed Animation Stream bindings mismatch when sampling in the Animation Window in play mode. (1161080)

  • Animation: Fixed Animator Initialized flag not set during object construction leading to potential errors when setting keepAnimatorControllerStateOnDisable to true. (1168475)

  • Animation: Fixed blendtree asset corruption when changing motion tab field with another blendtree asset. (1028113)

  • Animation: Fixed crash when sampling an animation from a FBX with AnimatedCustomProperties. (1166217)

  • Animation: Fixed crash when using Animation Jobs with invalid human avatar. (1161250)

  • Animation: Fixed custom animator property appearing as missing in animation window. (1165368)

  • Animation: Fixed fetching of AnimationClip in override controller for Asset Bundles when AnimationClip is not yet loaded. (1165817)

  • Animation: Fixed NullReferenceException when deleting an override controller in the project folder when its inspector is still open. (1158222)

  • Apple TV: Fix empty project crash during loading on Apple TV (1162495)

  • Apple TV: Fix GetKeyDown and GetKeyUp for Siri Remote, previously those functions would tick every frame even though the buttons are in pressed state. Due platform limitation key up events for keyboard will be delayed by half a second, see UnityView+Keyboard.mm for more information. (1143342)
    This has already been backported to older releases.

  • Apple TV: Fix Siri Remote regression, where pressing B would incorrectly show JoystickButton0 as pressed. (1151006)
    This has already been backported to older releases.

  • Apple TV: Pressing Menu button while tvOS.Remote.allowExitToHome equals true, will properly exit to AppleTV Menu (1134856)
    This has already been backported to older releases.

  • Asset Import: Curves previews in the ModelImporter's Animation panel are correctly updated when Revert is clicked. (1166122)

  • Asset Import: Deleting scripts outside of the Editor when it is selected does not log an error anymore. (1153082)

  • Asset Import: Fixed crash in mesh optimization when importing meshes or using the Mesh.Optimize() API that would occur if a mesh had empty sub-objects (1166419)

  • Asset Import: Fixed crash when an object already added to the ScriptedImporter context is destroyed before the import is over. (1133565)

  • Asset Import: Fixed crash when importing a fbx with an animation curve that has only 1 frame at a very low negative time. (1160772)

  • Asset Import: Fixed issue where animations from .blend files are not imported properly. (1117999)

  • Asset Import: Fixed out of memory crash when importing FBX assets with thousands of submeshes (1122713)

  • Asset Import: Fixed refresh of animation list after the source .fbx Asset is changed. (1139051)
    This has already been backported to older releases.

  • Asset Import: ImportSettings can be changed and Applied from an Inspector while in Playmode. (1169942)

  • Asset Import: Local fileIDs of FBX meshes are correctly upgraded from Unity 2018 and previous version when multiple meshes share the same name. (1169597)

  • Asset Import: TextureImporter's apply button is properly enabled/disabled after changes are made in the Per-Platforms sections. (1167983)

  • Build Pipeline: Fixed issue where Terrain loaded from an Asset Bundle wasn't able to access Terrain Shaders

  • Compute: Fixed compute shaders not being imported when no graphics API in the current build target has compute support (1087245)

  • Editor: Added missing 2018_4_OR_NEWER C# preprocessor directive when compiling C# scripts. (1169225)

  • Editor: Adding an illegal character (/?<>:*|) in the project folder throws an exception in the console (1159270)

  • Editor: Fix editor floating container window min-max size info propagation (1169663)

  • Editor: Fix focus state IMGUI drawing (1170562)

  • Editor: Fix issue when deserializing ScriptableObject with no underlying C# script (1167575)

  • Editor: Fix issue where read-only "FBX" file would be corrupted after changing one of its materials and undoing (1120097)

  • Editor: Fix rename in project browser when switching directories (1169986)

  • Editor: Fix scrollbar on Inspector does not disappear after deselecting a gameObject (1159191)

  • Editor: Fixed "ArgumentException: Object at index 0 is null" thrown when entering play mode with two Inspector windows and an attached script (1147234)
    This has already been backported to older releases.

  • Editor: Fixed an issue where scene vis data is lost when working with multiple scenes (1163991)

  • Editor: Fixed an issue where the Anchors section can be collapsed/expanded if the user clicks on the arrow. (1167867)

  • Editor: Fixed high CPU and GPU load when a material with certain shaders is displayed in the Inspector (1158089)

  • Editor: Fixed inconsistent text box padding on interactions in Graph View products (Shader Graph, Visual Effects Graph). (1160240)
    This is a new issue, not seen in any released version.

  • Editor: Fixed incorrect handling of Unicode characters in the application file name when building the Player. (1169358)

  • Editor: Fixed iOS/tvOS GLES Deprecation warning appearing always (1170222)

  • Editor: Fixed issue with SerializedProperty.objectReferenceInstanceIDValue emitting asserts to the console. (1169801)

  • Editor: Fixed marquee selection always selecting asset loaded from a bundle (1158173)

  • Editor: Fixed missing Edit Polygon Collider 2D tool. (1166083)

  • Editor: Fixed nested GUILayoutFadeGroup layout issue resulting in some misaligned properties (1158658)

  • Editor: Fixed occasional crash when importing Compute Shaders for Metal (1171627)

  • Editor: Game view could hardly be resized because splitters had less priority than the view, now the splitters are correctly prioritized (1169963)

  • Editor: Ignore trailing spaces while saving layout names (1168978)

  • Editor: Improve Editor performance when marquee selecting objects in moderate to large sized scenes. (1168454)

  • Editor: MacEditor: Fixed regression from 2019.3a10 where live resizing a window could run out of memory (1170410)

  • Editor: macOS: 'Window/Bring All to Front' now brings secondary windows in front of the main window as expected in the Editor (1141001)

  • Editor: Optimize by 4x the ModeService initialization (1173729)
    This has already been backported to older releases.

  • Editor: Optimize the style catalog compilation at startup and on domain reload (1173743)

  • Editor: Preference window shows now required NDK version

  • Editor: Project Settings Window fails to appear after installing the Ryder Editor package (1168648)
    This has already been backported to older releases.

  • Editor: Set the host view name when the actual view changes (1169890)

  • Editor: Unable to drag assets from the 'Packages' subfolders in the Project window when using One Column Layout (1169200)

  • GI: Fixed error "Internal: JobTempAlloc has allocations that are more than 4 frames old" when baking lights (1128734)

  • GI: Fixed issue where we draw the UVs of disabled objects that are no longer in the lightmap. (1117696)

  • GI: Made a new exposure slider swatch that replaces the old UI in the scene view. Only shows up on specific scene view modes.
    This is a new issue, not seen in any released version.

  • Graphics: Fix Shadow Cascades debug view were broken when no shadow casting directional light is present (1117145)

  • Graphics: Fixed editor stalls in script compilation, exit playmode after having a project open in the editor for a long time (1143772)

  • Graphics: Fixed frustum culling using incorrect near and far culling planes when user had set a custom culling matrix (1156517)

  • Graphics: Fixed GPU instancing sometimes not working correctly on Vulkan when shader didn't use all instancing constants (1106866)

  • Graphics: Fixed lightmaps baked with linear color space being wrong sometimes (1170585)

  • Graphics: Fixed Mesh.SetTriangles with List ignoring baseVertex argument. (1172814)

  • Graphics: Fixed random crash in GraphicsJobs when using SRP API DrawRenderers with RenderStateBlock (1159200)

  • Graphics: Fixed rare deadlock in CreateGpuProgram when multithreaded rendering is enabled on mobile devices (1164492)

  • Graphics: Fixed Windows 7 DirectX 11 DrawQuad crash. (1157730)

  • Graphics: Reset functionality is not working for Visual Effect (1158963)

  • Graphics: Texture streaming now works with LZ4 (and LZ4HC) compressed packages on all platforms (1167322)

  • IL2CPP: Fixed a crash when accessing the LocalEndpoint property of a socket using an IPV6 connection. (1167971)
    This has already been backported to older releases.

  • iOS: Apps should no longer thrown an NSInvalidArgumentException when accessing WebCamTexture.devices and permission has been denied. (1160639)

  • iOS: Don't add UIApplicationExitsOnSuspend to iOS Xcode project info.plist because it was deprecated by Apple (1160614)
    This has already been backported to older releases.

  • iOS: Fix typo in UaaL API unloadApplication
    This is a new issue, not seen in any released version.

  • iOS: Fixed missing symbols when script debugging enabled (1156704)

  • iOS: SystemInfo.systemMemorySize should no longer under-report Physical Memory (1155192)

  • Linux: Enable IL2CPP scripting in linux
    This is a new issue, not seen in any released version.

  • Linux: Fix Linux editor crashing when resizing the editor window during a player build (1168815)

  • macOS: fix for editor crash on certain project settings. (1167734)

  • macOS: Fixed crash when using Tex2DArray with MSAA on Metal. It will be created where supported, and MSAA disabled if not (1163393)

  • macOS: Fixed for MacEditor crashing on new HDRP template project or opening one (1169814)
    This is a new issue, not seen in any released version.

  • Package Manager: Fix Package Manager window resizing and install/remove button dissapearing (1170710)

  • Package Manager: Fixed an issue where the execute file mode of packaged files was suppressed, which prevented executables in packages from running on macOS and Linux. (1154433)
    This has already been backported to older releases.

  • Package Manager: Fixed issues where a package could contain read-only folders if the installation process was interrupted, which would make it difficult to delete parent folders without advanced file manipulations.

  • Package Manager: Fixed missing changelog link for core packages (1171169)

  • Package Manager: Fixed missing reference to post processing that caused 3d with extras template to load with errors. (1158918)

  • Package Manager: Package names longer than 19 characters are truncated (1144661)

  • Package Manager: Replaced "Import in project" by "Import into Project" for package samples in Package Manager UI window (1156690)

  • Package Manager: Start search in Package Manager UI window when pressing CTRL-F (1170019)

  • Particles: Ensure sub-emitter rotation is inherited from the parent system. (1168251)

  • Particles: Fix a case where particle trails could flicker if their owning system used ParticleSystem.SetParticles in script during LateUpdate. (1155826)
    This has already been backported to older releases.

  • Particles: Fix a crash if using a non-read-write mesh from an Asset Bundle in the Particle System Shape Module. (1167081)
    This has already been backported to older releases.

  • Particles: Fix case where trails sometiems did not disappear. (1162394)
    This has already been backported to older releases.

  • Particles: Fix erroneous GetTransformInfoExpectUpToDate message. (1098990)
    This has already been backported to older releases.

  • Particles: Fixed case where Auto Random Seed was ignored for the Emission Rate property. (1166733)
    This has already been backported to older releases.

  • Particles: Remove a redundant grab-pass if a Particle System is not playing. (1159683)

  • Physics: Fixed crash when changing Collider2D rigidbody while contacts are still active. (1065886)
    This has already been backported to older releases.

  • Physics: Fixed incorrect use of initial rotation of Rigidbody2D connected via a HingeJoint2D. (1160213)
    This has already been backported to older releases.

  • Profiler: Callstacks option selection not set in in-process profiler (1171540)
    This is a 2019.3 issue, not seen in any released version.

  • Profiler: Fixed a crash that happened when the Profiler ran out of memory budget on Job threads. (1169456)

  • Profiler: Fixed a memory leak that happened when the job debugger held onto the scheduled fences. (1156327)

  • Profiler: Fixed Hierarchy View performance regression due to thread dropdown. (1156675)

  • Scripting: Fixed crash when calling method with 'in', 'out' or 'ref' parameter using GameObject.SendMessage. (1167919)

  • Terrain: Fixed issue. Terrain details per resolution clamped from 0 to 1. (1171558)
    This is a new issue, not seen in any released version.

  • Terrain: Fixed issue. Terrain details per resolution clamped from 0 to 1. (1171579)

  • Terrain: Fixed Terrain border seams appearing after resizing control map (splatmap) (1161101)

  • Terrain: Fixed Terrain brush raycast precision issues when the editor camera was far from the world origin (1171938)

  • Terrain: Fixed Terrain LOD Trees are placed at wrong positions when painted (1087104)

  • Terrain: Resizing Terrain splatmap now correctly registers Undo (1161102)

  • Terrain: Terrain control map (splatmap) resize is no longer corrupted by using a linear color space (for example in HDRP) (1160831)

  • UI: 0 (1173065)

  • UI Elements: Fix NullReferenceException when reducing size of bound array field (1158337)

  • UI Elements: Fixed assertion fired when drawing an empty border. (1165892)

  • UI Elements: Fixed border widths percent which must apply to the border box of the current element. (1162930)

  • UI Elements: Fixed Editors written in UIElements not getting rebound to the SerializedObject after a soft refresh of the InspectorWindow (like when you add a new component). (1156233)

  • UI Elements: Fixed seams in UIElements borders. (1168489)

  • UI Elements: Fixed UXML Foldout is collapsed by default (1160707)
    This is a new issue, not seen in any released version.

  • Universal Windows Platform: Fixed benign assert message firing when using TextMeshPro edit boxes (1164482)

  • Version Control: Fixed bad inspector performance regression when Perforce is used (regressed in alpha 8) (1170427)

  • Version Control: Fixed Script Execution Order inspector being all disabled when Perforce is used (regressed in alpha 8) (1169674)

  • Version Control: Improved error messages when trying to checkout an immutable prefab. (1159836)

  • Video: Video alpha channels are flipped vertically when transcoding to H264 on Mac OS (1165238)

  • Video: Video Clip fails to upload to Cache Server when upgrading an old project to a newer version of Unity (1087082)

  • Video: Video preview window is blank upon transcoding. (1170157)

  • Video: VideoPlayer leaks memory when in Play mode (1168659)

  • Video: VideoPlayer leaks memory when set to a Camera target (1164058)

  • Video: WindowsVideoMedia error 0x8007007b is thrown when importing an AssetBundle with video in it. (1168061)

  • WebGL: Fix mouse drag event in WebGL (1109260)

  • WebGL: Fixed issue with AudioSource.time returning incorrect value while AudioSource is paused in WebGL (976669)

  • XR: Can now cast from UnityEngine.XR.InputFeatureUsage to UnityEngine.XR.InputFeatureUsage

  • XR: Fix player crash when using ARcore and multi-threaded rendering (1158392)

  • XR: Fixes jttery animations when using Time.deltaTime on quest (1157271)
    This has already been backported to older releases.

  • XR: XRSDK: fix for render viewport scale Jitter when render viewport scale changes continuously (1170112)

Preview of Final 2019.3.0a12 Release Notes

System Requirements Changes

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

Features

  • 2D: Following 2D Packages are now verified package com.unity.2d.spriteshape": "3.0.2", "com.unity.2d.animation": "3.0.3", "com.unity.2d.psdimporter": "2.0.3", "com.unity.2d.pixel-perfect": "2.0.2", "com.unity.2d.path":"2.0.1", "com.unity.2d.common":"2.0.1"

  • Android: com.unity.mobile.android-logcat v1.0.0 is now a verified package.

  • Android: Unity as a Library enables to integrate unity in other native Android applications

  • Asset Import: Added New Material Import Mode to the model importer allowing user customization of material generation when importing models.

  • DX12: DirectX 12 GPU Shader validation can be enabled on the editor or player using the command line argument "force-d3d12-debug-gbv"

  • Editor: A new column in the Hierarchy window allows users to enable/disable Object picking in the Scene View. An Object that is "Not Pickable" is still be visible in the scene, but is ignored by click or drag-select interactions. Icons in the Object picking column indicate whether or not an Object is pickable. Toggling between Pickable/Not Pickable does not mark the scene as dirty, or affect game data.

  • Editor: Users can now disable domain reload and Scene reload when entering Play mode. This can speed up iteration in the editor.

  • Editor: Users can now set custom UI scaling on windows across the Editor.

  • GI: Added Experimental API for modular lighting bake.

  • GI: Added support for baking box and pyramid shapes for HDRP spotlights.

  • GI: AMD Radeon Pro Image Filters AI denoiser for the CPU and GPU progressive lightmapper. Currently Windows and AMD hardware only.

  • GI: Baked LightProbes from scenes are now merged when additively loading scenes. Use LightProbes.Tetrahedralize() to update the tetrahedralization lookup structure after additive loads so new SH coefficients can be looked up correctly.

  • GI: GPU lightmapper: Added submesh support

  • Graphics: Ability to specify custom Mesh vertex data formats, and set vertex buffer data from NativeArrays. See VertexAttributeFormat, VertexAttributeDescriptor, Mesh.SetVertexBufferParams, Mesh.SetVertexBufferData.

  • Graphics: Ability to specify Mesh submesh information directly, and set index buffer data from NativeArrays. See SubMeshDescriptor, Mesh.SetIndexBufferParams, Mesh.SetIndexBufferData.

  • Graphics: Added an experimental Ray Tracing API. The experimental API is currently implemented on top of DirectX Raytracing API (part of DirectX 12 Graphics API) and requires at least Windows 10 October 2018 version (1809) and a DXR-enabled GPU. New objects exposed in C# UnityEngine.Experimental.Rendering namespace: RayTracingShader and RayTracingAccelerationStructure. Use SystemInfo.supportsRayTracing for checking if a system supports the Ray Tracing API.

  • Graphics: Added Graphics.DrawMeshInstancedProcedural, which is similar to DraMewshInstancedIndirect, but doesn't require compute support (useful for Procedural Instancing)

  • Graphics: Added RayTracingAccelerationStructure class with NativeTests

  • Graphics: Added RayTracingRootSignature class- currently unconnected

  • Graphics: On Demand Rendering. Ability to set the rendering speed independently from other engine updates.

  • Graphics: SRP Batcher now support Skinned Mesh rendering

  • Graphics: VisualEffect : Added a customizable initial event name support

  • iOS: Unity as a Library enables to integrate unity in other native iOS applications

  • Kernel: Added JobsUtility.ResetJobWorkerCount to reset JobWorkerCount to the Unity adjusted value.

  • Kernel: Set the main JobQueue worker thread count from the command line or boot.config (player only) using "job-worker-count" property. Added JobsUtility.jobWorkerMaximumCount to inspect the maximum JobQueue worker thread count. Added JobsUtility.jobWorkerCount to set/get the current JobQueue worker thread count.

  • macOS: Unity can now generate Xcode project for macOS standalone build

  • Multiplayer: Added UNET encryption support

  • Package Manager: Added a Diagnose button to the Unity Package Manager critical failure dialog. Clicking Diagnose will launch the Package Manager Diagnostics tool and close Unity.

  • Package Manager: Adding support for adding a package through tarball in the Package Manager window

  • Package Manager: Enable UI support for git package installation in the package manager window

  • Package Manager: Package authoring:

    • Create a package from Package Manager UI.
    • Develop a package from Package Manager UI.
    • Remove a package in development from Package Manager UI.
    • Open Package Manager UI on selected package in Project Browser.
  • Package Manager: Support Asset Store packges (My Assets) in Package Manager UI

  • Particles: Bring managed job support for Particle Systems out of experimental status, and improve the API to support job dependencies, and Burst.

    • Note that this release removes the ParticleSystem.SetJob and ParticleSystem.ClearJob API, and replaces them with MonoBehaviour.OnParticleUpdateJobScheduled, which is the new place to schedule managed Particle System jobs.
  • Physics: PhysX 4.1 upgrade. This brings us lots of accuracy improvements, some better performance in a variety of cases.

    Additionally, we expose a few of the new features:

    • a new, faster, midphase that doesn't need R-Trees to be built (see MeshCookingOptions.UseFastMidphase, available on Desktop targets)
    • a new broadphase algorithm that's faster than sweep-and-prune in most cases (see Automatic Box Pruning in the physics settings)
    • a new solver that's good for reducing joints issues (see Temporal Gauss-Siedel solver type in the physics settings)
    • a new Physics.BakeMesh() function to pre-cook meshes for MeshCollider (including off the main thread)
  • Profiler: Added Deep Profiler support to Mono and IL2CPP players.

  • Profiler: Added Deep Profiling support build option to players. When you build a Player with Deep Profiling, C# code instrumentation can be dynamically enabled and disabled.

  • Profiler: Added managed allocation callstacks support in players. When you enable callstacks collection, GC.Alloc samples contain C# code callstack.

  • Profiler: Added support for managed allocation callstacks in players.

  • Timeline: Added "Pan" autoscrolling option in the Timeline window.

  • Timeline: Added auto scroll option in Timeline Editor.

  • Timeline: Timeline Lock is now worksing as Mute work.

  • UI: Unity UI is now a package. The package documentation is avaialble at https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/index.html

  • UI Elements: New floating tool windows are available for GraphView-based products.

  • UI Elements: Users can now assign different top, left, right, and bottom border colors to UI.

  • Universal Windows Platform: Enable Device Portal support for ExecutableOnly builds

  • Windows: HDRDisplay is now supported for UWP and Windows Standalone for DX11 and Dx12

Backwards Compatibility Breaking Changes

  • 2D: Rename Tilemap Editor to 2D Tilemap Editor

  • Android: Default threshold for warning about App Bundle size increased up to 150MB

  • Android: Minimum supported Android version is now Android 4.4 KitKat (API 19)

  • Android: The option to target x86 for Android has now been removed.

  • Android: Updated Android NDK used to version r19

  • Apple TV: Removed support for Universal Harmony Remote, currently there's no way to properly support Universal Harmony Remote without breaking Siri Remote.

  • Asset Import: Added a warning when multiple sub-assets are imported with the same name/type. This often happen in the ModelImporter when multiple meshes or material have the same name in the .fbx file. Their resulting fileID (and thus references to them) may break/change if a new sub-asset witht he same name is found before the existing one after a re-import.

  • Asset Import: Starting with the Unity 2019.3 release, direct import of Cinema4D files will require an external plugin. Keep an eye on our External Tools forum for updates: https://on.unity.com/c4d.

  • Editor: In the Scene View camera settings window, removed the slider to set easing duration.

  • Editor: The PresetManager now supports a list of default Presets for each Preset type instead of a single Preset. The DefaultPreset contains a filter that is tested against the new default Object to decide whether this Preset should be applied to it or not. Every matching Preset will be applied in order to the newly default Object (whether it is created using ObjectFactory API or an importer created for a new file added to the project).

  • Graphics: Adding explicit depth resolve to RenderPass Metal

  • Graphics: Graphics Jobs is now enabled by default in the 3D Template

  • Package Manager: Remove create + develop from package manager UI

  • Scripting: Added icon for Assembly definition reference (asmref) asset files.

  • Scripting: Incremental GC is now no longer marked as "Experimental"

  • Timeline: Enabled rectangle tool for inline curves.

  • Timeline: Updated Timeline package version to 1.1.0

  • Universal Windows Platform: Removed icons that were only used on Windows 8.1 apps from Player Settings (1139095)

  • Version Control: Assets menu Version Control submenu got moved near top of the menu, into the same place where Collaborate menu is.

  • Video: Legacy MovieTexture (Theora-based video playback system) has been removed. Use VideoPlayer instead.

  • Windows: Command line arguments '-gpu' and '-adapter' replaced with '-force-device-index' and '-monitor' respectively to be consistent with MacOS and Linux.

Changes

  • Android: Android Gradle plugin version updated up to 3.4

  • Android: Gradle version updated up to 5.1.1

Improvements

  • 2D: Add CreateTileFromPaletteAttribute to allow users to specify how and what Tiles are created when dragging and dropping assets to the Tile Palette Window

  • 2D: Add multi-texture support to SpriteShapeRenderer

  • 2D: Add multi-texture support to TilemapRenderer

  • 2D: Add toggle to allow changing of Z Position with GridBrush

  • 2D: After picking from the Tile Palette, switch to a paintable tool if previous tool was not a paintable tool

  • 2D: Allow users to convert Prefabs to Tile Palettes by dragging and dropping a valid Prefab onto the Tile Palette Window

  • 2D: Expose GridPaintingState APIs to allow users to programatically change Tile Palette Painting states

  • 2D: Reduce memory usage of a Tilemap Tile by 16 bytes

  • 2D: Store last used Brush when entering or exiting PlayMode

  • Android: Allow custom UnityPlayerActivity implementations modify the command line arguments passed to Unity during startup.

  • Android: Enabled Vulkan support for Optimized frame pacing on Android.

  • Android: Make use of cpu_capacity for big.LITTLE core detection on devices where it's supported by the Linux kernel

  • Animation: Added a sorting order to Animation Playable Output to control how Playable Graphs execute in the Animator.

  • Animation: Exposed keyframe reduction options on GameObjectRecorder.SaveToClip().

  • Animation: Limited curve dragging in curve editor to only be available when pressing down the Shift key.

  • Audio: Better error reporting when audio clips fail to play (1118840)

  • Audio: Faster import of audio files

  • Build Pipeline: Added BuildAssetBundleOptions entry that allows stripping the Unity version from built asset bundles.

  • Build Pipeline: LZ4 lib version updated to 1.9.1

  • Build Pipeline: LZMA lib version updated to 19.00

  • Editor: 2D and 3D primitive collider tools are now Editor tools, compatible with the Scene toolbar, and top left toolbar.

  • Editor: 3D joint tools are now Editor tools.

  • Editor: 3D primitive collider tools are now Editor tools.

  • Editor: Added a toggle to the scene camera settings to disable infinite acceleration when navigating with flying mode.

  • Editor: Added Enable Code Coverage option in General Preferences. Added a popup and a console warning to notify users that enabling coverage lowers performance. Enabling coverage displays [CODE COVERAGE] in the window title bar.

  • Editor: Added a shortcut for the Scene Visibility Show All command.

  • Editor: Added shortcus for SceneView Camera modes.

  • Editor: Added support for generics to UnityEditor.TypeCache API

  • Editor: Added EditorSceneManager.sceneDirtied and PrefabStage.prefabStageDirtied callbacks, that are called when a user modifies a previously unmodified Scene/Prefab.

  • Editor: Made terminology for refer to the new and old input systems in Player Settings consistent: "Input System Package" and "Input Manager".

  • Editor: ProBuilder updated to 4.1.0.

  • Editor: Show an info box in the old Input settings suggesting to use the new one (and strongly suggesting so if the old input system backend is turned off).

  • GI: Added extra verification for Experimental.Lightmapping.SetCustomBakeInputs API to make custom bake easier to use.

  • GI: Added support for scaling Light Probe sample counts with the lightmap sample counts. A multiplier is added to adjust the Light Probe sample counts vs. lightmap sample counts. (1135553)

  • GI: Considerably reduced main thread overhead of the baking pipeline. Expect 3x-5x improvement.

  • GI: Don't show the ReceiveGI.LightProbes objects in the "Lightmap indices" visualisation view.

  • GI: GPU lightmapper: Match CPU lightmapper sampling scheme for improved quality.

  • GI: Increased editor responsiveness during baking with GPU lightmapper with AMD GPUs.

  • GI: Performance improvement: Only denoise AO buffer if AO is enabled.

  • GI: Reduce overhead in compositing when baking lightmaps with GPU lightmapper.

  • Graphics: Bind constant buffer is now supported on OpenGL 4.3+ and OpenGL ES 3.1+.

  • Graphics: EncodeToPNG() now support 16 bit grayscale format

  • Graphics: Exposed hardware-specific device limits for binding compute buffers in different shader stages.

  • Graphics: Exposed hardware-specific device limits for compute shader thread group sizes.

  • Graphics: Graphics: Mesh scripting API improvements. Added non-alloc overload of GetVertexAttributes. Added NativeArray overloads of Mesh.SetFoo. Added T[] and List overloads of SetVertexBufferData and SetIndexBufferData

  • Graphics: Improved error logging in case ETC texture compression fails in the Editor

  • Graphics: Improved sRGB fallback to unorm format warning to explain how to silent it. (1127043)

  • Graphics: Mesh class got HasVertexAttribute and GetVertexAttributeDimension methods.

  • Graphics: Mesh class got slice-style setters, e.g. SetVertices(Vector3[] data, int start, int length).

  • Graphics: Mesh class SetIndices/GetIndices got 16-bit index format overloads.

  • Graphics: Metal: improved debug groups structure

  • Graphics: Optimized away a redundant memory copy in Mesh.GetIndices implementation.

  • Graphics: Optimized shader build times during player build, especially when another player build was already done before. Saves 10-20 seconds of typical player build time.

  • Graphics: Remove (Experimental) tag from Graphics Jobs setting and make it a per platform setting

  • Graphics: SetPixelData API was added to Texture2D, Texture2DArray, Texture3D, Cubemap and CubemapArray classes to allow setting raw texture data directly. This works in a similar way to Texture2D. LoadRawTextureData, but instead of having to precalculate data offset and size, the data can be copied directly to a particular miplevel/array element/cubemap face. (1162624)

  • Graphics: Texture mip map streaming system now exposes calculated mipmapLevel via Texture2D.calculatedMipmapLevel (unaffected by requestedMipmapLevel or minimumMipMapLevel) Texture mip map streaming system now supports Texture2D.minimumMipmapLevel for per texture control of the minimum mip that will be selected. Fixed race condition in mip map streaming calculation that could cause Texture2D.desiredMipmapLevel value to be incorrect if read while the job was still running. (1153431)

  • Graphics: Texture2D.CreateExternalTexture now also accepts ID3D11Texture2D (DX11) and ID3D12Resource (DX12).

  • Graphics: Vastly decreases the time taken when a Ray Tracing shader is executed for the first time or a particular shader code or configuration associated to a Ray Tracing dispatch has changed.

  • Graphics: Vulkan texture creation during async load optimised to remove hitches for large textures

  • Graphics: [metal] iOS native resolution is now same as render resolution int most cases, this way avoiding final blit

  • iOS: Metal: Warn user if he does render MeshTopology.Points with shader that do not have PSIZE output

  • iOS: Minimum supported iOS version is now iOS 10

  • Kernel: Improve main thread utilisation for IJobParallelFor jobs

  • Kernel: Introducing new serialization attribute: SerializeReference

  • macOS: [metal] Added initial Graphics Jobs implementation on iOS and macOS platforms

  • Package Manager: Add pagination in the "My Assets" filter in the Package Manager UI

  • Package Manager: Added a new git attribute to the PackageManager.PackageInfo C# class (https://docs.unity3d.com/ScriptReference/PackageManager.PackageInfo.html).

  • Package Manager: Added conflict resolution information logging in upm.log during the resolve operation.

  • Package Manager: Added support for the SCP format (e.g. git@github.com:user/repo.git) when using Git-based packages.

  • Package Manager: Adds package manager UI menu extension

  • Package Manager: Conflicts are no longer reported as errors when the requested dependency of a package is satisfied by a greater major version.

  • Package Manager: Deprecate Package Manager UI as package

  • Package Manager: Reduce Editor LastLayout file size

  • Package Manager: Warn the user when he tries to enter playmode while assetstore package download operations are in progress Warn the user when he's in playmode and he tries to start an assetstore package download operation

  • Particles: Expose the "particle" property in the EmitParams, so users can easily override every proeprty of emitted particles.

  • Profiler: Added Profiler Preferences to tweak the visible frame count in Profiler Window.

  • Profiler: Added thread dropdown to Hierachy View of the Profiler window.

  • Profiler: Improved information about Shader compilation in the Profiler.

  • Profiler: Reduced the profiler overhead when flushing data from Job threads.

  • Profiler: Reworked Profiler toolbar as part of Editor Theming Update, rearranging buttons to better align with user workflows

    • Profile Editor button has been removed. The workflow is still supported by selecting Editor as target.
    • Record, SaveAs, Load, and Current are now icon buttons.
    • Allocation Callstacks has been renamed to Call Stacks
    • Added Open Manual and an Overflow Menu button that contains colorblind mode and a link to Profiler Preferences.
  • Scripting: Added project name to the boot.config file for Players. This will enable popular IDE's to display more information about the Player when attaching a debugger.

  • Scripting: Added support for the "||" (OR) operator for the define constraints in the .asmdef importer

  • Scripting: Throw exceptions when calling old Input APIs but the old input system is turned off.

  • Shaders: Added an checkbox in Graphics Settings to enable logging information about shader compilation at runtime (development and debug only).

  • Shaders: Added warning if duplicated global and local keyword is used

  • Shaders: Adding for C# keyword stripping local keywords support. Improving performance for variant shader variant finding

  • Terrain: Added support for arbitrarily sized Terrain Paint Contexts (no longer limited to 2x2 tiles)

  • Terrain: Terrain height painting/setting now is operating always in world space coordinates. (1118605)

  • Timeline: Scrolling horizontally with either the mouse wheel or track pad now pans horizontally in Timeline's clips area.

  • Timeline: Scrolling with either the mouse wheel or track pad is now context-sensitive in Timeline. It zooms if the pointer is above the clips area, it pans everywhere else.

  • UI Elements: Extended the Image class and the background-image property to support SVG image assets.

  • UI Elements: ListView is now bindable via C# and UXML.

  • UI Elements: On SM3.5+, both point and bilinear textures will be elligible to enter the automatic atlas (if the other criterias such as size are fulfilled as well). Below SM3.5, only bilinear sampling is required and using point sampling will break batches.

  • Universal Windows Platform: Add 'GazeInput' Capabilitie to UWP Publisher Settings within the Editor (1162038)

  • Universal Windows Platform: Player Settings inspector will now warn when selected icons are too large and will fail Windows App Certification Kit tests (1146113)

  • Version Control: Added "-vcsMode" editor command line argument to set VCS mode.

  • Version Control: Added "Overwrite Failed Checkout Assets" editor setting, turning it off makes unity not overwrite files that can't be checked out

  • Version Control: Added a confirmation dialog for moving or renaming folders under version control (1108630)

  • Version Control: Fixed Save Project being very slow when there are a lot of changed assets and a slow Perforce connection (1170253)

  • Version Control: Inspector VCS status bar was moved to the top, and in addition to "Checkout" got "Add", "Lock", "Unlock", "Submit" buttons when appropriate.

  • Video: On WebGL, videos with non-square pixel aspect ratio now displayed correctly.

  • XR: Added GPU Profiler support for Oculus Quest and Oculus Go.

  • XR: Updated Oculus to use the 1.36 plugin.

  • XR: [Lumin] Added support for the "Lumin world microphone", which can be selected by that device name via Microphone.Start.

API Changes

  • Android: Add UnityEditor.Android.AndroidExternalToolsSettings to control External Tools Settings

  • Animation: Added Animator.AddJobDependency(JobHandle) to allow user to run jobs prior to animator jobs.

  • Animation: Moved Animation C# jobs out of experimental namespace UnityEngine.Experimental.Animations to UnityEngine.Animations

  • Asset Import: ModelImporter.avatarSetup can be used to change the way avatars are created, based on the AnimationType, during a ModelImport.

  • Asset Import: The CollectImportedDependenciesAttribute was added to allow users to set up dependencies on imported assets to be used from AssetPostprocessors

  • Asset Pipeline: Added experimental API AssetDatabaseExperimental.GetAvailableImporterTypes for listing the importer types which can handle an Asset type.

  • Audio: New AudioSettings.Mobile.interface to detect mute state on Android/iOS and to stop/start AudioOutput thread to reduce energy comsumpion

  • Build Pipeline: Expose PackedAssets class as part of the BuildReport, used for AssetBundle and sharedassets analysis

  • Build Pipeline: Renamed ContentBuildInterface.PrepareScene to ContentBuildInterface.CalculatePlayerDependenciesForScene

  • Build Pipeline: Replaced ContentBuildInterface.WriteSerializedFile & WriteSceneSerializedFile individual parameters with a struct of parameters

  • Editor: Added a new default API for Presets that works with a list instead of a single Preset, and supports default filtering.

  • Editor: Added EditorTool.OnDrawHandles method for drawing handles on inactive custom Editor tools.

  • Editor: Added EditorUtility.DisplayDialog overload that takes a DialogOptOutDecision Type and an identifying string. Using this overload gives users the the ability to opt-out of seeing modal system dialogs.

  • Editor: Added UnityEditor.EditorUtility.RequestScriptReload public API that allows Script reloading.

  • GI: Add Lightmapping.lightingDataUpdated event. This event is called when the LightingDataAsset is updated.

  • GI: Added API to set environment sample count for Progressive Lightmapper. LightmapEditorSettings.environmentSampleCount.

  • Graphics: Added a binding on the useColorTemperature property of the light.

  • Graphics: Added command buffer API to control single-pass instancing multiplier

  • Graphics: Added index support to Color32 struct.

  • Graphics: Added InvokeOnRenderObjectCallback to ScriptableRenderContext

  • Graphics: Added SystemInfo.supportsRayTracing, which checks if it's possible to create a D3D12 Raytracing Device on the current platform.

  • Graphics: Initial Event Support for VisualEffect

  • Graphics: Moved RenderingThreadingMode and renderingThreadingMode from UnityEngine.Experimental.Rendering namespace to UnityEngine.Rendering namespace

  • Graphics: Removed TextureCompressionQuality enum defined in UnityEngine namespace but never used by any API (1108722)

  • Graphics: Removed the RenderPipelineManager callbacks signatures that was not taking a ScriptableRenderContext in parameter

  • Graphics: Renamed GPU Skinning on non-DirectX platforms to Compute Skinning

  • Graphics: VisualEffect component, VisualEffectAsset and VFXManager have been moved out of experimental

  • iOS: Open GLES2 and GLES3 have been deprecated on iOS and tvOS

  • Kernel: Added Unity.Jobs.LowLevel.Unsafe.JobWorkerCount and Unity.Jobs.LowLevel.Unsafe.JobWorkerMaximumCount to query and set the number of job worker threads in the main Unity Job System

  • Kernel: Added Unity.Jobs.LowLevel.Unsafe.ResetJobWorkerCount to reset the job worker count back to the Unity defaults

  • Package Manager: Add UnityEditor.PackageManager.UI.Window.Open function to open Package Manager Window on a selected package

  • Package Manager: Renamed the UnityEditor.PackageManager.PackageInfo.recommended property to verified.

  • Physics: Added the ability to create a standard Unity Mesh from any Collider2D using "Collider2D.CreateMesh()"

  • Physics: Added the ability to generate a hash value for any Collider2D geometry using "Collider2D.GetShapeHash()"

  • Playables: Deprecated PlayableOutput.SetSourceOutputPort in favor of PlayableOutput.SetSourceOutput(Playable, int)

  • Profiler: Added EditorConnection.UnregisterConnection, EditorConnection.UnregisterDisconnection, PlayerConnection.UnregisterConnection, PlayerConnection.UnregisterDisconnection

  • Profiler: Added HierarchyFrameDataView.columnStartTime which gets the start time of profiler samples.

  • Profiler: Added TakeSnapshot overload with screenshot handling to the MemoryProfiler API

  • Scripting: Add EditorUserBuildSettings.waitForManagedDebugger, instructs player to wait for managed debugger to attach before executing any scripts

  • Scripting: Add the TryGetComponent API to GameObject and Component classes that do not allocate in the editor when the component does not exist

  • Shaders: Marked ShaderUtil.ClearShaderErrors() obsolete and replaced it with ShaderUtil.ClearShaderMessages().

  • Terrain: Added support for custom gather and scatter operations to Terrain API.

  • Time: (BACKPORTED TO 2019.2) Introduced Time.captureDeltaTime, a more precise floating point reciprocal of Time.captureFramerate

  • Timeline: Added UnityEngine.Timeline.ILayerable interface. Implement this interface to have custom tracks support multiple layers.

  • Video: Removed MovieTexture class and API.

  • XR: Added mirror view blit support to the display subsystem c# api

  • XR: Added more cross platform/common stats to the display subsystem c# api

Fixes

  • 2D: Fix dead area for SceneView Gizmos next to Tilemap Focus Window (1168038)

  • 2D: Fix sorting issue when Particle System which has a sorting fudge under a Sorting Group is not sorting correctly. Renderers such as this should be sorted according to Sorting Group order.

  • 2D: Fixed an issue where the edge and the filling of a Sprite Shape object were drawn in the wrong order when using the Universal Render Pipeline. (1169108)

  • 2D: Fixed assertion message when launching Unity with Sprite Editor Window docked from previous session (1169188)

  • 2D: Fixed issue where reimporting Sprite from TextureImporter might check out meta file (1092018, 1104502)

  • 2D: Fixed Undo function not undoing properly when painting Prefab Tiles onto the Tilemap (1137692)

  • 2D: Legacy Sprite Atlas packer dialog shows incorrect path to Project Settings (1167641)

  • 2D: Recomposite Collider2Ds with CompositeCollider2D when offset and vertex distance changes while in outline generation mode

  • 2D: Resources.Load() crashes on Sprite::GetRenderData() when there is no sprite data (1149030)

  • 2D: Sprite Atlas asset is checked out in Perforce after entering Play Mode and exiting Editor (1164347)

  • 2D: Sprite Editor Window shows correctly after re-installing package (1125290)

  • 2D: SpriteEditorWindow.OnPostprocessAllAssets is slow due to calling Resources.FindObjectsOfTypeAll many times (1166158)

  • 2D: SpriteRect visual when creating shows correctly while zooming (1134295)

  • Android: Android: Fix bug where right mouse button release was not being recognised. (1168711)

  • Android: Fix CPU core config detection for Galaxy S10 device

  • Android: Fix crash when using Optimized Frame Pacing with Vulkan

  • Android: Fix distorted images on Tegra devices when loaded with DXT format (1142668)

  • Android: Fix GPU instancing on PowerVR devices (1156362)

  • Android: Fix procedural skybox black ground on Mali-400 GPU. (1127106)

  • Android: Fix regression where Application.Quit wouldn't kill app in some cases, this prevented some of the services to incorrectly reinitialize on application relaunch.

  • Android: Fix threading configuration when Multithreaded Rendering and Graphics Jobs are both enabled and Vulkan is used as Graphic API

  • Android: Fix Vulkan opaque renderpass store action when multiple render passes with MSAA are used (1126522)

  • Android: Fix [Android] Built project shows black screen when using ARGB32 RenderTexture with HDR (1063891)

  • Android: Fix [GLES2] Artifacts on Meizu MX5 when using Realtime reflection probe (1106542)

  • Android: Fixed a bug where SystemInfo.processorType would give the incorrect architecture for 32 bit apps running on 64 bit devices.

  • Android: Fixed a Vulkan video playback crash on Android. (1170411)

  • Android: Fixed an Android build issue where Java installed by the Hub may not be used causing a CommandInvokationFailure error. (1136069)

  • Android: Fixed an Android video player crash. (1166265)

  • Android: Fixed Android manifest generation when Daydream or Cardboard VR is enabled. (1154923)

  • Android: Fixed behavior of ForcedCrash types FatalError and Access Violation on Android and other POSIX platforms. (1142726)

  • Android: Fixed Keystore path to work with specific chars space, comma, etc... (1141839)

  • Android: Fixed some missing keyboard key bindings for the new input system. (1159198)

  • Android: Input system package: fix KeyControl.displayName for external keyboard (1093828)

  • Android: Mouse forwardButton, backButton should work correctly in the new input system. Note: Not all android devices support these buttons correctly (1159766)

  • Android: Mouse.clickCount should work correctly now on the new input system. (1158552)

  • Android: QualitySettings.resolutionScalingFixedDPIFactor should work in runtime (1156467)

  • Android: Report keyboard layout to input system package (1093823)

  • Android: Use relative path for keystore in project location after a second key is added (977673)

  • Android: When AndroidBlitType.Never is used with Linear Rendering and SRP inform user that linear-to-sRGB conversion is handled for him (1122492)

  • Animation: Added editor test to validate that recorded frame match simulated frame for animator (847233)

  • Animation: Changed the string "Normalized Time" to "Motion Time" in the AnimatorState Editor to avoid confusion when accessing the AnimatorStateInfo's normalized (1156287)

  • Animation: Disabled user script OnAnimatorMove called when sampling in the Animation Window (1145760)

  • Animation: Fix copy pasting of keyframes when order in animation window does not match sorted order of their curve paths (1139224)

  • Animation: Fix the color temperature animation binding (1056497)

  • Animation: Fixed an issue where Playable Director's "Playable" field was missing the prefab override contextual menu (1167365)

  • Animation: Fixed an issue where the Controller field of an Animator would not react properly to Prefab overriding. (1162239)

  • Animation: Fixed Animation Stream bindings mismatch when sampling in the Animation Window in play mode. (1161080)

  • Animation: Fixed AnimationClips' Reset functionality in the Inspector (1156073)

  • Animation: Fixed Animator Initialized flag not set during object construction leading to potential errors when setting keepAnimatorControllerStateOnDisable to true. (1168475)

  • Animation: Fixed blendtree asset corruption when changing motion tab field with another blendtree asset. (1028113)

  • Animation: Fixed constant tangents evaluation when used in weighted curve segments. (1081191)

  • Animation: Fixed crash when removing a state in the animator controller state machine (1143974)

  • Animation: Fixed crash when sampling an animation from a FBX with AnimatedCustomProperties. (1166217)

  • Animation: Fixed crash when using Animation Jobs with invalid human avatar. (1161250)

  • Animation: Fixed custom animator property appearing as missing in animation window. (1165368)

  • Animation: Fixed fetching of AnimationClip in override controller for Asset Bundles when AnimationClip is not yet loaded. (1165817)

  • Animation: Fixed humanoid bones not restored to previous values when stopping Animation Window preview (1138371)

  • Animation: Fixed mistakenly fired playable warning when graph was destroyed (1081779)

  • Animation: Fixed mouse press events so that Animator window does not get stuck in Pan mode (1140361)

  • Animation: Fixed NullReferenceException in Blend Tree inspector. (1153399)

  • Animation: Fixed NullReferenceException when deleting an override controller in the project folder when its inspector is still open. (1158222)

  • Animation: Fixed transform write order whenever a game object is deleted in an animated hierarchy. (1153868)

  • Animation: Fixed unstable test AnimationEventCanAlterTime (1146292)

  • Animation: Made AnimationWindowCurve also implement IEquatable as we have at least one case where we store these in a List and try to avoid double-insertions by calling Contains. (1123981)

  • Apple TV: Fix empty project crash during loading on Apple TV (1162495)

  • Asset Import: Clicking on the Play button in the AudioImporter preview a second time does stop the playing clip.

  • Asset Import: Curves previews in the ModelImporter's Animation panel are correctly updated when Revert is clicked. (1166122)

  • Asset Import: Deleting scripts outside of the Editor when it is selected does not log an error anymore. (1153082)

  • Asset Import: Fixed an issue with the Sketchup importer where some scenes generate empty meshes during import. (1155424)

  • Asset Import: Fixed crash in mesh optimization when importing meshes or using the Mesh.Optimize() API that would occur if a mesh had empty sub-objects (1166419)

  • Asset Import: Fixed crash when an object already added to the ScriptedImporter context is destroyed before the import is over. (1133565)

  • Asset Import: Fixed crash when importing a fbx with an animation curve that has only 1 frame at a very low negative time. (1160772)

  • Asset Import: Fixed issue where animations from .blend files are not imported properly. (1117999)

  • Asset Import: Fixed out of memory crash when importing FBX assets with thousands of submeshes (1122713)

  • Asset Import: ImportSettings can be changed and Applied from an Inspector while in Playmode. (1169942)

  • Asset Import: Local fileIDs of FBX meshes are correctly upgraded from Unity 2018 and previous version when multiple meshes share the same name. (1169597)

  • Asset Import: Meshes with less than 65535 vertices but with an index buffer size of more than 3 * 65535 elements are no longer split when using 16 bit index buffers. (1143742)

  • Asset Import: ModelImporter does not enforce the AnimationType setting on first import anymore. Default Preset can be used for this setting and it can be changed during OnPreprocessAsset or OnPreprocessModel in the AssetPostprocessor callbacks. (1152163)

  • Asset Import: PluginImporter does not change metafile while opening a project anymore. (1145258)

  • Asset Import: Re-compile script while a MonoBehaviour asset is selected does not throw an error anymore. (1157050)

  • Asset Import: TextureImporter's apply button is properly enabled/disabled after changes are made in the Per-Platforms sections. (1167983)

  • Asset Pipeline: Crash on AssetDatabase::ReserializePrefabs when attempting to save a prefab at the same path as an existing folder (via Script) (1161227)

  • Asset Pipeline: Fix for "Multiple Input Managers are Loaded of type" (1147011)

  • Asset Pipeline: Fix for project being deleted, if temp folder got deleted while unity is running (1160415)

  • Asset Pipeline: Fix for scritable objects not being reloaded after a domain reload (1153117)

  • Asset Pipeline: Fixed an issue where mutually recursive assets could cause a crash.

  • Audio: Fix crash in DSPGraph when clearing sample provider

  • Audio: Fix crash in some circumstances when changing audio output at runtime (e.g. unplugging headphones).

  • Audio: Proper error message is now provided in the console (632952)

  • Build Pipeline: Crash at CompileGpuProgramSnippets when cancelling a build during Shader Variant Compilation (1160092)

  • Build Pipeline: Fix to properly disable the build buttins while the editor is compiling and the Assetdatabase is not ready. (1151099)

  • Build Pipeline: Fixed an issue where user created folders were being deleted on a failed player build. (1132299)

  • Build Pipeline: Fixed issue where inactive scenes were getting calculated into the scene build indexes (977745)

  • Build Pipeline: Fixed issue where Terrain loaded from an Asset Bundle wasn't able to access Terrain Shaders

  • Build Pipeline: Improved shader compilation progress bar to avoid editor to appear frozen during the build. (1031630)

  • Compute: Fixed compute shaders not being imported when no graphics API in the current build target has compute support (1087245)

  • DX12: Changing color spaces in the editor while using DX12 will no longer result in an exception being thrown. (1123013)

  • Editor: Add new EditorWindow.HasOpenInstances() API endpoint that can be used to check if an editor window of type T is open

  • Editor: Added Compilation.AssembliesType.PlayerWithoutTestAssemblies to support getting assemblies for the player using CompilationPipeline.GetAssemblies without test assemblies.

  • Editor: Added Edit/Rename for scene hierarchy

  • Editor: Added error message if project contains .dlls with the same filename as Assembly Definition File assemblies. Which can lead various issues and crashes. (1117125, 1143057)

  • Editor: Added missing 2018_4_OR_NEWER C# preprocessor directive when compiling C# scripts. (1169225)

  • Editor: Added more information to an unrecoverable Undo scenario. (1116630)

  • Editor: Adding an illegal character (/?<>:*|) in the project folder throws an exception in the console (1159270)

  • Editor: After a player build finishes, scripts are no longer recompiled for the editor. Recompiling of scripts was an unnecessary step that existed due to legacy reasons. By skipping this step, finishing a player build now takes a shorter amount of time. (1115674)

  • Editor: Allow camera speed to modified with the scroll wheel when right mouse button is pressed.

  • Editor: Being able to localize packages.

  • Editor: Change link to unity store to the new one on the account drop down menu (859786)

  • Editor: Changeset window description field is displayed in a single line (1154901)

  • Editor: Ctrl + F will focus search field in SettingsWindow (1169717)

  • Editor: Editor: fixed error when building unity_builtin_extra not failing the build (1144465)

  • Editor: Ensure NSPasteBoard is initialized on start of drag and drop. (780533)

  • Editor: Fix and improve style catalog build and loading sequence (1165930)

  • Editor: Fix and improve style catalog build and loading sequence (1166899)

  • Editor: Fix Avatar Mask UI layouting (1154715)

  • Editor: Fix crash when calling Application.Exit() from a static constructor on a type marked [InitializeOnLoad] (1153197)

  • Editor: Fix editor floating container window min-max size info propagation (1169663)

  • Editor: Fix fail to load editor window leaves an unclosable unmovable window (1146403)

  • Editor: Fix focus state IMGUI drawing (1170562)

  • Editor: fix for an invalid memory access iwhen querying for a deleted texture with DX12 mode (1138909)

  • Editor: Fix issue of drag & drop flickering (907336)

  • Editor: Fix issue when deserializing ScriptableObject with no underlying C# script (1167575)

  • Editor: Fix issue where read-only "FBX" file would be corrupted after changing one of its materials and undoing (1120097)

  • Editor: Fix issue with "Unable to resolve reference" errors being emitted for precompiled .dlls on startup, if they reference an .asmdef assembly in Library/ScriptAssemblies and the .asmdef assembly does not exist during startup.

  • Editor: fix issue with null reference exceptions while previewing textures during asset import (1135750)

  • Editor: Fix item highlight in quality settings (1159630)

  • Editor: Fix MenuItem shortcuts taking the capitalization of the character into consideration. (1154312)

  • Editor: Fix normal map asset icons looking washed out when imported in a Linear color space project (1158519)

  • Editor: Fix OnDestroy() get's called twice for custom Editor Windows (1156118)

  • Editor: Fix Perforce disconnecting when renaming an asset with AssetDatabase V2 enabled (1140262)

  • Editor: Fix rename in project browser when switching directories (1169986)

  • Editor: Fix right handed copy/paste shortcuts (1132112)

  • Editor: Fix scrollbar mouse click paging (1161189)

  • Editor: Fix scrollbar on Inspector does not disappear after deselecting a gameObject (1159191)

  • Editor: Fix search field text clipping (1158540)

  • Editor: Fix text overflow of selection box in two columns layout (1156661)

  • Editor: Fix the preview pane in the object selector.

  • Editor: Fix various Northstar cosmetic issues (1158609)

  • Editor: Fix various Northstar cosmetic issues (1159257)

  • Editor: Fix various Northstar cosmetic issues (1163086)

  • Editor: Fixed a case where the Scene View camera could become stuck in a tilted rotation when rapidly switching from 2D to 3D perspective. (1159486)

  • Editor: Fixed a small memory leak which would happen any time a context menu is opened. (850599)

  • Editor: Fixed an error when using reflection probe anchor overrides in prefabs (1160643)

  • Editor: Fixed an issue where "Use DXGI Flip Model Swapchain for D3D11" in the project settings window is clipped for some DPI settings. (1166698)

  • Editor: Fixed an issue where content of the text asset is not displayed in the inspector window (1155781)

  • Editor: Fixed an issue where double clicking on the folders in the project browser in one column layout gives an error. (1151435)

  • Editor: Fixed an issue where scene vis data is lost when working with multiple scenes (1163991)

  • Editor: Fixed an issue where selecting "Revert Factory Settings" in Layout menu does not delete the custom layouts (1162824)

  • Editor: Fixed an issue where the Anchors section can be collapsed/expanded if the user clicks on the arrow. (1167867)

  • Editor: Fixed an issue where the drop down menu freezes when opening a menu-drop down that contains large strings with unicode characters. (1119511)

  • Editor: Fixed an issue with selection being lost when deleting a game object and performing Undo (1160914)

  • Editor: Fixed an issue with the frame debugger's draw call selector not functioning correctly. (1168943)

  • Editor: Fixed drag and drop to inspector bottom area (1152510)

  • Editor: Fixed high CPU and GPU load when a material with certain shaders is displayed in the Inspector (1158089)

  • Editor: Fixed incorrect asset icon being shown for assemblies.

  • Editor: Fixed incorrect handling of Unicode characters in the application file name when building the Player. (1169358)

  • Editor: Fixed Int Slider issue (1162540)

  • Editor: Fixed iOS/tvOS GLES Deprecation warning appearing always (1170222)

  • Editor: Fixed issue with SerializedProperty.objectReferenceInstanceIDValue emitting asserts to the console. (1169801)

  • Editor: Fixed lag occurring when viewports are fully concealed behind panels (1140477)

  • Editor: Fixed marquee selection always selecting asset loaded from a bundle (1158173)

  • Editor: Fixed missing Edit Polygon Collider 2D tool. (1166083)

  • Editor: Fixed nested GUILayoutFadeGroup layout issue resulting in some misaligned properties (1158658)

  • Editor: Fixed occasional crash when importing Compute Shaders for Metal (1171627)

  • Editor: Fixed parsing issue in new YAML backend that could result in a crash (1164292)

  • Editor: Fixed potential null reference exception errors that might occur for the editors that implement OnSceneGUI() (1148101)

  • Editor: Fixed ReimportAll opening the wrong project with multiple projects opened. (1160297)

  • Editor: Fixed resetting a Preset removes its type and renders it useless (1147206)

  • Editor: Fixed Scene Toolbar's Icons being wrong when using Hand, Orbit and Zoom Tools (1164504)

  • Editor: Fixed Splash Screen Preview not refreshing in GameView (1166664)

  • Editor: Fixed text serialization parsing error that would occur when reading some multi-line scalars in block sequences (1153091)

  • Editor: Fixed the missing script issue upon minimize and maximizing the editor application. (1095540)

  • Editor: Fixed to calculate GlobalMatrix correctly when parenting to a scaled and rotated object. (1089827)

  • Editor: Fixed touch issues with the editor on Windows (MouseDown position is more precise and dragging a property value on the edge of the screen no more increases the value exponentially)

  • Editor: Fixed various issues with new editor theme (for UIElements) (1158886)

  • Editor: Fixed various northstar theming issues (1163447)

  • Editor: Fixed Vector4 and Array types not displaying the values in the inspector (1139928)

  • Editor: Fixes an issue where EditorTools could not accept Event commands before the SceneView interprets them. (1151523)

  • Editor: Game view could hardly be resized because splitters had less priority than the view, now the splitters are correctly prioritized (1169963)

  • Editor: Ignore trailing spaces while saving layout names (1168978)

  • Editor: Improve Editor performance when marquee selecting objects in moderate to large sized scenes. (1168454)

  • Editor: Improved error message when Unity tries to load an arbitrary file as though it's a Unity created serialized file.

  • Editor: It is not possible anymore to click the Open button on a VideoClipImporter Preset. (1154998)

  • Editor: Large serialized assets (e.g. Texture2DArray, Texture3D) no longer take a second or two to show up in the inspector (1153174)

  • Editor: MacEditor: Fixed a regression with floating window not bringing editor focus back when selected (1136618)

  • Editor: MacEditor: Fixed Camera.Render being called twice per frame (1165224)

  • Editor: MacEditor: Fixed poor performance when moving around undocked windows (1154920)

  • Editor: MacEditor: Fixed regression from 2019.3a10 where live resizing a window could run out of memory (1170410)

  • Editor: MacEditor: Improved MouseDrag event handling (1066718)

  • Editor: macOS: 'Window/Bring All to Front' now brings secondary windows in front of the main window as expected in the Editor (1141001)

  • Editor: Move the GameView VSync toggle to the game view resolution popup

  • Editor: Optimize the style catalog compilation at startup and on domain reload (1173743)

  • Editor: Preference window shows now required NDK version

  • Editor: Re-enable CEF message loop pumping while in playmode (1147718)

  • Editor: Reduced time it takes for inspector to react when clicking on large binary assets.

  • Editor: Replacing a Preset asset using the PresetSelector does not lose references in the PresetManager anymore. (1162505)

  • Editor: Replacing a Preset asset while it is selected does not show inspector errors anymore. (1162563)

  • Editor: SceneVis hide shortcut is now 'H', Isolation shortcut is now Shift+'H'

  • Editor: Set the host view name when the actual view changes (1169890)

  • Editor: Unable to drag assets from the 'Packages' subfolders in the Project window when using One Column Layout (1169200)

  • Editor: Uneeded allocation in StylePainter DrawStyle (1168699)

  • Editor: Uneeded allocation in StylePainter DrawStyle and GUIStyle.name (1169709)

  • Editor: Unity will now prompt to save changes on Windows shutdown. (941542)

  • Editor: Update Windows Editor splash image

  • Editor: Various alignment and icon issues (1157335)

  • GI: Color coding of lights in the shadow mask scene view mode now matches their corresponding shadow mask channel color.

  • GI: Deprecating Enlighten and allowing SRPs to not support it (and therefor hide it) in new project. Upgraded projects will still show it.

  • GI: Faster editor shutdown when baking with progressive lightmapper. (1148686)

  • GI: Fixed error "Internal: JobTempAlloc has allocations that are more than 4 frames old" when baking lights (1128734)

  • GI: Fixed issue where we draw the UVs of disabled objects that are no longer in the lightmap. (1117696)

  • GI: Fixed memory leak after compiling OpenCL kernels when using progressive GPU lightmapper.

  • GI: Fixed memory report for light probes in the GPU lightmapper.

  • GI: Fixes an issue where the "Generate Lighting" button can get stuck when switching between scenes using different baking backends. (1089737)

  • GI: GPU lightmapper: Editor is slow and low baking performance when baking certain project with GPU Lightmapper (Added support for 32bits indices) (1110661)

  • GI: GPU lightmapper: Fix incorrect over darkening at primitive intersection in conjonction with dilatation. (1119363)

  • GI: GPU lightmapper: Fix indirect from blue lights appears much less intense when using GPU lightmapper. (1114555)

  • GI: GPU lightmapper: Fix sample count statistics when baking large lightmaps with high sample count.

  • GI: GPU lightmapper: Fix transparency from indirect ray. (1086152)

  • GI: Made error message more helpful when the GI albedo/emissive buffer update fails.

  • GI: Make custom bakes converge on GPU lightmapper, note that the feature is still not implemented.

  • GI: Progressive lightmappers will now skip baking lightmaps and shadow mask if there are no affecting light sources (lights, emissive or environment). (1033410)

  • GI: [ReflectionProbes] Minor changes to mesh renderer transform values cause Reflection Probe weights to change (1078579)

  • Graphics: Add UnityEngine.Experimental.Rendering.RenderingThreadingMode API that returns actual rendering threading mode

  • Graphics: Change default graphics jobs sync point back to AfterScriptUpdate, fixing regression in Legacy Graphics Jobs (1162175)

  • Graphics: Corrected memory regression when loading large textures on Vulkan via threaded texture creation. (1156082)

  • Graphics: Create texture now occurs on a thread in cases when async loading to update an existing texture.

  • Graphics: Enable DXR raytracing feature for DX12 to be used by HDRP

  • Graphics: Ensure deterministic results for ASTC compressed textures with block sizes 10x10 and 12x12

  • Graphics: Fix a regression that can cause increased draw call count when using static batching. (1098752)

  • Graphics: Fix error in OpenGL ES shader translation that can cause 'undeclared variable' shader compile error.

  • Graphics: Fix for crash caused by floating point rouding errors when atlassing very small rectangles (1126862)

  • Graphics: Fix framebuffer load actions when rendering from Monobehaviour.Update (1161592)

  • Graphics: Fix FrameTimingManager when using Vulkan (1152859)

  • Graphics: Fix issue where Preview Camera had incorrect type. (1163371)

  • Graphics: Fix issue where there would be an assert when importing an asset with zero bone weights. (1165175)

  • Graphics: Fix issue with Android Blit type not being serialized properly (1161705)

  • Graphics: Fix issue with assert when all bones had zero weight. (946809)

  • Graphics: Fix issue with incorrect distance bands for CullingGroups. (962226)

  • Graphics: Fix Mesh.GetTriangles with list argument not working with different topology (1141916)

  • Graphics: Fix Shadow Cascades debug view were broken when no shadow casting directional light is present (1117145)

  • Graphics: Fix SRP Batcher graphical artifacts with more accurate float to half conversion (1136206)

  • Graphics: Fix use shader code generation when using SV_PrimitveID with OpenGL (1154828)

  • Graphics: Fixed a memory leak when using Frame Debugger. (1168390)

  • Graphics: Fixed crash in dynamic batching when mesh still has indices but misses vertex data (1158179)

  • Graphics: Fixed crash that occured when atlassing BC compressed textures using a padding smaller than the blocksize (1108289)

  • Graphics: Fixed D3D11 debug validation layer warnings because we did not unbind all VB correctly. (1084140)

  • Graphics: Fixed DirectX crash on Windows 7 (1167678)

  • Graphics: Fixed DX11 specific GPU texture memory reporting when using mip streaming to update an existing texture. (1139438)

  • Graphics: Fixed editor stalls in script compilation, exit playmode after having a project open in the editor for a long time (1143772)

  • Graphics: Fixed excessive texture mip reduction during texture streaming when texture quality settings applied.

  • Graphics: Fixed ExtractImage to check the presence of source image data. (1115638)

  • Graphics: Fixed frustum culling using incorrect near and far culling planes when user had set a custom culling matrix (1156517)

  • Graphics: Fixed GPU instancing sometimes not working correctly on Vulkan when shader didn't use all instancing constants (1106866)

  • Graphics: Fixed lightmaps baked with linear color space being wrong sometimes (1170585)

  • Graphics: Fixed Mesh.SetTriangles with List ignoring baseVertex argument. (1172814)

  • Graphics: Fixed random crash in GraphicsJobs when using SRP API DrawRenderers with RenderStateBlock (1159200)

  • Graphics: Fixed rare deadlock in CreateGpuProgram when multithreaded rendering is enabled on mobile devices (1164492)

  • Graphics: Fixed Texture streaming when preloading textures (prior to associating with a renderer) to load low mip rather than highest mip. (1154415)

  • Graphics: Fixed Windows 7 DirectX 11 DrawQuad crash. (1157730)

  • Graphics: Improve documentation clarity for CommandBuffer script API

  • Graphics: macOS: Display.RelativeMouseAt behavior improved, document default return value of Vector3.zero on unsupported scenarios and platforms

  • Graphics: Metal: allowed re-set current RT overriding currently stored store actions (needed for backbuffer or, well, for everything that uses camera) (1161573)

  • Graphics: Metal: fixed "default" HDR RenderTexture format being broken (1141013)

  • Graphics: Metal: fixed simple clearing of RT not impacting mips when RenderTexture.autoGenerateMips was set to true (1154708)

  • Graphics: Metal: Reduced excessive GPU fencing allowing GPU work to overlap

  • Graphics: Removed Color from vdecl used for warming up shaders. Some time ago we stopped adding color always to main stream and add extra stream on demand, hence this vdecl is almost never used with real content effectively disabling any warming up we can do.

  • Graphics: Reset functionality is not working for Visual Effect (1158963)

  • Graphics: tencil Rendering States do not get updated when setting via Shader.SetGlobalInt() (922259)

  • Graphics: Texture streaming now works with LZ4 (and LZ4HC) compressed packages on all platforms (1167322)

  • Graphics: The amount of GPU memory available on integrated GPUs is not reported correctly. (1127485)

  • Graphics: Updated documentation for LODGroup (949239)

  • IL2CPP: Correct an intermittent crash when a managed exception occurs on a back ground thread while the process is shutting down.

  • IL2CPP: Fix occasional crash on Posix platforms when exiting Unity player when the generated C++ code is built in debug configuration. (1151572)

  • IL2CPP: Fixed a performance issue with IL2CPP lumped builds.

  • IL2CPP: Fixes an issue with the debugger agent passing an uncaught message exception to the debugger client even if the exception was actually caught. (1124910)

  • IL2CPP: Handle out marshaling of StringBuilder arguments for p/invoke. (1162547)

  • Input: Apple Pencil will be correctly recognized on iOS in the new input system on newer iPad devices (1141002)

  • iOS: Apps should no longer thrown an NSInvalidArgumentException when accessing WebCamTexture.devices and permission has been denied. (1160639)

  • iOS: Directory plugins which are not supported iOS plugins (.framework or .bundle) will be properly copied to the Xcode project (1129771)

  • iOS: Fix incorrect splash screen resolution strings in Player Settings (1156283)

  • iOS: Fixed "Process symbols" Xcode build step from beeing added on each Append build (1145430)

  • iOS: Fixed an issue where OnEndDrag was not called when using Unity Remote in certain cases. (872909)

  • iOS: Fixed cursor in input field not being synced to actual text entry point (1138258)

  • iOS: Fixed display disconnection over AirPlay resulting in crash when checking for Display.active (1163861)

  • iOS: Fixed keyboard done/cancel button having fixed size resulting in "bad things" happening with localization (1142416)

  • iOS: Fixed missing symbols when script debugging enabled (1156704)

  • iOS: Fixed Product Bundle Identifyer to be set in Xcode Packaging Build Setting (1140420)

  • iOS: Fixed ReadPixels failing when using P3 Color Gamut (1145198)

  • iOS: Fixed simulator build on xcode11 beta (1163876)

  • iOS: Launch Screen XIBs will no longer be added when Launch Screen is set to None (1151334)

  • iOS: Screen.safeArea value will no longer be different on Awake and on Start on devices that have a notch (1144368)

  • iOS: SystemInfo.systemMemorySize should no longer under-report Physical Memory (1155192)

  • Kernel: field serialized as reference crashes unity when an UnityEngine.Object is stored in it using an interface. (1154723)

  • Kernel: Fixed job index allocation contention which could cause multiple seconds of stalling while using jobs.

  • Kernel: NativeArray no longer allow nesting other types tagged NativeContainer, to prevent hard to diagnose memory corruption bugs

  • Kernel: Optimisation of the JobQueue inner loop which had a performance regression since 2019.1

  • Kernel: SerializedObjects targetting a isntance with a missing/broken script could lead to crashes (1152271)

  • Linux: Fix Linux editor crashing when resizing the editor window during a player build (1168815)

  • Linux: Input.mouseScrollDelta returns reversed values in Linux player (1149657)

  • Linux: Linux services window now responds to dragging properly. (1115130)

  • Linux: UnityWebRequest failing https connection if system certificate store contains unreadable certificates (1151555)

  • macOS: fix for editor crash on certain project settings. (1167734)

  • macOS: Fix MultiDisplay keyboard/mouse input to work on standalone player build

  • macOS: Fix retina resolution support for secondary displays when using MultiDisplay

  • macOS: Fixed crash when using Tex2DArray with MSAA on Metal. It will be created where supported, and MSAA disabled if not (1163393)

  • macOS: Fixed metal not working in batchmode (1166742)

  • macOS: [Metal] Fixed excessive fencing causing all GPU workload to be serialized

  • Multiplayer: Fix for Unity crash when calling NetworkTransport.Send with wrong connectionId (1128967)

  • Package Manager: Fix Package Manager window resizing and install/remove button dissapearing (1170710)

  • Package Manager: Fixed a regression in the package name validation which incorrectly allowed 231 characters instead of 214 as well as invalid characters

  • Package Manager: Fixed an issue on Mac and Linux that caused Git-based dependencies relying on Git LFS to fail with an error even if Git LFs was installed.

  • Package Manager: Fixed an issue where a partial copy of a package could be created in the global cache if the tarball extraction process was interrupted.

  • Package Manager: Fixed an issue where concurrent Package Manager API operations could result in undefined behavior.

  • Package Manager: Fixed an issue where packages would not get automatically resolved after repairing the package.json file of a file: dependency.

  • Package Manager: Fixed an issue where the searchAll operation could hang on a slow internet connection.

  • Package Manager: Fixed Git package submodules not being synchronized when a revision was set in the Git package URL. (1146083)

  • Package Manager: Fixed issues where a package could be partially copied, or could contain read-only folders if the copy operation from the global cache to the project cache was interrupted.

  • Package Manager: Fixed issues where a package could contain read-only folders if the installation process was interrupted, which would make it difficult to delete parent folders without advanced file manipulations.

  • Package Manager: Fixed missing changelog link for core packages (1171169)

  • Package Manager: Fixed missing reference to post processing that caused 3d with extras template to load with errors. (1158918)

  • Package Manager: Fixed Obsolete properties show up in the public docs (1135114)

  • Package Manager: Fixed the Search API when using a scoped registry that does not support the "-/all" npm legacy API, like Artifactory.

  • Package Manager: Fixes removing a dependent package via Package Manager gives an error that the package doesn't exist (1160809)

  • Package Manager: Package names longer than 19 characters are truncated (1144661)

  • Package Manager: Replaced "Import in project" by "Import into Project" for package samples in Package Manager UI window (1156690)

  • Package Manager: Start search in Package Manager UI window when pressing CTRL-F (1170019)

  • Particles: Apply fade and soft particle properties to the Emissive color of the Standard Particle Shaders.

  • Particles: Ensure sub-emitter rotation is inherited from the parent system. (1168251)

  • Particles: Fix assert in Debug builds due to bad handling of SIMD aligned particle data (1150149)

  • Particles: Fix incorrect scaling of the Shape Module Transform Gizmo. (1129908)

  • Particles: Fixed error messages when trying to use Prewarm with a Particle System whose particles have infinite lifetimes. (1157277)

  • Particles: Fixed Particle System bounding box location when using Custom Simulation Space, or spawning particles from a MeshRenderer or SkinnedMeshRenderer. (1057306)

  • Particles: Fixing issues when pressing 'f' to focus on the selected Particle System, when that system contains no particles. (1139865)

  • Particles: Remove a redundant grab-pass if a Particle System is not playing. (1159683)

  • Physics: 2D Capsule overlap/cast queries where the capsule is in the horizontal orientation now produce correct results. (1105944)

  • Physics: Child Collider2D in a different Z position now renders correctly when displayed outside of "2D" view mode. (1061344)

  • Physics: Editing a Collider2D now stays in edit mode when making any collider change. (1090438)

  • Physics: Fix crash in Cloth::Raycast that happened when no mesh was assigned (1154566)

  • Physics: Fix crash that happened when an inactive sleeping child body was re-parented and activated (1123490)

  • Physics: Fix the new physics settings not appearing correctly, and not having tooltips (1167406)

  • Physics: Fixed choppy update of cloth constraints brush. (1106607)

  • Physics: Fixed Cloth constraint/collision nodes don't update position if cloth is moved using transform sliders (1139589)

  • Physics: PolygonCollider2D used by CompositeCollider2D now shows outline whilst editing. (926739)

  • Physics: Removed the hidden MeshCollider component that was added to all the Cloth game objects for the brush placement (1101598)

  • Physics: Rigidbody2D interpolation set during runtime now correctly interpolates. (1135129)

  • Physics: Selecting "Reset" on an EdgeCollider2D or PolygonCollider2D component whilst editing them now correctly updates the editing gizmo. (1154593)

  • Playables: Fixed ScriptPlayable traversals to call ProcessFrame in PostOrder instead of PreOrder. (1094035)

  • Playables: Playables now display an error when trying to bind the same playable to multiple outputs (1135116)

  • Player: Mac: fix some cases where even if the old input backend was turned off, we would still process input for it (1147574)

  • Player: Reduced SerializedFile memory usage (939830)

  • Prefabs: Fixed modifying and deleting prefab asset in Prefab Mode with a Light Probe Group continuesly showed an error dialog.

  • Prefabs: Override indicator didn't show when the Renderer Module was enabled or disabled in the Particle System (1053096)

  • Prefabs: ParticleSystemRenderer appeared when the ParticleSystem component was removed from the prefab instance (1151391)

  • Profiler: Fixed a crash that happened when the Profiler ran out of memory budget on Job threads. (1169456)

  • Profiler: Fixed a memory leak that happened when the job debugger held onto the scheduled fences. (1156327)

  • Profiler: Fixed an issue with release profiler markers used with Profiling.Recorder API. (1154041)

  • Profiler: Fixed duplication of some graphics backend profile markers so they work correctly with the Recorder API (Gfx.CreateTexture, Gfx.MapTexture, Gfx.UnmapTexture, Gfx.CopyTextureData, Gfx.IntegrateTexture)

  • Profiler: Fixed Hierarchy View performance regression due to thread dropdown. (1156675)

  • SceneManager: Only do validation when dropping when using sub-scenes (not on every drag event)

  • Scripting: Fix issue with GameObject.TryGetComponent allocating in some cases when the component does not exist. (987148)

  • Scripting: Fixed crash when calling method with 'in', 'out' or 'ref' parameter using GameObject.SendMessage. (1167919)

  • Scripting: Fixed TouchScreenKeyboard API so that it behaves sensibly on platforms that don't have onscreen keyboards.

  • Scripting: Handle managed exceptions triggered from Burst jobs. (1152060)

  • Scripting Upgrade: Fix crash when inspecting large collections in debugger. (1130912)

  • Scripting Upgrade: Fix DllNotFoundException and EntryPointNotFound exceptions when using SslStream on some platforms. (1022228)

  • Scripting Upgrade: Fix FileSystemWatcher not working on Windows when targeting .NET Standard 2.0 API Compatibility Level. (1066732)

  • Shaders: Editor crash on the Shader inspector keywords (...) button (1156321)

  • Terrain: Added button for user to enable any disabled Terrain inspectors. (1154683)

  • Terrain: Added controls for renderingLayerMask (used by HDRP to control lights) to Terrain. (1160785)

  • Terrain: Fix texture on a Terrain is painted in a square shape which only has Textured border when Graphics API for Windows is set to Vulkan (1138011)

  • Terrain: Fixed -Terrain Need to remove .5 clamp from Stamp Height shader pass (1137135)

  • Terrain: Fixed an issue where changing terrain resolution creates seams along the borders of the tiles.

  • Terrain: Fixed an issue where the terrain tool APIs (Hidden/Terrain/TerrainLayerUtils) were not available in Standalone Builds (1148337)

  • Terrain: Fixed issue. Terrain details per resolution clamped from 0 to 1. (1171579)

  • Terrain: Fixed Terrain border seams appearing after resizing control map (splatmap) (1161101)

  • Terrain: Fixed Terrain brush raycast precision issues when the editor camera was far from the world origin (1171938)

  • Terrain: Fixed Terrain LOD Trees are placed at wrong positions when painted (1087104)

  • Terrain: Fixed Terrain slider control handles to not disappear when set to minimum value (1151094, 1151115)

  • Terrain: Fixed Terrain tree painting tool to display a circular brush preview (1104293)

  • Terrain: Resizing Terrain splatmap now correctly registers Undo (1161102)

  • Terrain: Terrain control map (splatmap) resize is no longer corrupted by using a linear color space (for example in HDRP) (1160831)

  • Terrain: Terrain holes support added

  • Terrain: Terrain now fixes up splatmap resolutions if they are out of sync between the TerrainData and the embedded Texture (1137057)

  • Timeline: Fixed Cogwheel icon is blurred at 150% or more for Timeline Window (1154623)

  • Timeline: Fixed Override Tracks Menus not properly working with multi-selection (1124353)

  • Timeline: Fixed rotation properties not included in animation mode snapshot when previewing with Timeline.

  • Timeline: Fixed signals and notifications not firing on Animation Override Tracks (1163409)

  • Timeline: Fixed wrong context menu appearing when right clicking a marker in the marker track (1133592)

  • UI: 0 (1173065)

  • UI: Adding uv2 and uv3 copying from the UIVertex AddVert overloaded API

  • UI: Fix performance issues with animation by not dirtying the layout if a animation updates the items.

  • UI: Fixed issue with Canvas being presented in reverse to its Sort Order when Instantiating a GameObject with a Canvas (1154659)

  • UI: Fixing issue where rich text tags would get verticies generated causing very large vertex buffers.

  • UI: removing the ref requirement from the AllSelectablesNoAlloc

  • UI: uGUI Dropdown when selected now uses the raycasters of the parent canvas if available. (1152181)

  • UI: Update SetChildAlongAxis to have matching SetChildAlongAxisWithScale that takes a scale as default values will cause confusion in which function needs to be used

  • UI Elements: Add a Breadcrumb like element to UIElements Toolbars

  • UI Elements: Allow setting ToolbarSpacer and ToolbarMenu variants through styling rather than code only

  • UI Elements: Border radiuses are now clamped independently in their x and y axes.

  • UI Elements: Calling SetValueWithoutNotify() on Sliders now properly update visuals (1167872)

  • UI Elements: Changes to border width now triggers a repaint and are shown immediately (1167305)

  • UI Elements: class, content-container and style are now part of the UIElements schema (1142631)

  • UI Elements: Event callbacks on composite elements do not have to be registered on the internal elements

  • UI Elements: Fix contextmenu positioning in UIE Debugger (macOS/Cocoa) (1143412)

  • UI Elements: Fix generateVisualContent with textures doesn't show textures on screen (1162371)

  • UI Elements: Fix issue with UXML template instances not resolving names correctly. (1159024)

  • UI Elements: Fix NullReferenceException when reducing size of bound array field (1158337)

  • UI Elements: Fix ObjectFields not fetching components according to their type (1131114)

  • UI Elements: Fix opacity and display USS property support in UIElements. opacity now propagates correctly down the visual tree. (1160430)

  • UI Elements: Fix styling problems with Toolbar Searchfield (1117293)

  • UI Elements: Fixed assertion fired when drawing an empty border. (1165892)

  • UI Elements: Fixed border widths percent which must apply to the border box of the current element. (1162930)

  • UI Elements: Fixed Editors written in UIElements not getting rebound to the SerializedObject after a soft refresh of the InspectorWindow (like when you add a new component). (1156233)

  • UI Elements: Fixed fuzzy text when doing a frame selection in GraphView (1155283)

  • UI Elements: Fixed potential instability or non-determinism caused by loading a resource from a static InitializeOnLoad constructor.

  • UI Elements: Fixed seams in UIElements borders. (1168489)

  • UI Elements: Fixed stale property field foldout title when using bindings. (1142565)

  • UI Elements: Introduce support for proper references between UXML files as well UXML and USS files.

  • UI Elements: It is now possible to create UXML and USS assets in the Editor (Assets/Create/UIElements menu) (1141318)

  • UI Elements: Panel.contextualMenuManager is now public

  • UI Elements: Pointer events

  • UI Elements: Prevent out-of-bound UVs and overlapping geometry for 9-slices (1156509)

  • UI Elements: Read-only text field is now really read-only (1158450)

  • UI Elements: Shift tab in multiline text field now focuses previous control (1140811)

  • UI Elements: Textfield padding is now handled correctly (1145272)

  • UnityLinker: Fix UnityTls being incorrectly stripped with Medium and High Managed Stripping Levels.

  • Universal Windows Platform: Fixed benign assert message firing when using TextMeshPro edit boxes (1164482)

  • Universal Windows Platform: Fixes InputField not displaying active IME composition updates (1158262)

  • Universal Windows Platform: Fixes InputField not selecting text when it receives focus (1157041)

  • Version Control: Added editor setting to disable VCS icon overlays (1155175)

  • Version Control: Editor setting for VCS mode defaults to "Visible Meta Files" now, including when doing Reset on the settings

  • Version Control: Fix errors when doing Revert on Packages/manifest.json asset from Version Control window (1161627)

  • Version Control: Fixed 'file not on client' warning when checking out an empty folder (588429)

  • Version Control: Fixed bad inspector performance regression when Perforce is used (regressed in alpha 8) (1170427)

  • Version Control: Fixed Binary file type not set to Perforce when a previously text-only asset gets a binary-only object into it (1141846)

  • Version Control: Fixed bug that would make text assets with binary sub-assets have an incorrect file type flag sent to Version Control plugin (i.e. text instead of binary). (851278)

  • Version Control: Fixed Provider methods not updating Editor after changes to assets are made (1030962)

  • Version Control: Fixed regression that prevented VCS Provider tasks to finish while editor is in play mode (1140954)

  • Version Control: Fixed Script Execution Order inspector being all disabled when Perforce is used (regressed in alpha 8) (1169674)

  • Version Control: Fixed Submit not working if files outside of project folder are checked out (1139507)

  • Version Control: Fixed version control window selection highlight being of wrong color in Linear color space. (956944)

  • Version Control: Improved error messages when trying to checkout an immutable prefab. (1159836)

  • Version Control: In Version Control window, allow dragging files between changesets if they are in different projects but the same workspace (543596)

  • Version Control: Inspector VCS status bar no longer displays two rows when asset and .meta state is different; instead the label & tooltip reflects that.

  • Version Control: Inspector VCS status bar properly displays "disconnected" state now

  • Version Control: Project settings editor no longer displays two VCS status bars

  • Version Control: ProjectSettings and QualitySettings mark themselves as "modified" much less often, when setter APIs with identical values as before are called on them. (1151097)

  • Version Control: Reduced the amount of unnecessary logout commands that Perforce plugin does (705725)

  • Video: Added extra feedback when video transcoding fails on Windows (1103415)

  • Video: Hardware decode is not working (1024737)

  • Video: Improved UI for global transcode options to avoid confusion when options are unapplied (1095883)

  • Video: iOS Player crashes when project build includes Video Player (1157930)

  • Video: Video alpha channels are flipped vertically when transcoding to H264 on Mac OS (1165238)

  • Video: Video Clip fails to upload to Cache Server when upgrading an old project to a newer version of Unity (1087082)

  • Video: Video preview window is blank upon transcoding. (1170157)

  • Video: VideoPlayer leaks memory when in Play mode (1168659)

  • Video: VideoPlayer leaks memory when set to a Camera target (1164058)

  • Video: When one makes a seek to a non-zero frame and then immediately a seek to 0, Video freezes for a while. (1162426)

  • Video: WindowsVideoMedia error 0x8007007b is thrown when importing an AssetBundle with video in it. (1168061)

  • WebGL: Fix mouse drag event in WebGL (1109260)

  • WebGL: Fixed an issue where WebGL build would fail if locationPathName contains a trailing slash. (1150979)

  • WebGL: Fixed an issue with stuck keys when canvas loses focus in WebGL (1129894)

  • WebGL: Fixed audio playback issues with multithreaded builds (1109255)

  • WebGL: Fixed IMGUI events not working when input processing is set to "Input System Package" only.

  • WebGL: Fixed issue with AudioSource.time returning incorrect value while AudioSource is paused in WebGL (976669)

  • WebGL: Fixed mouse position and delta coordinates in the new input system being inverted

  • WebGL: Fixed networking issues with multithreaded builds (1119982)

  • Windows: Fix for exception triggering when closing player/editor (1161538)

  • Windows: Fix Touch.Radius always returning 0 on Windows Editor and Standalone Player (1119934)

  • XR: Added APIs around TrackingOrigins and Boundary points to UnityEngine.XR.XRInputSubsystem.

  • XR: Can now cast from UnityEngine.XR.InputFeatureUsage to UnityEngine.XR.InputFeatureUsage

  • XR: Fix for Vulkan standalone player with single-pass instancing showing black screen in HMD (1130342)

  • XR: Fix jitter when using multipass rendering on Lumin (1160523)

  • XR: Fix player crash when using ARcore and multi-threaded rendering (1158392)

  • XR: Removed UnityEngine.Experimental.XR.XRExperienceSubsystem. APIs have been moved to UnityEngine.XR.XRInputSubsystem

  • XR: UnityEngine.XR.InputDevices that are default constructed can no longer be valid or reference existing devices.

  • XR: XR.InputDevice.Characteristics is a new series of flags describing how an XR device works, and what kind of features it can have. As a result XR.InputDevice.Role is now obsolete.

  • XR: XR.InputDevice.OnConfigChanged now let's you know if a an InputDevice has changed it's characteristics at without disconnecting.

  • XR: XR.InputDevices.GetDevicesByCharacteristics now let's you filter devices by characteristics. As a result, XR.InputDevices.GetDevicesByDeviceRole is now obsolete.

  • XR: XRSDK: fix for render viewport scale Jitter when render viewport scale changes continuously (1170112)

System Requirements

For development

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

CPU: SSE2 instruction set support.

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

The rest mostly depends on the complexity of your projects.

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

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

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

For running Unity games

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

  • Desktop:

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

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

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

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

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

Changeset:
b073d123dd5d

Third Party Notices

For more information please see our Open Source Software Licenses FAQ on the Unity Support Portal

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it