Search Unity

Unity 2019.3 beta

Get early access to features in the upcoming full release now.

Download Unity 2019.3b

Unity 2019.3 improvements

The last beta release of the 2019 TECH cycle, Unity 2019.3b, is here with lots of new features, improvements, and a completely refreshed interface. Join the beta and explore the new Input System, post-processing in the Universal Render Pipeline (formerly LWRP), physics updates, faster in-Editor iteration times, and the first preview of ray tracing in Unity.

Download the 2019.3 beta
Unity 2019.3b

New in 2019.3b

  • Revamped Editor UI
  • New Input System (Preview)
  • Ray Tracing in HDRP (Preview)
  • Universal Render Pipeline (formerly LWRP) updates
  • New Enter Play Mode options
  • Animation Rigging updates
  • Introducing the Unity Accelerator
  • And much more

Revamped Editor UI: New icons and font, visual feedback, and more

The updated Editor UI includes uniform icons and full high-DPI support. It also features a new font (Inter), which is more legible and scales well across many different UIs and display types. We’ve also added visual feedback for the hover state control to improve usability and make the UI more responsive.

New Input System (Preview)

This version of the new Input System is more powerful, flexible, and configurable than the traditional Input Manager. Try it out and let us know what you think on the forum!

Ray Tracing in HDRP (Preview)

The DXR API (Experimental feature) in the HDRP package targets applications for the engineering and architecture industries. Some of the implementations included are directional and area shadows, GI, reflections, and transparencies.

In the Unity Editor, you can find Raytracing Shaders and Raytracing Acceleration Structures with the API needed to create/build/update the structures and dispatch/bind properties for the shaders.

Universal Render Pipeline (formerly Light-weight Render Pipeline) updates

The Universal Render Pipeline targets lower-end devices but is also able to scale up for larger productions. It now includes post-processing effects.

New Enter Play Mode options

These options allow you to disable domain and/or scene reloading from the Enter Play Mode process when there are no code changes. This makes it much faster for you to prototype and iterate.

Animation Rigging Updates

You can now preview your animation rigging and keyframing in Timeline for faster iteration and to take advantage of Timeline tools. This enables powerful multi-track layered animation workflows. Animators can now blend multiple clips with animated rig overrides to author unique animations.

Speed up your team with the Unity Accelerator

The Unity Accelerator is a local network proxy and cache service that speeds up iteration times for two major scenarios – source code download through Collaborate and asset pipeline importing. This improved workflow will substantially reduce the time spent waiting for routine blockers, getting you and your team back to doing what is important: creating!

The Unity Accelerator is a standalone tool that is now available for download on OSX, Windows and Linux.

Learn more in this blog post.

Get a chance to win an NVIDIA GeForce RTX™ 2080 GPU

Get a chance to win an NVIDIA GeForce RTX™ 2080 GPU

By participating in the 2019.3 beta, you have a chance to win one of four GPUs that we’re giving away in partnership with NVIDIA.

To enter the drawing, all you have to do is to identify and report at least one unique bug during the 2019.3b cycle and add “#Beta2019Win_NVIDIA” in the report description (the “Submission”). The sweepstakes open at 00:01 am PT on August 27 and the submission period ends at 23:59 pm PT on October 28, 2019.

No purchase necessary. Void where prohibits. Please review the official terms and conditions. The winners will be contacted directly.

What to expect from a beta

As with any beta program, you’ll have early access to new features and will be able to assist in the final steps of their development. That means you’re likely to experience Unity as less stable than a final version.

The beta phase begins once all scheduled major features have been included and a quality baseline has been established. Several beta versions will be made available during this phase and quality will improve with each iteration.

Unity 2019.3 beta
Beta tester newsletter

Sign up and receive a news about the beta, as well as tips on how to be an effective beta tester.

RSS feed

Subscribe to our beta feed and get access to the latest beta as soon as it's released.


Unity 2019.3.0f3 release notes

Known Issues in 2019.3.0f3

  • --: [Performance Regression] PrefabMergeTests - OverwritePrefab_WithAnotherComplexGameObject is significantly slower (1203367)

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

  • Android: 64 bit Build with Physics.Processing runs at a very low FPS (1186295)

  • Animation: Animator.Update CPU time spikes when multiple animations are playing (1184690)

  • Asset Bundles: Building asset bundles causes an assertion pluginAppendices.size() <= 1 on the Editor (1203242)

  • Asset Import Pipeline: Batch editing assets is massively slower with Asset Pipeline v2 compared to v1 (1200842)

  • Asset Import Pipeline: [Performance Regression] Prefab PerformanceTest: MeasureSaveTimeForPrefab(20,1,1,1000) is significantly slower (1203358)

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

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

  • Graphics - General: Creating temporary RenderTextures with a RenderTextureDescriptor severely bloats Texture Memory (1200485)

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

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

  • Graphics - General: [Graphics General] Black Screen appears on launching the Standalone app built from OpenGLES Graphics API (1190472)

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

  • IMGUI: Performance regression when focusing and interacting with Clip Inspector in Animation tab of an fbx model (1195759)

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

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

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

  • Package Manager: Fixed an issue where Unity could hang for a few seconds when using PackageInfo.FindForAssembly after a domain reload. (1203383)
    This is a change to a 2019.3.0 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2019.3.0f4.

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

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

  • Physics: Make sure all the physics public API setters only call SetDirty when the serialised properties were actually changed (1172914)
    Fixed in 2019.3.0f4.

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

  • Profiler: GPU Profiling is not supported with Graphics Jobs enabled. The Profiler now displays this and similar GPU profiling support status information in the GPU profiler Module. (1182401)
    This is a change to a 2019.3.0 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2019.3.0f4.

  • Profiling: Profiler stucks with Autoconnected Player option and can't be switched back to Editor when AndroidPlayer is selected (1193777)

  • Scene Management: [Improved prefabs] Editor crashes on applying joint dependency override when Rigidbody is removed (1163986)

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

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

  • Shuriken: Billboard Particle System rolls in the Game View with "Allow Roll" disabled when a Camera is rotating around it (1081596)

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

  • Terrain: [Lightmap] OpenRL error occurred: RL_INVALID_VALUE errors are thrown on erasing the Painted holes with auto GI bake (1202457)

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

  • Themes: Rich text bold formatting is broken for the Inter font (1203319)

  • Visual Effect Graph: NullReferenceException errors are thrown on resetting with Simple Heads & Spark template (1199605)

