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

Some of the new features 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
  • 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.

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.0b3 release notes

Known Issues in 2019.3.0b3

  • Asset Importers: Crash on AssetImportManager::AssetImportManager when opening a project with asset pipeline v2 Cache Server enabled (1165502)

  • Graphics - General: Editor is lagging when modifying material properties (1094991)

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

  • IL2CPP: UnityLinker.exe error is thrown when building a Player with Vuforia Engine AR Package (1178453)

  • IMGUI: Save Scene Dialog appears twice on clicking "Don't Save" on changing Graphics API (1181646)

  • Linux: 3D With Extras projects will throw constant OpenGL Error: Invalid texture unit! errors (1174950)

  • Linux: Bugreporter is collecting Editor.log from wrong location for 2019.2.0a7+ (1176211)

  • Linux: Editor sometimes crashes on exit in CentOS 7 (1176206)

  • Linux: Tile Palette's default brush does not paint tiles (1176950)

  • Linux: [HDRP] Template project throws numerous exceptions regarding KSampleCopy4_1_x_8 (1174987)

  • Linux: Ubuntu - Unable to select gameobjects in playmode (1176010)

  • Linux: [Ubuntu] Unable to use Android NDK & SDK tool installed via HUB (1177631)

  • MacOS: Unity Editor requests permission to Receive Keystroke input when using other apps (1172758)

  • MacOS: Codesign fails on macOS standalone build as well as on generated xcode project (1170356)

  • Metal: RenderTarget Release create garbage on MacOS (1170410)

  • Metal: [GraphicsFormat] [Mac Metal] DefaultFormat.LDR on doesn't work with SetPixel (1179990)

  • Packman: "Reset Packages to Defaults" has no effect (1174733)

  • Packman: [Mac][Packman] Package list disappears on clicking on Packages when filter is changed from 'All Packages' to 'In Project' or v.v (1182275)

  • Particles: Fixed crash in WorldCollision function when spawning particles (1168859, 1175300)
    Fixed in 2019.3.0b4.

  • Profiling: [Profiler] Show calls and Show Related object window doesn't open when player loop dropdown is open in Hierarchy mode (1179845)

  • Scene Management: Enabled Prefab is disabled after upgrading to Improved Prefabs (1138224)

  • Scene Management: Transform::GetWorldToLocalMatrix crash during first import when accessing Components in Prefabs (1159905)

  • Scripting: Fixes EditorUtility.CollectDependencies() always returning null (1179390, 1181776)
    Fixed in 2019.3.0b4.

  • Scripting: [Android] Build and run fails when Rewired is present in the project (1169148)

  • Themes: Scrollbar has some UX issues (1176477)

  • Themes: [Window Management] Window Titlebar is not aligned with the editor layout when the window is maximized (1174958)

  • UI Elements: [Packman] Package manager window gets blank on changing Architecture settings in build settings (1174970)

  • Universal RP: Template project throws Exception: Cannot load... .../Autodesk Interactive.shadergraph Null returned (1174981)

  • VR: [Oculus GO] PostProcessing effects are not applied to built applications (1103954)

  • Window Management: Assertion failed on expression: 'txn.Exists(guid)' is thrown when any assets are changed in any way or editor is refocused (1177545)

  • Windows: Loading second display on 2 different monitor setups shrinks the higher resolution display to lower resolution displays size (1132748)

  • Windows: Standalone IL2CPP build support is unavailable from both Hub and Download Assistant (1182989)

  • iOS: Apple throws Deprecated API Usage warning for using UIWebView when submitting Builds to the App Store Connect (1180664)

  • uGUI: Canvas' children scale when GameObjects are being selected in the Hierarchy (1179114)

  • uGUI: Unity Events that have arguments cannot be used anymore (1180021)

New 2019.3.0b3 Entries since 2019.3.0b2


  • 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


  • 2D: Update 2D 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",

  • Graphics: Optimised Cluster Rendering networking


  • 2D: Fixed the issue where 'Slice' button is outside the window when using Slice by Cell Count/Size in Sprite Editor Window (1171403, 1178026)
    This is a new issue, not seen in any released version.

  • 2D: Fixed the issue where module selection drop-down text gets clipped in Sprite Editor Window (1174673, 1178025)
    This is a new issue, not seen in any released version.

  • Android: Fix crash when using il2cpp and app was previously backed up. (1170543, 1179513)

  • Asset Pipeline: Fixed deadlock introduced by ArtifactFileSystem taking persistent manager lock (1176317, 1180046)

  • Editor: Fix renaming in project browser (1176643, 1178838)

  • Editor: Fixed windows editor "open asset" dialog not displaying shortcut (.lnk) files (1176433, 1181803)

  • Graphics: Fixed setting textures with RenderTextureSubElement.Stencil not working on Vulkan

  • iOS: Fixed USYM_UPLOAD_AUTH_TOKEN thrown in Xcode when the Project is built in BatchMode with -runTests and Cloud Diagnostics. (1167025, 1178675)

  • Physics: Rigidbody2D XY position constraints now produce an unmoving "hard" constraint and remove any performance penalty. (1176908, 1180529)

  • Profiler: Fixed "Missing Profiler.EndSample" error when profiling the Editor and switching between the Profiler window and the Scene View (1174922, 1177562)
    This is a 2019.3 issue, not seen in any released version.

  • Profiler: Fixed thread selection drop down in Hierarchy View of Profiler Window (1176001, 1176294)
    This is a 2019.3 issue, not seen in any released version.

  • Profiler: Fixed view states resetting on enter playmode for CPU, GPU, Memory and Audio (1175479, 1178029)

  • Scripting: Ensure only script assets are opened with default external editor. (1177543, 1177597)
    This has already been backported to older releases.

  • Version Control: Fixed UI layout of inspector VCS status bar (1175264, 1181807)
    This is a new issue, not seen in any released version.

  • Version Control: Fixed various issues with VCS (Perforce/Plastic) integration for packages that are local to the project folder (1146203, 1178023, 1181500, 1181805)

  • Version Control: Fixed Version Control window Refresh icon being not much visible when using light editor skin (1178831, 1181806)
    This is a new issue, not seen in any released version.

Preview of Final 2019.3.0b3 Release Notes

System Requirements Changes

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


  • 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: DirectX 12 GPU Shader validation can be enabled on the editor or player using the command line argument "force-d3d12-debug-gbv"

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

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

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

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

  • GI: Added Experimental API for modular lighting bake.

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

  • GI: GPU lightmapper: Added submesh support

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

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

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

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

  • Graphics: Added 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.

  • Graphics: SRP Batcher now support Skinned Mesh rendering

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

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

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