New 2019.3.0f3 Entries since 2019.3.0f1


  • Android: Fix Vulkan on Android 8.1 and older. (1198494)
    This is a change to a 2020.1.0a14 change, not seen in any released version, and will not be mentioned in final notes.

  • Animation: Fixed crash when clicking on 'Add Property' in the Animation Window when a component has Vector2Int parameters. (1198661)

  • Animation: Fixed issue when trying to step backwards frame by frame in the animation window and some frames would be skipped. We now search based on frame numbers before looking comparing time values to avoid missing valid key frames (1151612)
    This has been backported and will not be mentioned in final notes.

  • Animation: Fixed missing root node in avatar when regenerating avatar for Animation Stream. (1196211)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Asset Import: Changed import errors on .c4d and .sbsar files to warnings, and changed warnings for psd matte to info. (1184085)

  • Asset Import: Fixed issue where AO maps are not assigned when importing StingrayPBS materials from FBX. (1193370)
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Asset Import: Fixed the Delete tag on assets when importing/updating assets (1179668)

  • Asset Pipeline: Fixed issue where failed preview generation caused infinite import (1202254)

  • Asset Pipeline: Improved messages for deprecated components so that users would know which Scenes/Game Objects have these problematic missing components. (1179905)
    This has been backported and will not be mentioned in final notes.

  • Bug Reporter: Fixed an issue where the Bug Reporter would fail to send the report of a crash bug if any of the project scripts are open in the Visual Studio. (1195002)
    This has been backported and will not be mentioned in final notes.

  • Editor: (backport) Fixes project settings unable to go over build settings in linux editor (1172127)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fix a bug that cause UnityEvent derived types with a private event field not to be picked up by the inspector (1196591)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fix crash when calling MonoImporter.GetExecutionOrder(null) (1181615)
    This is a change to a 2019.3.0a3 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Fix Duplicating a GameObject with a child prefab instance would crash if prefab was destroyed in OnEnable (1194137)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fix first menu item opens unrelated window (1198618)

  • Editor: Fixed a couple of styling issues with headers in the Inspector and Project browser (1199584)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fixed crash when having a list of types containing SerializeReference (1187296)

  • Editor: Fixed crash when undo is pressed after applying changes in prefab of SerializedReference objects (1202521)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fixed crash when using SerializeReference with a List of interfaces in player build (1195559)
    This is a change to a 2019.3.0b8 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Fixed editor crash when changes are made in prefab applied to MonoBehaviours with SerializedReference objects (1201433)

  • Editor: Fixed Inspector not reflecting the information of selected GameObject in Hierarchy after reverting changes to Sprite (1190457)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fixed NullReferenceException being thrown when showing prefab overrides and the prefab contains a missing script. (1197599)
    This is a change to a 2019.3.0a3 change, not seen in any released version, and will not be mentioned in final notes.

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

  • Editor: Optimized the expansion of lines and rects for theme extended styles (1201249)
    This has been backported and will not be mentioned in final notes.

  • Editor: The drag and drop state is now cleaned after a drag operation (1199828)

  • Graphics: Fix Hierarchy performance regression (case 1158368) .Improved performance for TreeView creation. (1158368)
    This has been backported and will not be mentioned in final notes.

  • Graphics: Fixed crash when using UnityEngine.Rendering API AsyncGPUReadback.RequestIntoNativeArray(ref NativeArray<T> output, Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback).
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Graphics: Fixed detail shaders not updating after render pipeline has been changed (1170443)

  • Graphics: Fixed editor crash on terrain used with planar reflection by skipping QuadTreeRenderNodes with invalidated meshes (1194200)

  • Graphics: Fixed leak of ID3D11ShaderResourceView* caused by Texture2D.CreateExternalTexture/UpdateExternalTexture
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Graphics: Fixed memory leak when using graphics jobs on Vulkan (1199895)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Graphics: Fixed Vulkan feature usage declaration in Android manifest (1198652)
    This has been backported and will not be mentioned in final notes.

  • Graphics: Metal: Fixes SRP-Batcher crash issue when using iOS target in the Editor (1192129)
    This has been backported and will not be mentioned in final notes.

  • Graphics: Update SRP Graphics package to 7.1.6

  • iOS: Fix crash when forcing Upside Down orientation on devices that don't support it. (1192949)
    This has already been backported to older releases and will not be mentioned in final notes.

  • iOS: Fixed "Internal error, unrecognized message" when building. (1185078)

  • iOS: Fixed non-full-screen or in-the-middle-of-the-rendering clear ignoring depth value (1193105)

  • Linux: Fix Vulkan on Linux with Vulkan Loader 1.0 (1199524)
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Linux: Fixed numeric keypad not respecting num-lock for Input Fields. (1188665)
    This has been backported and will not be mentioned in final notes.

  • macOS: Fix window flickering when being dragged between monitors. (1109302)

  • Package Manager: Fixed an issue that prevented creating a project on an SMB shared network. (1172278)

  • Prefabs: Fix performance regression for ApplyModifications prefab tests (1195189)
    This has been backported and will not be mentioned in final notes.

  • Profiler: Fix for exceptions thrown by the Networking and Memory profiler modules if the profiler window is left open and the editor restarted. (1198338, 1198768)
    This is a change to a 2019.3.0b11 change, not seen in any released version, and will not be mentioned in final notes.

  • Profiler: Fixed Vertical Scrollbar not working for Timeline view in Profiler Window. (1196588)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fix AssemblyUpdater incorrectly removing assembly references when the only reference to the assembly was from an attribute (at assembly level). (1175254)

  • tvOS: Fixing case 1171490 TouchScreenKeyboard.visible does not get set to false when the keyboard is dismissed on tvOS. (1171490)

  • UI Elements: Fixed issues with UIElements group transform and stencil clipping (1197094, 1197896)

  • Universal Windows Platform: Fixes UWP Desktop TouchScreenKeyboard not returning correct active and status values. (1137074)
    This has been backported and will not be mentioned in final notes.

  • Video: Disabled video hardware-assisted decoding on Windows/UWP while a GPU dedicated memory leak is being investigated.
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Video: [Windows 7] VideoPlayer.Prepare causes a stack overflow crash if Video is loaded from asset bundle (1190915)

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

  • Windows: Fixed player hanging when alt tabbing while in exclusive fullscreen mode. (1196536)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Windows: Multi-display: Fix non-primary display aspect ratio in windowed mode (1134231)
    This has already been backported to older releases and will not be mentioned in final notes.

  • XR: Enable multi-pass rendering using Vulkan for XR (built-in rendering pipeline - SRP support coming in other fixes) (1190038)

  • XR: Fixed Holographic Emulation Window remoting bug that caused Unity to remote to Hololens 1 devices when Hololens 2 was selected.
    This has been backported and will not be mentioned in final notes.

  • XR: Fixed remoting to V2 devices from UWP x64 apps.
    This has been backported and will not be mentioned in final notes.


  • XR: com.unity.xr.oculus@1.1.2 verified


  • UI Elements: Improved performance of picking operations (1194971)

Preview of Final 2019.3.0f3 Release Notes

System Requirements Changes

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


  • 2D: Collider 2D components and the Composite Collider 2D are now recomposited when there are offset and vertex distance changes while in outline generation mode.

  • 2D: Fix duplicate 2D template when creating a new project from Unity Hub (1186154)

  • 2D: Fixed an assertion message when Unity was launched with a Sprite Editor window docked from the previous session. (1169188)

  • 2D: Fixed an issue where Particle Systems in Sorting Groups are sorted incorrectly if they have a sorting fudge value. They are now sorted in the same way as other Renderers when in a Sorting Group.

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

  • 2D: Fixed an issue where the Legacy Sprite Packer dialog box shows an incorrect path to the Project Settings. (1167641)

  • 2D: Fixed an issue where the Undo function did not undo some items properly when painting Prefab Tiles onto a Tilemap. (1137692)

  • 2D: Fixed crash when Tilemap.CompressBounds is called in Tile.RefreshTile. (1172512)

  • 2D: SpriteRect visuals now display correctly when zooming in and out in the Sprite Editor window while creating a new selection. (1134295)

  • 2D: The Sprite Editor window now shows correctly after a package is reinstalled. (1125290)

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

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

  • Android: Fixed a regression where Application.Quit wouldn't kill app in some cases, which prevented some of the services from reinitializing on application relaunch.

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

  • Android: Fixed an issue on Android that caused the built project to show a black screen when using ARGB32 RenderTexture with HDR. (1063891)

  • Android: Fixed an issue that caused a black screen when enabling or disabling real-time light at runtime on Vulkan when using multiple render passes with MSAA. (1126522)

  • Android: Fixed an issue that caused Artifacts on Meizu MX5 when using GLES2 and realtime reflection probes. (1106542)

  • Android: Fixed an issue that caused procedural skyboxes to show black ground on Mali-400 GPUs. (1127106)

  • Android: Fixed an issue with GPU instancing on PowerVR devices. (1156362)

  • Android: Fixed an issue with Keystore paths that contained spaces, commas, full stops and other specific characters. (1141839)

  • Android: Fixed CPU core config detection for Galaxy S10 devices.

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

  • Android: Fixed RWBuffer on Adreno when using more than 65520 elements (1192125)

  • Android: Fixed signing of development builds so they use the debug key rather than the release signing key if available. (1172174)

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

  • Android: Fixed threading configuration when Multithreaded Rendering and Graphics Jobs are both enabled and Vulkan is used as the Graphics API.

  • Android: Input system package: Fixed an issue where KeyControl.displayName for external keyboards didn't match the selected OS keyboard layout. (1093828)

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

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

  • Android: QualitySettings.resolutionScalingFixedDPIFactor now works during run time. (1156467)

  • Android: Sensors now work correctly on Android 8.0 and higher when using the new input system. (1158508)

  • Android: Unity now correctly reports keyboard layout to input system package. (1093823)

  • Android: When AndroidBlitType.Never is used with Linear Rendering and SRP, the warning that displays now informs the user that linear-to-sRGB conversion is automatic. (1122492)

  • Android: [ETC2][OpenGLES2] When ETC2 fallback is set to 32-bit, half resolution, sprites in sprite atlas don't use the fallback (1175291)

  • 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: Ensure GetKeyLeftTangentMode and friends are thread safe. (1195048)

  • Animation: Fix applying override clip when using an override controller and a controller playable (1182581)

  • 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 the Controller field of an Animator would not react properly to Prefab overriding. (1162239)

  • 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 clicking on 'Add Property' in the Animation Window when a component has Vector2Int parameters. (1198661)

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

  • Asset Import: AnimationClip fileIds generated from a Model imported before Unity 3.2 now conserve their file IDs and references when opened in a 2019.1+ Project.

  • Asset Import: Changed import errors on .c4d and .sbsar files to warnings, and changed warnings for psd matte to info. (1184085)

  • Asset Import: Changed the Model Importer so that it no longer enforces the AnimationType setting on first import. You can now use the default Preset for this setting and you can change it during the OnPreprocessAsset or OnPreprocessModel callbacks in the AssetPostprocessor. (1152163)

  • Asset Import: Clearing mapping of bones of avatar should not lead to re-automapping on apply. (1142768)

  • Asset Import: Fixed a crash that would occur when an object that was already added to the ScriptedImporter context was destroyed before the import was finished. (1133565)

  • Asset Import: Fixed an issue in the Audio Importer preview where the clip didn't stop playing if you clicked the Play button a second time.

  • Asset Import: Fixed an issue with the Sketchup importer where some Scenes were generating empty Meshes during import. (1155424)

  • Asset Import: Fixed the Delete tag on assets when importing/updating assets (1179668)

  • Asset Import: Fixed the Model Importer to prevent splitting when using 16-bit index buffers for Meshes that have less than 65535 vertices but which have an index buffer size that can accomodate more than three times the elements (3 * 65535). (1143742)

  • Asset Import: The Plugin Importer no longer changes the meta file while opening a Project. (1145258)

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

  • Asset Pipeline: Fixed an issue with Unity sometimes not reloading Asset objects, after Asset DB2 introduced support for multiple import results. (1169784)

  • Asset Pipeline: Fixed cache server v1 vs v2 performance regression (1191356)

  • Asset Pipeline: Fixed issue where failed preview generation caused infinite import (1202254)

  • Asset Pipeline: Fixes cache server preferences defaults to port 10080 when n ot specified (1190163)

  • Asset Pipeline: Fixes editor crash on shutdown when changing project settings to use V2 instead of V1 (1191887)

  • Asset Pipeline: Now Unity saves any changes to the Default IP address property on the Cache Server preferences after the user presses Enter or clicks on another property in the Inspector. (1153920)

  • Asset Pipeline: You can now use nested Prefabs with the cache server.

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

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

  • DX12: Fixed an error in the Editor when changing color spaces resulted in an exception being thrown. (1123013)

  • Editor: Ctrl + F now sets focus on the Search field in the Settings window. (1169717)

  • Editor: Add new EditorWindow.HasOpenInstances() API endpoint to check whether an Editor window of type T is open.

  • Editor: Added Edit/Rename for Scene Hierarchy.

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

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

  • Editor: Disallow touching graphics API settings during playmode. (1194003)

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

  • Editor: Fix behaviour of 'SerializedProperty.managedReferenceValue' when a classes does not contain any instance object (1181373)

  • Editor: Fix first menu item opens unrelated window (1198618)

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

  • Editor: Fix managed reference instance field type resolution from a SerializedProperty that made Range/Delayed attributes fail (1197296)

  • Editor: Fix OS domain reload contextual submenu rebuilding (1193537)

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

  • Editor: Fix pptr remapping when prefab contains managed references (1187378)

  • Editor: Fixed flickering during drag & drop. (907336)

  • 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 crash that occurred when multi-selecting Visual Scripting Graphs in the Project window (1189693)

  • Editor: Fixed a crash using SerializedProperty on a Script with managed references after a string resize update (1181147)

  • Editor: Fixed a lag that occurred when viewports were fully concealed behind panels. (1140477)

  • Editor: Fixed a missing Script issue that occurred when minimizing and maximizing the Editor. (1095540)

  • Editor: Fixed a renaming issue in the Project browser that occurred when when switching directories. (1169986)

  • Editor: Fixed a small memory leak that occurred any time a contextual menu was opened. (850599)

  • Editor: Fixed an Editor issue on Windows where the Open Asset dialog did not display shortcut (.lnk) files. (1176433)

  • Editor: Fixed an error that occurred when double-clicking folders in the Project browser. (1151435)

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

  • Editor: Fixed an issue where deleting a GameObject and performing an Undo caused the selection to be lost. (1160914)

  • Editor: Fixed an issue where drop-down menus that contain large strings with unicode characters freeze when opened. (1119511)

  • Editor: Fixed an issue where framing the selected object in the Scene View Camera could cause the Move tool to render incorrectly. (1144461)

  • Editor: Fixed an issue where hotkeys with special keys were not accelerated properly. (1182428)

  • Editor: Fixed an issue where ReimportAll opened the wrong Project. (1160297)

  • Editor: Fixed an issue where resetting a Preset removed its Type and rendered it useless. (1147206)

  • Editor: Fixed an issue where Scene visibility data was lost when working with multiple Scenes. (1163991)

  • Editor: Fixed an issue where scroll bars in the Inspector window did not disappear after deselecting a GameObject. (1159191)

  • Editor: Fixed an issue where selecting Revert Factory Settings in the Layout menu did not delete custom Layouts. (1162824)

  • Editor: Fixed an issue where the content of a Text Asset was not displayed in the Inspector window. (1155781)

  • Editor: Fixed an issue where the Polygon Collider 2D tool would not exit when changing selection. (1182038)

  • Editor: Fixed an issue where the Scene Toolbar displayed the wrong icons when using the Hand, Orbit, and Zoom tools. (1164504)

  • Editor: Fixed an issue where the Scene Visibility icon was not highlighted when hovering over it next to the Scene row. (1141967)

  • Editor: Fixed an issue where Vector4 and Array types did not display values in the Inspector (1139928)

  • Editor: Fixed an issue where, when an Editor window fails to load, the window does not close and users cannot move or close it. (1146403)

  • Editor: Fixed an issue with Null Reference Exceptions occurring when previewing textures during Asset import. (1135750)

  • Editor: Fixed crash when having a list of types containing SerializeReference (1187296)

  • Editor: Fixed display issue in inspector through SerializedProperty with enum fields contained in polymorphic managed classes (1187893)

  • Editor: Fixed dragging and dropping to the bottom area of Inspector. (1152510)

  • Editor: Fixed editor crash when changes are made in prefab applied to MonoBehaviours with SerializedReference objects (1201433)

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

  • Editor: Fixed incorrect color space drawing inside OnGUI() in Game view for Linear color space projects.

  • Editor: Fixed issue on startup where "Unable to resolve reference" errors were emitted for precompiled .dlls that referenced non-existent .asmdef assemblies in Library/ScriptAssemblies .

  • Editor: Fixed issues that caused duplicate EditorTool instances to be instantiated. (1178894)

  • Editor: Fixed mouse movement after focusing a game object while in playmode. (1178064)

  • Editor: Fixed potential Null Reference Exception errors that could occur for Editors that implement OnSceneGUI(). (1148101)

  • Editor: Fixed the Preview pane in the Object selector.

  • Editor: Fixed touch issues with the Editor on Windows. MouseDown position is now more precise. Dragging a property value on the edge of the screen no longer increases the value exponentially.

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

  • Editor: GlobalMatrix is now calculated correctly when parenting to a scaled and rotated object. (1089827)

  • Editor: Improved Editor performance when marquee selecting objects in moderate to large Scenes. (1168454)

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

  • Editor: It is now possible to localize Packages.

  • Editor: Large serialized assets such as Texture2DArray and Texture3D now appear in the Inspector immediately. (1153174)

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

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

  • Editor: Make sure that 'SerializedProperty.managedReferenceFullTypename' is correct for classes with no fields. (1183452)

  • Editor: MenuItem shortcuts now ignore capitalization. (1154312)

  • Editor: Moved the Game view VSync toggle to the Game view Resolution popup.

  • Editor: Preferences window now shows now required NDK version.

  • Editor: Preserve PlayModeView state when switching to another PlayModeView and back (1194483)

  • Editor: Re-enabled CEF message loop pumping in Play mode. (1147718)

  • Editor: Save the current editor mode using its id instead of index (1184028)

  • Editor: The drag and drop state is now cleaned after a drag operation (1199828)

  • Editor: The Inspector now reacts faster when users click large binary Assets.

  • Editor: The Scene Visibility shortcut for Hide is now H. The shortcut for Isolation mode shortcut is now Shift+H

  • Editor: Unity now displays an error message if a Project contains .dlls with the same file names as Assembly Definition File assemblies. (1117125, 1143057)

  • Editor: Unity now ignores trailing spaces when saving Layout names (1168978)

  • Editor: Unity now prompts users to save changes when Windows shuts down. (941542)

  • Editor: Unity now sets the host view name when the actual view changes. (1169890)

  • Editor: Updated Windows Editor splash image.

  • Editor: NSPasteBoard is now initialized at the start of drag and drop operations. (780533)

  • GI: Fix erroneous lightmap atlassing happening when two terrains are identical and have same position. (1075531)

  • GI: Fixed a memory leak that happened after compiling OpenCL kernels when using the Progressive GPU Lightmapper.

  • GI: Fixed a memory report for Light Probes in the GPU Progressive Lightmapper.

  • GI: Fixed an error message, so it's more helpful when the Global Illumination albedo/emissive buffer update fails.

  • GI: Fixed an issue in the Progressive GPU Lightmapper that cause the Editor and baking to be slow. Also added support for 32bits indices. (1110661)

  • GI: Fixed an issue in the Progressive GPU Lightmapper that caused the Editor to shut down too slowly after baking. (1148686)

  • GI: Fixed an issue where the Generate Lighting button got stuck when you switched between Scenes that used different backends for baking. (1089737)

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

  • GI: Fixed the color coding of lights in the shadow mask in Scene View mode, so they now match their corresponding shadow mask channel color.

  • GI: Fixed the intensity of blue indirect light in the GPU Progressive Lightmapper. (1114555)

  • GI: Fixed the Progressive GPU Lightmapper, so there's no longer incorrect over-darkening at primitive intersections in conjonction with dilatation. (1119363)

  • GI: Fixed the Progressive Lightmappers so they now skip baking lightmaps and shadow masks if there are no affecting light sources. (1033410)

  • GI: Fixed transparency from an indirect ray in the GPU Progressive Lightmapper. (1086152)

  • GI: GPU baking with 1 bounces is faster than 0 bounces (1169748)

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

  • GI: Improved the speed of baking with the CPU Progressive Lightmapper when LODGroups are used. Biggest speed improvement where only LOD0 is marked as contributing GI and receiving GI via lightmaps. (1098027)

  • 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: 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 error in OpenGL ES shader translation that can cause 'undeclared variable' shader compile error.

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

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

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

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

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

  • Graphics: Fix stall in Canvbas.BuildBatch due to Geometry Jobs (1178300)

  • Graphics: fix the viewport for non-promary display when using multi display and proxy buffer to render (1140275)

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

  • Graphics: Fixed a crash where a ComputeBuffer could still be referenced after the object was destroyed (1124322)

  • Graphics: Fixed a regression that caused an increase in draw calls when you used static batching. (1098752)

  • Graphics: Fixed an issue that caused incorrect distance bands for CullingGroups. (962226)

  • Graphics: Fixed an issue where frustum culling used incorrect near and far culling planes when you set a custom culling matrix. (1156517)

  • Graphics: Fixed an issue where GPU instancing sometimes didn't work correctly on Vulkan when a shader didn't use all instancing constants. (1106866)

  • Graphics: Fixed an issue where importing an Asset with no bone weights caused an assert. (946809)

  • Graphics: Fixed an issue where the colour space parameter for a RenderTexture would be ignored if a default LDR texture format was requested. (1166271)

  • Graphics: Fixed an issue where the Preview Camera had an incorrect type. (1163371)

  • Graphics: Fixed an issue with the copy texture api to use proper texture formats (1173191)

  • Graphics: Fixed an issue with the reset functionality for Visual Effect Graph. (1158963)

  • 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 detail shaders not updating after render pipeline has been changed (1170443)

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

  • Graphics: Fixed editor crash on terrain used with planar reflection by skipping QuadTreeRenderNodes with invalidated meshes (1194200)

  • 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 issues with grabpass shader on Vulkan API (1187465)

  • Graphics: Fixed SetPixels/GetPixels when using SRGB formats. (1179921, 1179990)

  • Graphics: Fixed some documentation issues for the CommandBuffer scripting API.

  • Graphics: Fixed Stencil Rendering States so they don't update when you set anything via Shader.SetGlobalInt(). (922259)

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

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

  • Graphics: Make graphics job mode be a per platform setting (1076750)

  • 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: Resolve issue where Vulkan behaves like D3D11 when anisotropic filtering is enabled (1173747)

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

  • Graphics: Update SRP Graphics package to 7.1.6

  • Graphics: Updated default SRP packages and templates to version 7.1.5

  • Graphics: Updated documentation for LODGroup (949239)

  • IL2CPP: Allow DateTime.Now to work properly on some non-English locales in WebGL. (1160695)

  • IL2CPP: Avoid exception related to loading libc on platforms that don't support it.

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

  • IL2CPP: Fix a crash in the player when incremental GC is enabled and HttpClient requests are made in the ThreadPool. (1194209)

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

  • IL2CPP: Fixed symbol stripping from the executable in incremental builds. (1176071)

  • 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: Fixing an issue with retrieving default values from nullable method parameters via reflection. (1179877)

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

  • IL2CPP: Prevent a possible crash when incremental GC is enabled and the .NET thread pool is heavily used. (1190309)

  • IMGUI: Fixed the duplicate Save scene dialog issue on changing the Graphics API. (1181646)

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

  • iOS: "Process symbols" Xcode build step will no longer be added on each Append build. (1145430)

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

  • iOS: Fixed "Internal error, unrecognized message" when building. (1185078)

  • iOS: Fixed Airplay crash/assert on display connection. (1173096)

  • iOS: Fixed an issue that caused the text on Done and Cancel buttons to be partially replaced by ... when using the localized Japanese version. (1142416)

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

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

  • iOS: Fixed incorrect splash screen resolution strings in Player settings. (1156283)

  • iOS: Fixed non-full-screen or in-the-middle-of-the-rendering clear ignoring depth value (1193105)

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

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

  • iOS: The cursor in input fields is now correctly synced to the actual text entry point. (1138258)

  • iOS: Unity no longer adds Screen XIBs when Launch Screen is set to None. (1151334)

  • 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: Added correct dragging response to Linux services window (1115130)

  • Linux: Editor Crashes when creating a new node in the shader editor (1189182)

  • Linux: Fix building from source on Linux without the sysroot (1187425)

  • Linux: Fixed Input.mouseScrollDelta so appropriate scroll values are returned in the Linux player (1149657)

  • macOS: Added camera/mic usage strings to macOS (1159086, 1159356)

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

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

  • macOS: Fix window flickering when being dragged between monitors. (1109302)

  • 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 batch mode. (1166742)

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

  • Mobile: Editor, Android: Don't break the Icon UI when there are issues with Java or Android SDK. (1177292)

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

  • Package Manager: Fixed a regression with package name validation which incorrectly allowed 231 characters instead of 214, and incorrectly allowed invalid characters.

  • Package Manager: Fixed an error with documentation in which obsolete properties were appearing in package API documentation. (1135114)

  • Package Manager: Fixed an issue on macOS 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 that prevented creating a project on an SMB shared network. (1172278)

  • Package Manager: Fixed an issue where a local package (installed using a file path) would not get automatically resolved after repairing its dependency attribute in the package.json file.

  • 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 removing a dependent package via Package Manager gives an error that the package doesn't exist. (1160809)

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

  • Package Manager: Fixed an issue where using some npm registry backends as scoped registries would fail with an error like Cannot read property '0.0.1' of undefined. (1177614)

  • 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 the capitalization on the "Import into Project" label for package samples in Package Manager UI window. (1156690)

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

  • Package Manager: Long package names (longer than 19 characters) in the Package Manager UI are no longer truncated. Now you can resize the columns or hover over the name to read it from the tooltip. (1144661)

  • Package Manager: The Package Manager UI window now uses the Ctrl/Cmd+F shortcut to focus on the Search box. (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: Execute the Stop Action even if a system goes offscreen (1167771)

  • 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: Make each system in the Particle System pop-out window wider, to accomodate the ensure content is visible. (1184253)

  • Particles: Prevent crash if trying to use some modules without initializing them (1187445)

  • 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: Avoid crash by disabling the joint editor when the gameobject it's attached to is inactive (1173115)

  • Physics: Change the drive limits back to pre-2018.3 for HingeJoint, has to be forces instead of torques (1165338)

  • 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 the new physics settings not appearing correctly, and not having tooltips (1167406)

  • Physics: Fixed a bug in EdgeCollider2D or CompositeCollider2D (in Outline Mode) which resulted in bad collision detection when using very acute angles. (1084610)

  • Physics: Fixed a bug that allowed fractionally collinear vertex to be specified for PolygonCollider2D and CompositeCollider2D (in Outline mode) which resulted in bad collision detection. (1162291)

  • Physics: Fixed an issue when using OverlapCollider query on a CompositeCollider2D or EdgeCollider2D where the individual edge index were not being calculated correctly therefore producing incorrect results. (1174546)

  • 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: Fixup an ancient spelling mistake, where 'then' was used instead of 'than' (1159648)

  • 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: Update the ragdoll wizard to create components so that it's undoable and dirties the scene correctly (1151547)

  • 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: Fixed an IMGUI input in windows standalone players issue when the old input system is disabled. (1183394)

  • 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: Fixed that the Overrides popup window did not refresh after undo. (1112996)

  • Prefabs: Make Prefab Overrides dropdown comparison view label width match Inspector. (1180479)

  • 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: Added a minimum Scale for stacked charts so that the 0.1ms grid line stays visible (1175473)

  • Profiler: Fixed an issue where de-serializing older profiling data formats would cause the Editor to crash. (1180179)

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

  • Profiler: Fixed Audio Profiler view state restoring (1183981)

  • Profiler: Fixed broken CPU Profiler Module's detail drop down selection not working in Play Mode (1179845)

  • 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 high frequenzy rescaling of frame count label in toolbar (1181367)

  • Profiler: Fixed retention of splitter and viewtype state within session and across open/close cycles of the ProfilerWindow (1171353)

  • Profiler: Made the edges of Profiler icons in the Editor smoother on 4K+ displays (1140843)

  • Profiler: Made the Profiler's Record toggle store across sessions, by adding an option in the Preferences Window to toggle the behavior. (832717)

  • Scripting: Fix AssemblyUpdater incorrectly removing assembly references when the only reference to the assembly was from an attribute (at assembly level). (1175254)

  • Scripting: Fix DLL files targeting different builds using Define Constraints conflicting with each other when building the project. (1143118)

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

  • Scripting: Fixed a memory leak in icall lookup. (1156241)

  • Scripting: Fixed a memory leak that occurred when creating breakpoints. (1170031)

  • Scripting: Fixed an issue in which saving an invalid Version Define in the Asmdef Inspector would cause it to spam error messages to the console. (1167102)

  • 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: Getting the type on a null serialize reference will now return manageReference<> (1185791)

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

  • Scripting: Setting a manage reference value to null no longer throw an exception (1185555)

  • Scripting Upgrade: Fix failures to resolve UnityAPICompatibilityVersionAttribute type/crashes after running AssemblyUpdater. (1161578, 1175500)

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

  • Shaders: Fixed DX11-style TextureObject declaration with template type have type precision ignored (1174992)

  • Shaders: Fixed occasional bad code generated that uses temp int variables without declaring (1152497, 1158280)

  • Shaders: Fixed shaders not compilling sometimes when assigned to 'Preloaded Shaders' (1179977)

  • Shaders: The Unity shader compiler will now generate the correct glsl and metal shader code with dynamically indexing into an array in a constant buffer. (1181097)

  • SpeedTree: Fixed a crash that occurred while baking Global Illumination in imported SpeedTree Models that contained NaN values in the imported geometries. (1174420)

  • Terrain: Added a button for users to re-enable any disabled Terrain Inspectors. (1154683)

  • Terrain: Added controls for renderingLayerMask to Terrain, which HDRP uses to control lights. (1160785)

  • Terrain: Added support for Terrain holes.

  • Terrain: Fixed an incorrect 0.5 clamp in the Stamp Height Terrain shader. (1137135)

  • Terrain: Fixed an issue in the Terrain engine where LOD Trees were placed at incorrect positions when you painted them. (1087104)

  • Terrain: Fixed an issue when Terrain details density is low even when target strength has the highest value. (1157402)

  • Terrain: Fixed an issue where painted Textures appeared as a square with borders instead of the Brush shape you selected. (1138011)

  • Terrain: Fixed an issue where Terrain tool APIs (Hidden/Terrain/TerrainLayerUtils) were unavailable in standalone builds. (1148337)

  • Terrain: Fixed an issue where the resolution of details was clamped from 0 to 1 when you painted details on the Terrain. (1171579)

  • Terrain: Fixed an issue where there were seams along Terrain tile borders when you changed the Terrain resolution.

  • Terrain: Fixed an issue where there were seams along Terrain tile borders when you resized the control map (splatmap). (1161101)

  • Terrain: Fixed Terrain Brush raycast precision issues when the Editor's camera was far from the world origin. (1171938)

  • Terrain: Fixed terrain shader picking pass for SRP. (1176497)

  • Terrain: Fixed Terrain slider control handles so that they do not disappear when set to the minimum value. (1151094, 1151115)

  • Terrain: Fixed the Terrain engine so that splatmap resolutions for TerrainData and the embedded Texture are synchronized. (1137057)

  • Terrain: Fixed the Terrain Paint Trees tool so that it displays a circular Brush preview. (1104293)

  • Terrain: Made changes so that Terrain control map (splatmap) resize is no longer corrupted when you use a linear color space, for example, in HDRP. (1160831)

  • Terrain: Made changes so that Terrain rendering correctly takes render queue settings from the Terrain Material.

  • Terrain: Made changes so that when you resize a Terrain splatmap, it correctly registers Undo. (1161102)

  • Timeline: Blend selection border not drawn correctly when there is a preceding clip (1178173)

  • Timeline: Can now use shortcut to copy/paste clips between two differents timelines. (1184967)

  • Timeline: Fixed issue where a clip locks to the playhead's position when moving it. (1157280)

  • Timeline: Fixed issue where a different track's bound GameObject is highlighted when clicking a track's bound GameObject box. (1141836)

  • Timeline: Fixed issue where exceptions were thrown when resetting a Signal Receiver component. (1158227)

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

  • Timeline: Recording state is incorrect after toggling Preview Mode (1146551)

  • Timeline: Timeline preview doesn't reset animated properties if animating an Animator not directly on Skinned Mesh Renderer (1162334)

  • tvOS: Fixing case 1171490 TouchScreenKeyboard.visible does not get set to false when the keyboard is dismissed on tvOS. (1171490)

  • UI: Changed the order of checks so the most resource intensive check is perfomed last, and only if needed. (1180358)

  • UI: Composition string is now only updated if an inputField is selected.

  • UI: Dependencies on Unity modules are now weak references. This prevents Unity UI (uGUI) compile issues that occurred when modules were removed. (1179418)

  • UI: Disabled selectable items are now removed right away, which prevents unused references from being held. (1160054)

  • UI: Fallback references are no longer copied if there is more than one target. (1121543)

  • UI: Fixed a null reference in input fields when there is no BaseInput. (1182386)

  • UI: Fixed an issue where assigning a toggleGroup would not properly unregister it from its previous group. (1185512)

  • UI: Fixed an issue where specifying a Camera on a World space Canvas rendered only to that Camera instead of to the World.

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

  • UI: Fixed performance issues with Animation by not dirtying the Layout if an Animation updates items.

  • UI: Fixed some null referece exceptions in input field tests.

  • UI: Setting the viewport now dirties cached values. (1167699)

  • UI: Values of sliders in the Inspector are now validated on Update rather than on Validate to avoid calling the Clamp function, which triggered a RectTransformChange. (1179267)

  • UI: When selected, UGUI Dropdowns now use the parent canvas' raycasters, if available. (1152181)

  • UI Elements: Added a breadcrumb-like element to UIElements toolbars.

  • UI Elements: Calling SetValueWithoutNotify() on sliders now properly updates visuals (1167872)

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

  • UI Elements: Event callbacks on composite elements no longer have to be registered on the internal elements.

  • UI Elements: Fix context menu positioning in the UIElements debugger. (1143412)

  • UI Elements: Fixed a NullReferenceException when reducing the size of bound array fields. (1158337)

  • UI Elements: Fixed an issue that occurred when unbinding certain UIElements fields before adding them to the Hierarchy. (1176816)

  • UI Elements: Fixed an issue where calling GUIUtility.ExitGUI() inside a Button callback left the Button in its active (pressed) state. (1173387)

  • UI Elements: Fixed an issue where Editors written with UIElements did not get rebound to SerializedObjects after a soft refresh of the Inspector window (for example, adding a new component). (1156233)

  • UI Elements: Fixed an issue where Object Fields did not fetch Components according to their type. (1131114)

  • UI Elements: Fixed an issue where overflowing text was not clipped correctly in text fields with labels.

  • UI Elements: Fixed an issue with List View where changing DisplayStyle to None and then to Flex made some items invisible. (1181499)

  • UI Elements: Fixed issues with UIElements group transform and stencil clipping (1197094, 1197896)

  • UI Elements: Fixed scrollview not persisting scroll position for really large scrollviews. (1152205)

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

  • UI Elements: Fixed SetValueWithoutNotify on fields not working if isDelayed was enabled. (1178168)

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

  • UI Elements: Fixed styling problems with the Toolbar Search field. (1117293)

  • UI Elements: Fixed usage of the dockarea splitter when one of the panes contains UIElements Elements. (1160619)

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

  • UI Elements: It is now possible to set ToolbarSpacer and ToolbarMenu variants through styling.

  • UI Elements: Loaded images are now displayed with bilinear filtering on non-integer dpi scaled displays. (1172920)

  • UI Elements: Pixel per point is now handled correctly in UIElements Images. (1169251)

  • UI Elements: Pressing Shift + Tab in a multi-line text field now focuses on the previous control. (1140811)

  • UI Elements: Read-only Text fields now really are read-only. (1158450)

  • UI Elements: Reduced scene view repaints. (1166812)

  • UI Elements: Scrolling a list with bindings to labels now works as expected. (1184343)

  • UI Elements: Text field padding is now handled correctly. (1145272)

  • UI Elements: The X and Y axes for border radius are now clamped independently.

  • UI Elements: Unity now supports proper references between UXML files, and between UXML and USS files.

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

  • UI Elements: Panel.contextualMenuManager is now public.

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

  • Universal Windows Platform: Documented EditorUserBuildSettings.wsaUWPBuildType property. (1174627)

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

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

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

  • Universal Windows Platform: Fixes text entry for IMGUI's TextArea control. (1183076)

  • Universal Windows Platform: When rendering resolution doesn't match monitor resolution in fullscreen window mode, Unity will now letterbox the image in order to make it not distorted. This is how it already worked on Windows Standalone player. (1180242)

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

  • Version Control: Context menu on a folder now allows checking out only the .meta file of it (1177521)

  • 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 "cannot set mode of files in offline mode" error messages (1181983)

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

  • 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 Revert on a not-yet-saved but locally changed file not working with Asset Database V2

  • Version Control: Fixed selected asset state stuck in "updating" when reconnecting to VCS (1175534)

  • 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 no longer crashes when the Project build includes Video Player. (1157930)

  • Video: [Windows 7] VideoPlayer.Prepare causes a stack overflow crash if Video is loaded from asset bundle (1190915)

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

  • Web: Aborting downloads now deletes partially downloaded Asset bundles. (1160776)

  • 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 Touch.Radius always returning 0 on Windows Editor and Standalone Player (1119934)

  • Windows: Fixed Windows Standalone Visual Studio solution build creating a '_Data' folder with the wrong name. (1186751)

  • Windows: Fixes file operations failing because relative path exceeds MAX_PATH (1115524)

  • XR: Add MagicLeap XR Plugin to verified package set

  • XR: Added APIs around TrackingOrigins and Boundary points to UnityEngine.XR.XRInputSubsystem.

  • XR: Can now cast from UnityEngine.XR.InputFeatureUsage<T> to UnityEngine.XR.InputFeatureUsage.

  • XR: Enable multi-pass rendering using Vulkan for XR (built-in rendering pipeline - SRP support coming in other fixes) (1190038)

  • XR: Fixed an issue that caused jitter when using multipass rendering on Lumin. (1160523)

  • XR: Fixed an issue that caused jitter when when render viewport scale changed continuously. (1170112)

  • XR: Fixed an issue that caused Vulkan standalone player with single-pass instancing to show black screen in HMD. (1130342)

  • XR: Fixed XR SDK screen shots being too dark in linear color space.

  • XR: Fixed XR SDK stats integration.

  • XR: fixes GPU perf regression when using XR Plugins and GLES (1197381)

  • XR: Gives XR SDK display subsystem ability to disable back buffer msaa on gles saving 10~15% gpu usage.

  • XR: Removed UnityEngine.Experimental.XR.XRExperienceSubsystem and moved APIs to UnityEngine.XR.XRInputSubsystem.

  • XR: Restore mirror view default and disable present to main when provider requests it (1189948)

  • XR: UnityEngine.XR.InputDevices that are default constructed can no longer be valid or reference existing devices.

  • XR: XR.InputDevice.OnConfigChanged now lets you know if a an InputDevice has changed its characteristics without disconnecting.

  • XR: XR.InputDevice.Role is now obsolete. Use the new XR.InputDevice.Characteristics series of flags to describe how an XR device works, and what kind of features it can have.

  • XR: XR.InputDevices.GetDevicesByCharacteristics now lets you filter devices by characteristics. As a result, XR.InputDevices.GetDevicesByDeviceRole is now obsolete.

API Changes

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

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

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

  • Asset Import: Added: Added the CollectImportedDependenciesAttribute to allow users to set up dependencies on imported Assets (to be used from AssetPostprocessors).

  • Asset Import: Added: While importing a Model, you can now use ModelImporter.avatarSetup to change the way avatars are created, based on the AnimationType.

  • Asset Import: Changed: Renamed the ModelImporterMaterialImportMode.Import enum to ModelImporterMaterialImportMode.ImportViaMaterialDescription.

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

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

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

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

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

  • Editor: Added: Added InitializeOnEnterPlayModeAttribute to execute reset code for the configurable Enter Play Mode feature.

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

  • Editor: Added: Added EditorUtility.ClearDirty, which tells Unity that an object is not dirty, and does not need to be saved to disk.

  • Editor: Added: 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: Added UnityEditor.Compilation.CompilationPipeline.RequestScriptCompilation public API that allows user code to trigger script compilation.

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

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

  • Editor: Obsoleted: Marked the UnityEditorInternal.InternalEditorUtility.RequestScriptReload public API as obsolete.

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

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

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

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

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

  • Graphics: Added: Added index support to Color32 struct.

  • Graphics: Added: Added initial event support for VisualEffect.

  • Graphics: Added: Added InvokeOnRenderObjectCallback to ScriptableRenderContext.

  • Graphics: Added: Added SystemInfo.supportsRayTracing to check whether you can create a D3D12 Raytracing Device on the current platform.

  • Graphics: Added: Exposed the default red, gray, and linear gray Texture objects via the, Texture2D.gray, and Texture2D.linearGray properties.

  • Graphics: Added: Moved shader property APIs from UnityEditor.ShaderUtils to UnityEngine.Shader to make them available in players. The APIs are:

    • FindPropertyIndex
    • GetPropertyAttributes
    • GetPropertyCount
    • GetPropertyDefaultFloatValue
    • GetPropertyDefaultVectorValue
    • GetPropertyDescription
    • GetPropertyFlags
    • GetPropertyName
    • GetPropertyRangeLimits
    • GetPropertyTextureDefaultName
    • GetPropertyTextureDimension
    • GetPropertyType
  • Graphics: Changed: Moved RenderingThreadingMode and renderingThreadingMode from UnityEngine.Experimental.Rendering namespace to UnityEngine.Rendering namespace

  • Graphics: Changed: Removed the Experimental tag from the following: VisualEffect component, VisualEffectAsset, and VFXManager.

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

  • Graphics: Removed: Removed TextureCompressionQuality enum from the UnityEngine namespace. (1108722)

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

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

  • Kernel: Added: 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: Added Unity.Jobs.LowLevel.Unsafe.ResetJobWorkerCount to reset the job worker count back to the Unity defaults

  • Package Manager: Added: Added the new UnityEditor.PackageManager.UI.Window.Open function to open the Package Manager window to a selected package.

  • Package Manager: Obsoleted: Renamed the recommended property verified on the UnityEditor.PackageManager.PackageInfo class.

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

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

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

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

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

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

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

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

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

  • Scripting: Added: Added 'PlatformSpecificOpenFileAtLine' to allow platform specific ways of executing applications.

  • Serialization: Added: Exposed API documentation for [SerializeReference]

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

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

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

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

  • Video: Removed: Removed MovieTexture class and API.

  • XR: Added: Added mirror view blit support to the display subsystem C# API.

  • XR: Added: Added more cross-platform/common stats to the display subsystem C# API.


  • 2D: The 2D template is updated to version 3.2.5.

  • 2D: Version 3.2.3 of the 2D template.

  • Android: Improved error messages for cases where an Android application fails to load Unity now prints "Failed to load '', the application will terminate.", and an exception from System.loadLibrary with detailed information about where the application was looking for

  • 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 Unity imports multiple sub-Assets with the same name or type. This often happens when importing Models with multiple Meshes or Materials that have the same name in the .fbx file. Their resulting fileID (and thus references to them) may break or change if Unity finds a new sub-Asset with the same name before the existing one after re-importing.

  • Editor: The Preset Manager now supports a list of default Presets for each Preset type instead of a single Preset. The default Preset contains a filter that is tested against the new default Object to determine whether or not to apply the Preset to the Object. Every matching Preset is applied, in order, to the new default Object, regardless of whether it was created using the ObjectFactory API or an importer.

  • GI: Deprecated Enlighten, and hid it from new Projects in Scriptable Render Pipelnes. Upgraded Projects will still show it.

  • Graphics: Adding explicit depth resolve to RenderPass Metal

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

  • Graphics: Version 4.0.3 of the 3D Extra template.

  • Graphics: Version 4.0.4 of the 3D Extra template.

  • Graphics: Version 4.2.2 of the 3D template.

  • Package Manager: Moved the Create + Develop feature from out of this version of the Package Manager UI. This will be available in a future release of Unity.

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

  • Timeline: Enabled rectangle tool for inline curves.

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

  • Version Control: Paths outside of the unity project are considered to never be part of version control, e.g. AssetDatabase.IsOpenForEdit will return true for them

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

  • XR: com.unity.xr.oculus@1.1.2 verified

  • XR: Removed Vuforia built-in functionality from the Editor. Moved to package.

  • XR: The following built-in XR platform packages have been deprecated:

    • ""
    • "com.unity.xr.googlevr.ios"
    • ""
    • "com.unity.xr.oculus.standalone"
    • "com.unity.xr.openvr.standalone"
    • "com.unity.xr.windowsmr.metro"
    • "com.ptc.vuforia.engine" Please refer to this link <> for more information.


  • 2D: 2D verified packages update "com.unity.2d.animation": "3.0.8" "com.unity.2d.path": "2.0.4", "com.unity.2d.pixel-perfect": "2.0.3", "com.unity.2d.psdimporter": "2.0.7", "com.unity.2d.spriteshape": "3.0.7" (1197018)

  • 2D: Add multiple texture support to Sprite Shape Renderer.

  • 2D: Added multiple texture support to Tilemap Renderer.

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

  • 2D: The following are now verified packages: "com.unity.2d.animation": "3.0.4", "com.unity.2d.common": "2.0.2", "com.unity.2d.path": "2.0.2", "com.unity.2d.psdimporter": "2.0.4", "com.unity.2d.spriteshape": "3.0.4",

  • Android: Custom UnityPlayerActivity implementations can now modify the command line arguments passed to Unity during startup.

  • Android: Make use of ASTC decode mode OpenGL and Vulkan extension for LDR textures

  • Android: Unity now uses cpu_capacity for big.LITTLE core detection on devices where the Linux kernel supports it.

  • Android: You can now install Android OpenJDK via Unity Hub as a separate optional component. This reduces Android support size.

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

  • Editor: Special Thanks to beta users

  • Editor: The context menu Copy command now works on disabled Text, Float, and Color fields. (1180207)

  • GI: Added extra verification for Experimental.Lightmapping.SetCustomBakeInputs API.

  • 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: GPU lightmapper: Match CPU lightmapper sampling scheme for improved quality.

  • GI: Improved performance by making Unity only denoise the Ambient Occlusion buffer when Ambient Occlusion is enabled.

  • GI: Increased the responsiveness of the Editor during baking with the Progressive GPU Lightmapper with AMD GPUs.

  • GI: ReceiveGI.LightProbes objects no display in the Lightmap indices visualisation view.

  • GI: Reduced overhead in compositing when baking lightmaps with the Progressive GPU Lightmapper.

  • GI: Rreduced main thread overhead of the baking pipeline.

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

  • 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: Frame debugger now works even if graphics jobs are enabled (except for direct graphics jobs) (1182399)

  • Graphics: Graphics: Mesh scripting API improvements. Added non-alloc overload of GetVertexAttributes. Added NativeArray overloads of Mesh.SetFoo. Added T[] and List<T> 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: Inspector operations like selecting, editing, undo on large assets (Texture3D, Texture2DArray etc.) is much smoother now

  • Graphics: Made changes so that EncodeToPNG() supports the 16-bit grayscale format.

  • 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: 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: Minimum supported iOS version is now iOS 10.

  • iOS: Unity now warns you if you try to render MeshTopology.Points on Metal with shaders that don't have PSIZE output.

  • 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: Added a new git attribute to the PackageManager.PackageInfo C# class (

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

  • Package Manager: Added menu extension to add new items to the Package Manager UI.

  • Package Manager: Added support for the SCP format (for example, when using Git-based packages.

  • 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: Deprecated the Package Manager UI as a package.

  • Package Manager: Grouped Assets in separate pages for the "My Assets" filter in the Package Manager UI.

  • Package Manager: Reduced the Editor's LastLayout file size.

  • Package Manager: Warn the user when they try to enter Play mode while downloading Assets from the AssetStore. Warn the user when they try to start downloading a package from the AssetStore while are in Play mode.

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

  • Physics: Reduce the number of calls to Transform-Dispatch system (shown as "TransformChangedDispatch" in profiler) per Physics2D.Simulate call. (1185425)

  • Profiler: Added a Remember Last Recording State option to the Preferences Window to toggle the Profiler's behavior between remembering the Record button state within a session, or remembering it across sessions on the same machine.

  • Profiler: Added Frame Count to the Profiler Preferences to adjust 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 and rearranged buttons:

    • Profile Editor button has been removed. You can now select Editor as a Target.
    • Record, Save As, 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 Color Blind 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: Improved icons for the validity of Define Constraints in the Asmdef Importer Inspector.

  • 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 so that they are no longer limited to 2x2 tiles.

  • Terrain: Made changes so that painting and setting Terrain height always uses 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: Improved performance of picking operations (1194971)

  • 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: Added 'GazeInput' Capability to UWP Publisher Settings within the Editor (1162038)

  • Universal Windows Platform: Added warning in Player Settings inspector for when 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 a confirmation dialog for moving or renaming folders under version control (1108630)

  • Version Control: Added AssetDatabase.MakeEditable to public API.

  • Version Control: Asset and Project Settings inspector context menus (e.g. Material "Select/Edit Shader") now work on non-checked out assets (1180207)

  • Version Control: If a successful server connection gets lost, the editor tries to automatically reconnect for a while (1184060)

  • Version Control: Inspector object reference fields context menus have "Check Out" entry when they point to an asset that is not checked out (1145194)

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

  • Version Control: VCS setting inspector fields have recently used value dropdowns on them

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


  • 2D: The following 2D Packages are now verified packages: 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: v1.0.0 is now a verified package.

  • Android: Unity as a Library enables you to integrate Unity with other native Android applications.

  • Asset Import: Added a New Material Import Mode to the Model importer, which allows users to customize how Unity generates Materials when importing Models.

  • DX12: Added the force-d3d12-debug-gbv command line argument to enable DirectX 12 GPU-based validation on the Editor or Player.

  • 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" will 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 AMD Radeon Pro Image Filters AI denoiser for the CPU and GPU Progressive Lightmapper. Currently Windows and AMD hardware only.

  • GI: Added an experimental API for modular lighting bake.

  • GI: Added submesh support in the GPU Lightmapper.

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

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

  • 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 Skinned Mesh rendering support in the SRP Batcher.

  • Graphics: Added support for customizable initial event names to VisualEffect.

  • Graphics: Added the RayTracingAccelerationStructure class with NativeTests.

  • Graphics: Added the RayTracingRootSignature class.

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

  • iOS: Unity as a Library enables you to integrate Unity with 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.

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

  • 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 dialog warning of critical failure. Clicking the Diagnose button now launches the Package Manager Diagnostics tool and closes Unity.

  • Package Manager: Added support for Asset Store packages in the Package Manager UI with the new My Assets filter.

  • Package Manager: Added the ability to add a package from a tarball in the Package Manager window.

  • Package Manager: Asset Store packages are now visible in the Package Manager UI through the new My Assets filter.

  • Package Manager: Enabled UI support for Git package installation in the Package Manager window.

  • Package Manager: Unity now supports a number of package authoring tasks through the UI:

    • Create a package from the Package Manager UI.
    • Develop a package from the Package Manager UI.
    • Remove a package in development from the Package Manager UI.
    • Open the Package Manager UI to a selected package in the Project Browser.
  • Particles: Abiltiy to save and restore Particle System state data, making it possible to save a snapshot of an entire Particle System at a point in time. A use case for this is for efficient rewind support, by saving periodic keyframes of the particle state, to avoid full resimulations.

  • Particles: 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)
  • Player: com.unity.adaptiveperformance v1.0.0 is now a verified package.

  • Player: v1.0.0 is now a verified package.

  • 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

  • UI Elements: Added pointer events

  • 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: Enabled Device Portal support for ExecutableOnly builds

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

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.4 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: 6c9e2bfd6f81

Version Released
December 11, 2019 Download / Release notes
November 27, 2019 Download / Release notes
November 21, 2019 Download / Release notes
November 14, 2019 Download / Release notes
November 6, 2019 Download / Release notes
November 1, 2019 Download / Release notes
October 23, 2019 Download / Release notes
October 14, 2019 Download / Release notes
October 4, 2019 Download / Release notes
September 30, 2019 Download / Release notes
September 20, 2019 Download / Release notes
September 10, 2019 Download / Release notes
September 6, 2019 Download / Release notes
August 26, 2019 Download / Release notes
August 13, 2019 Download / Release notes
August 1, 2019 Download / Release notes
July 22, 2019 Download / Release notes
July 3, 2019 Download / Release notes
June 26, 2019 Download / Release notes
June 19, 2019 Download / Release notes
June 6, 2019 Download / Release notes
May 30, 2019 Download / Release notes
May 22, 2019 Download / Release notes
May 14, 2019 Download / Release notes
6 reasons why you should join the beta program

6 reasons why you should join the beta program

  1. Get early access to all the latest features
  2. Test your compatibility
  3. Join a community of Unity experts
  4. The chance to win cool prizes
  5. Show off your skills
  6. Influence the future of Unity
Learn more

Related news

{{ post.title.rendered }}

Read more

Get early access now

Download Unity 2019.3b
Got it

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.