Backwards Compatibility Breaking Changes

  • 2D: Renamed Tilemap Editor to 2D Tilemap Editor.

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

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

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

  • Android: Updated Android NDK used to version r19.

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

  • Asset Import: Added a warning when 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.

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

  • Editor: Editor now follows shader keywords more strictly, falling back to error shader with invalid keyword sets.

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

  • 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

  • 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: Added icon for Assembly definition reference (asmref) asset files.

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

  • Timeline: Enabled rectangle tool for inline curves.

  • Timeline: Updated Timeline package version to 1.1.0

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

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

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

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


  • 2D: Version 3.2.3 of the 2D template

  • Android: Android Gradle plugin version updated up to 3.4.

  • Android: Gradle version updated up to 5.1.1.

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

  • Graphics: Version 4.0.3 of the 3D Extra template

  • Graphics: Version 4.2.2 of the 3D template

  • 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


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

  • 2D: Added a toggle to allow changing of Z Positions with the Grid Brush.

  • 2D: Added CreateTileFromPaletteAttribute to allow users to specify how and what Tiles are created when dragging Assets onto the Tile Palette window.

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

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

  • 2D: GridPaintingState APIs are now exposed to allow users to programatically change Tile Palette Painting states.

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

  • 2D: Unity now stores the last used Grid Brush when entering or exiting Play Mode.

  • 2D: Update 2D 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",

  • 2D: Users can now convert Prefabs to Tile Palettes by dragging a valid Prefab onto the Tile Palette window directly.

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

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

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

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

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

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

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

  • Audio: Faster import of audio files

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

  • Build Pipeline: LZ4 lib version updated to 1.9.1

  • Build Pipeline: LZMA lib version updated to 19.00

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

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

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

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

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

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

  • Editor: Added shortcus for SceneView Camera modes.

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

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

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

  • Editor: ProBuilder updated to 4.1.0.

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

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

  • 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: Graphics: Mesh scripting API improvements. Added non-alloc overload of GetVertexAttributes. Added NativeArray overloads of Mesh.SetFoo. Added T[] and List overloads of SetVertexBufferData and SetIndexBufferData

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

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

  • Graphics: 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: Optimised Cluster Rendering networking

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

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

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

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

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

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

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

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

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

  • iOS: 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: Reduce Editor 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.

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

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

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

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

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

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

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

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

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

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

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

  • Terrain: Added support for arbitrarily-sized Terrain Paint Contexts 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: 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 "Overwrite Failed Checkout Assets" editor setting, turning it off makes unity not overwrite files that can't be checked out

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

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

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

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

  • XR: Added a protected context option to the Oculus Android settings that should only be enabled when you know that you require a protected graphics context (typically for DRM video).

  • XR: Added a V2 signing option to the Oculus Android settings that should be used when building for Quest, and disabled when building for Go and GearVR.

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

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

  • XR: Updated Oculus to use the 1.36 plugin.

API Changes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: Added UnityEditor.Compilation.CompilationPipeline.RequestScriptCompilation public API that allows user code to trigger script compilation.

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

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

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

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

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

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

  • Graphics: Added index support to Color32 struct.

  • Graphics: Added InvokeOnRenderObjectCallback to ScriptableRenderContext.

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

  • Graphics: Initial Event Support for VisualEffect

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Video: Removed MovieTexture class and API.

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

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


  • 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: Fixed a dead zone for Scene view Gizmos next to the Tilemap Focus window. (1168038)

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

  • 2D: Fixed an issue when Resources.Load() crashed on Sprite::GetRenderData() when there is no Sprite data. (1149030)

  • 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 SpriteEditorWindow.OnPostprocessAllAssets is slowed due to calling Resources.FindObjectsOfTypeAll many times. (1166158)

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

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

  • 2D: The Secondary Texture Module is now usable with importers. (1173521, 1176496)

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

  • Android: Fix crash when using il2cpp and app was previously backed up. (1170543, 1179513)

  • Android: Fix inefficient clears when rendering directly to the back buffer (1175186, 1175190)

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

  • Android: Fixed a crash when using Optimized Frame Pacing with Vulkan.

  • 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 an Android video player crash. (1166265)

  • 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 Android manifest generation when Daydream or Cardboard VR is enabled. (1154923)

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

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

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

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

  • 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 should work correctly on Android 8.0 and higher in the new input system. (1158508, 1175476)

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

  • Android: Unity now uses a relative path for keystore in project location after a second key is added. (977673)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Animation: Fixed unstable test AnimationEventCanAlterTime (1146292)

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

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

  • Asset Import: 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: 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 a crash that would occur when importing an FBX file containing an Animation curve with only one frame at a very low negative time. (1160772)

  • 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 where Unity would log an error if the user deleted a script outside of the Editor. (1153082)

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

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

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

  • Asset Import: Fixed the Apply button in the Texture Importer so that it now appears properly enabled/disabled after the user makes changes in the Per-Platforms sections. (1167983)

  • 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 Import: The preview for curves in the Animation tab of the Model Import Settings window has been fixed to correctly update when the user clicks Revert. (1166122)

  • Asset Import: Unity no longer throws an error when you re-compile script while a MonoBehaviour Asset is selected. (1157050)

  • Asset Import: Users can now change and apply Import Settings in an Inspector while in Play mode. (1169942)

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

  • Asset Pipeline: Fix for infinite importing (1173082, 1176400)

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

  • Asset Pipeline: Fixed a scripting issue where Unity would crash on AssetDatabase::ReserializePrefabs when attempting to save a Prefab at the same path as an existing folder. (1161227)

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

  • Asset Pipeline: Fixed an issue where Unity was assigning a new GUID to a meta file after "renaming" it to match the Asset filename's case. (1173655, 1175263)

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

  • Asset Pipeline: Fixed deadlock introduced by ArtifactFileSystem taking persistent manager lock (1176317, 1180046)

  • Audio: Fix crash in DSPGraph when clearing sample provider

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

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

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

  • Build Pipeline: Fixed an issue that caused a crash at CompileGpuProgramSnippets when you cancelled a build during Shader Variant compilation. (1160092)

  • 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: Changing color spaces in the editor while using DX12 will no longer result in an exception being thrown. (1123013)

  • DX12: Fix for debug rendering happening out of BeginFrame/EndFrame on Dx12 (1169782, 1176075)

  • DX12: Fix for debug rendering happening out of BeginFrame/EndFrame on Dx12 (1175105, 1176337)

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

  • Editor: Window > Bring All to Front now places secondary windows in front of the main window in the Editor, as expected, on macOS. (1141001)

  • 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: Allow camera speed to modified with the scroll wheel when right mouse button is pressed.

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

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

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

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

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

  • Editor: Fix Avatar Mask UI layouting (1154715)

  • Editor: Fix focus state IMGUI drawing (1170562)

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

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

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

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

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

  • Editor: Fix renaming in project browser (1176643, 1178838)

  • Editor: Fix scrollbar mouse click paging (1161189)

  • Editor: Fix search field text clipping (1158540)

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

  • Editor: Fix various Northstar cosmetic issues (1158609)

  • Editor: Fix various Northstar cosmetic issues (1159257)

  • Editor: Fix various Northstar cosmetic issues (1163086)

  • 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 lag that occurred when viewports were fully concealed behind panels. (1140477)

  • Editor: Fixed a layout issue with nested GUILayoutFadeGroups that caused properties to be misaligned. (1158658)

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

  • Editor: Fixed a parsing issue in the new YAML backend. (1164292)

  • 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 a text serialization parsing error that occurred when reading multi-line scalars in block sequences. (1153091)

  • 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 Use DXGI Flip Model Swapchain for D3D11 in the Project Settings window was clipped at some DPI settings. (1166698)

  • Editor: Fixed an issue where adding an illegal character in the Project folder threw an exception in the Console. (1159270)

  • Editor: Fixed an issue where clicking the arrow icon did not collapse/expand the Anchors section in the RectTransform Inspector. (1167867)

  • 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 marquee selection always selected Assets loaded from a bundle. (1158173)

  • 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 splash screen previews did not refresh in the Game view. (1166664)

  • 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 Scene Toolbar displayed the wrong icons when using the Hand, Orbit, and Zoom tools. (1164504)

  • 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 Int Slider. (1162540)

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

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

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

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

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

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

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

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

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

  • Editor: Fixed issue that occurred when deserializing ScriptableObjects with no underlying C# script. (1167575)

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

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

  • Editor: Fixed propagation of min-max size information for floating Editor container windows. (1169663)

  • Editor: Fixed right-handed copy/paste shortcuts. (1132112)

  • Editor: Fixed save scene pop up not closing when canceled while restarting the editor. (1166643, 1176315)

  • Editor: Fixed the header of maximized Editor windows. (1167169)

  • Editor: Fixed the issue with Asset renaming during the creation (1173182, 1177692)

  • 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: Fixed TypeCache not being initialized when accessed from EditorWindow through static constructors. (1174962, 1177553)

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

  • Editor: Fixed various northstar theming issues (1163447)

  • Editor: Fixed windows editor "open asset" dialog not displaying shortcut (.lnk) files (1176433, 1181803)

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

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

  • Editor: 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 no longer possible to click the Open button on a VideoClipImporter Preset. (1154998)

  • 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: Licensing - Opening a new project from inside a project can cause a licensing check loop (1176228, 1177684)

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

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

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

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

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

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

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

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

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

  • Editor: Replacing a Preset asset using the Preset Selector no longer loses references in the Preset Manager. (1162505)

  • Editor: Replacing a Preset asset while it is selected no longer triggers Inspector errors. (1162563)

  • Editor: Scripts are no longer recompiled for the Editor after a Player build finishes. As a result, it takes less time to finish a Player build. (1115674)

  • 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: Uneeded allocation in StylePainter DrawStyle (1168699)

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

  • 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: Various alignment and icon issues (1157335)

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

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

  • 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 an issue where Unity would draw the UVs of objects that were no longer in the lightmap. (1117696)

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

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

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

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

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

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

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

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

  • Graphics: Fix 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 FrameTimingManager when using Vulkan (1152859)

  • 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 Shadow Cascades debug view were broken when no shadow casting directional light is present (1117145)

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

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

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

  • Graphics: Fixed a memory leak in the Frame Debugger. (1168390)

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

  • Graphics: Fixed an issue in HDRP that caused build hangups when using the -nographics mode. (1159284, 1178743)

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

  • Graphics: Fixed an issue that caused the Shader compiler to crash when compiling some tessellation Shaders without proper target pragma. (1162342, 1175189)

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

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

  • Graphics: Fixed an issue with Android Blit type not being serialized properly. (1161705)

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Fixed pixel data corruption and bad performance when changing Inspector settings of Texture2DArray, Texture3D or other directly serialized Texture related assets (1173402, 1176242)

  • Graphics: Fixed setting textures with RenderTextureSubElement.Stencil not working on Vulkan

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

  • 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: Fix HLSLcc code generation regression from 2019.3.0a11, fixes Visual Effect Graph from crashing or hanging (1175231, 1177846)

  • 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: Texture streaming now works with LZ4 (and LZ4HC) compressed packages on all platforms (1167322)

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

  • Graphics: Updated documentation for LODGroup (949239)

  • Graphics: [UniversalRP]Lightmap, Reflection Probes and SH not rendered correctly on Vulkan/OpenGL Core (1172430, 1176447)

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

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

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

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

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

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

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

  • iOS: Apps no longer throw an NSInvalidArgumentException when trying to access WebCamTexture.devices and being denied permission. (1160639)

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

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

  • 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 missing symbols when script debugging is enabled . (1156704)

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

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

  • iOS: Fixed USYM_UPLOAD_AUTH_TOKEN thrown in Xcode when the Project is built in BatchMode with -runTests and Cloud Diagnostics. (1167025, 1178675)

  • iOS: Left and right thumb sticks will work correctly on Dualshock and Xbox controllers in the new input system (1163377, 1175475)

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

  • iOS: Start and select buttons will work correctly on Dualshock and Xbox controllers in the new input system (1163375, 1175474)

  • iOS: SystemInfo.systemMemorySize no longer under-reports physical memory. (1155192)

  • 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: field serialized as reference crashes unity when an UnityEngine.Object is stored in it using an interface. (1154723)

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

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

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

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

  • Linux: Added correct dragging response to Linux services window (1115130)

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

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

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

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

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

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

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

  • macOS: Fixed Metal not working in batch mode. (1166742)

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

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

  • Package Manager: 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 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 the searchAll operation could hang on a slow internet connection.

  • Package Manager: Fixed an issue with the Package Manager window resizing, and the Install/Remove button disappearing. (1170710)

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

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

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

  • Package Manager: Fixed missing reference to post-processing that caused the 3D With Extras template to load with errors. (1158918)

  • 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: Fix assert in Debug builds due to bad handling of SIMD aligned particle data (1150149)

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

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

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

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

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

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

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

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

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

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

  • Physics: Fix incorrectly transformed cloth gravity, set cloth accelerations correctly (1173813, 1176991)

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

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

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

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

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

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

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

  • Physics: Rigidbody2D XY position constraints now produce an unmoving "hard" constraint and remove any performance penalty. (1176908, 1180529)

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

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

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

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

  • Player: Reduced SerializedFile memory usage (939830)

  • Prefabs: Fix regression where reverting added component from comparison view throws errors. (1175221, 1176295)

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

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

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

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

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

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

  • Profiler: Fixed metadata loading from the saved profiler data file. (1150495, 1178376)

  • Profiler: Fixed view states resetting on enter playmode for CPU, GPU, Memory and Audio (1175479, 1178029)

  • Profiler: Profiler icons in the editor have jagged edges on 4K+ displays (1140843)

  • Profiler: Reduced memory usage due to fragmentation when using Profiler Window. (1168484, 1178375)

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

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

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

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

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

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

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

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

  • Scripting: Optimised scripting exception support for Burst Jobs (1161907, 1177496)

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

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

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

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

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

  • 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 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 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 when you resize a Terrain splatmap, it correctly registers Undo. (1161102)

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

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

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

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

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

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

  • Timeline: Timeline Blend selection feedback is broken on first clip (1162894, 1179724)

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

  • Timeline: Timeline Track & Clip text labels are truncated in the Inspector (1162895, 1179723)

  • UI: 0 (1173065)

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

  • 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: Fixing issue where rich text tags would get verticies generated causing very large vertex buffers.

  • UI: removing the ref requirement from the AllSelectablesNoAlloc

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

  • UI: 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: Fix generateVisualContent with textures doesn't show textures on screen (1162371)

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

  • UI Elements: 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, 1177762)

  • 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 assertion fired when drawing an empty border. (1165892)

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

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

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

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

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

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

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

  • 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: Pressing Shift + Tab in a multi-line text field now focuses on the previous control. (1140811)

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

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

  • 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: Fixed benign assert message firing when using TextMeshPro edit boxes (1164482)

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

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

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

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

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

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

  • Version Control: Fix warnings and errors printed if AssetDatabase.IsOpenForEdit is passed a path to built-in package assets (1158188, 1172861, 1178037, 1178040)

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

  • Version Control: Fixed assert failure when doing Revert Unchanged with PlasticSCM (693071, 1178039)

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

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

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

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

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

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

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

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

  • Version Control: Fixed various issues with VCS (Perforce/Plastic) integration for packages that are local to the project folder (1146203, 1178023, 1181500, 1181805)

  • 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: Fixed VideoPlayer.aspectRatio when using Camera Viewport Rect. (1164157, 1177652)

  • 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: Video alpha channels are flipped vertically when transcoding to H264 on Mac OS (1165238)

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

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

  • Video: VideoPlayer leaks memory when in Play mode

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

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

  • WebGL: Fixed an issue where WebGL build would fail if locationPathName contains a trailing slash. (1150979)

  • WebGL: Fixed an issue with stuck keys when canvas loses focus in WebGL (1129894)

  • WebGL: Fixed audio playback issues with multithreaded builds (1109255)

  • WebGL: Fixed IMGUI events not working when input processing is set to "Input System Package" only.

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

  • WebGL: Fixed mouse position and delta coordinates in the new input system being inverted

  • WebGL: Fixed networking issues with multithreaded builds (1119982)

  • Windows: Fix for exception triggering when closing player/editor (1161538)

  • Windows: Fix Touch.Radius always returning 0 on Windows Editor and Standalone Player (1119934)

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

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

  • XR: 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: Prevent Hololens app pause when switching focus to a 2D view within a running application.

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

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

System Requirements

For development

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

CPU: SSE2 instruction set support.

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

The rest mostly depends on the complexity of your projects.

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

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

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

For running Unity games

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

  • Desktop:

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

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

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

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

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

Changeset: d0377b9426dc

Version Released
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.