Search Unity

Unity 2019.3 beta

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

Download Unity 2019.3b

Unity 2019.3 improvements

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

Download the 2019.3 beta
Unity 2019.3b

New in 2019.3b

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

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

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

New Input System (Preview)

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

Ray Tracing in HDRP (Preview)

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

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

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

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

New Enter Play Mode options

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

Animation Rigging Updates

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

Speed up your team with the Unity Accelerator

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

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

Learn more in this blog post.

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

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

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

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

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

What to expect from a beta

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

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

Unity 2019.3 beta
Beta tester newsletter

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

RSS feed

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


Unity 2019.3.0b7 release notes

Known Issues in 2019.3.0b7

  • Android: Application.internetReachability returns NotReachable on certain devices even if internet is available (1178696)

  • Asset Import Pipeline: Infinite shader compilation loop during project launch when project contains Google Play Games plugin (1189648)

  • Asset Importers: .dll Import Settings newer actually apply changes (1182615)

  • Global Illumination: Light Probe Gizmos are not visible (1189621)

  • Global Illumination: [CPU PLM] Editor crashes when toggling Baked Global Illumination checkbox with auto-bake in HD and Universal rendering pipelines (1180291)

  • IMGUI: Inspector doesn't reflect the information of selected GameObject in Hierarchy after applying changes to Sprite (1186194)

  • IMGUI: NullReferenceException when calling StartAnimationRecording (1183235)

  • Linux: Apply button doesn't work when setting .so plugin to be for Linux x86_64 platform (1175413)

  • Linux: Play keyboard shortcut doesn't work when in playmode (1179119)

  • Linux: Fixed an issue with sprite tilemap editor not working in paint tile mode. (1176950, 1182265)
    This is a change to a 2019.3.0a12 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2019.3.0b8.

  • MacOS: [Editor] Color Picker state is always active even if a color is selected and the color is not getting applied (1172123)

  • Mobile: Player Settings window becomes blank and starts spitting errors after going to Android Settings > Icon (1177292)

  • Mobile: [Android] Crash in java.lang.UnsatisfiedLinkError when application location is changed to SD card on Android device (1181365)

  • Mobile: [Linux][MacOS] Android Player settings window stopped rendering (1187393)

  • Mono: [Coverage] Crash on scripting_profiler_get_coverage when calling Coverage.GetStatsFor() on EditorApplication.SaveAssets() (1190766)

  • Mono: [Coverage] crash on mono_profiler_get_coverage_data when calling Coverage.GetStatsFor() (1183682)

  • Physics: Crash on PhysicsScene::ProcessTriggerEnterExits when splitting meshes that also exit a Trigger with OnTriggerExit (1155827)

  • Prefabs: Fix really old prefabs not being correctly activated. (1138224, 1178758)
    Fixed in 2019.3.0b8.

  • Prefabs: Make sure FindObjectsOfType does not find prefab assets objects during prefab import. (1159905, 1178762)
    Fixed in 2019.3.0b8.

  • Profiling: "Other" category is not shown in the player Profiler graph if a sample is not selected (1165477)

  • Profiling: [Profiler] Profiler reopens a blank window with errors when audio frame data is selected at the time of closing it (1183981)

  • Profiling: [Profiler] Profiler view mode changes on increasing/decreasing Frame count value in the Preference window (1186566)

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

  • Scene Management: [Improved Prefab] Tree prefab continuously updated on selecting "Recompute Tree" option in prefab mode (1187157)

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

  • Serialization: Crash when multi selecting Visual Scripting Graphs in project window (1189693)

  • Themes: Edit Collider button is missing in collider component when multiple collider components are added to a gameObject (1190980)

  • Windows: [Deployment Management] Editor crashes on creating a build with custom Icon. (1185194)

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

  • iOS: [iOS 13] UnityWebRequest.SendWebRequest() crashes when opening local file with "file:///" prefix (1183600)

  • uGUI: When using the Button component, Texture2D can't be unloaded after switching the Scene and/or using Resources.UnloadUnusedAssets (1160054)

New 2019.3.0b7 Entries since 2019.3.0b6


  • Android: Fixed a performance issue where handling suboptimal swapchain as error causes frame drop. (1182934, 1189680)
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Android: Fixed a visual distortion issue when rotating a device from portrait to landscape multiple times. (1168456, 1186338)
    This has been backported and will not be mentioned in final notes.

  • Animation: Fixed a native structs not showing as animatable properties in the Animation Window. (1175614, 1181856)

  • Apple TV: Fixed an issue with the "B" button on the game controller where it was getting hard wired to exit the game to the home screen of AppleTV, making it unusable and the game unstable to play. (1179727, 1181544)
    This has been backported and will not be mentioned in final notes.

  • Asset Import: Fixed an assert when creating a project with a template. (1177591, 1178555)
    This is a change to a 2019.3.0b1 change, not seen in any released version, and will not be mentioned in final notes.

  • Asset Pipeline: Fixed and issue with changing ip address of cache server v2 and it doesn't reconnect. (1186256, 1186259)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fixed a raytrace shaders issue where it was not being reimported automatically after a change in one of the include files. (1186833, 1186837)
    This is a change to a 2020.1.0a7 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Fixed the ProjectSettings files from the 3D template sometimes which were being serialized incorrectly in new projects. (1181735, 1185177)
    This has been backported and will not be mentioned in final notes.

  • Editor: Improved the on "Assertion failed: Failed to insert item" warnings. (1181898, 1187853)
    This has already been backported to older releases and will not be mentioned in final notes.

  • GI: Fixed GPU lightmapper OpenCL kernel compilation on AMD Radeon RX 5700 series GPUs. (1180454, 1180473)
    This has been backported and will not be mentioned in final notes.

  • Graphics: Fixed a Mesh bounds calculation crash on non-Float3 positions. (1185300, 1188226)
    This is a change to a 2019.3 change, not seen in any released version, and will not be mentioned in final notes.

  • Graphics: Fixed an issue where Meshes with Keep Quads enabled would not be rendered. (1179051, 1186161)

  • GraphView: Fixed an issue with click-drag select on input field which ends outside of the field, deselects when left mouse button is released. (1176976, 1186951)
    This has been backported and will not be mentioned in final notes.

  • IL2CPP: Fixed a potential crash in the debugger when stepping through managed code frames where some callers do not have symbol files. (1184047, 1185503)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Implemented the RuntimeHelpers.GetObjectValue method. (1183866, 1184638)
    This has already been backported to older releases and will not be mentioned in final notes.

  • iOS: Gave proxy drawable textures names and made them not be backed by memory if they're not in use (1167629, 1188377)
    This has been backported and will not be mentioned in final notes.

  • Physics: Reduced what the CompositeCollider2D considers a collinear vertex so it does not remove edges that are extremely close to being collinear. (1186858, 1187186)
    This is a change to a 2019.3.0b4 change, not seen in any released version, and will not be mentioned in final notes.

  • Player: Fixed an IMGUI input in windows standalone players issue when the old input system is disabled. (1183394, 1187329)

  • Shuriken: Fixed LineRenderer position values text being clipped in the inspector. (1180591, 1181865)
    This is a change to a 2020.1.0a2 change, not seen in any released version, and will not be mentioned in final notes.

  • SpeedTree: Fixed SpeedTree rendertype from Opaque to TransparentCutout. (744984, 1179704)

  • UI Elements: Fixed a drag and drop event sequence issue where the mouse button state gets stuck.
    This has been backported and will not be mentioned in final notes.

  • UI Elements: Fixed an issue the prevents switching to a different material on selecting another material from Asset selector window on Sprites. (1178005, 1186273)
    This is a change to a 2019.3.0a12 change, not seen in any released version, and will not be mentioned in final notes.

  • UI Elements: Fixed an issue where TextFields with labels were not clipped correctly with overflowing text. (1183575)

  • UI Elements: Fixed an issue with InspectorElement creating duplicate IMGUIContainer. (1178393, 1184043)
    This is a change to a 2019.3.0a12 change, not seen in any released version, and will not be mentioned in final notes.

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

  • XR: Fixed an instability in Depth based LSR for HoloLens V1 devices. (1174865, 1186975)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • XR: Fixed XR SDK stats integration. (1189654)

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


  • Editor: Special Thanks to beta users

  • Graphics: Frame debugger now works even if graphics jobs are enabled (except for direct graphics jobs) (1182399, 1189811)

  • Scripting: Improved icons for the validity of Define Constraints in the Asmdef Importer Inspector.

Preview of Final 2019.3.0b7 Release Notes

System Requirements Changes

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


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

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

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

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

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

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

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

  • 2D: Fixed crash when Tilemap.CompressBounds is called in Tile.RefreshTile. (1172512, 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 Sprite Editor window now shows correctly after a package is reinstalled. (1125290)

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

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

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

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

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

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

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

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

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

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

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

  • Android: Fixed 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 now work correctly on Android 8.0 and higher when using 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 a native structs not showing as animatable properties in the Animation Window. (1175614, 1181856)

  • 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 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 transform write order whenever a game object is deleted in an animated hierarchy. (1153868)

  • Animation: Fixed unstable test AnimationEventCanAlterTime (1146292)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: 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: Editor: fixed error when building unity_builtin_extra not failing the build (1144465)

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

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

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

  • Editor: Fix various Northstar cosmetic issues (1159257)

  • 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 missing Script issue that occurred when minimizing and maximizing the Editor. (1095540)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: Fixed an issue where the 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 Null Reference Exceptions occurring when previewing textures during Asset import. (1135750)

  • 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 color space drawing inside OnGUI() in Game view for Linear color space projects.

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

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

  • Editor: Fixed issues with using MinAttribute in the Inspector. (1183703, 1185162)

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

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

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

  • Editor: Fixed TypeCache not being initialized when accessed from EditorWindow through static constructors. (1174962, 1177553)

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

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

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

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

  • Editor: It is now possible to localize Packages.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: Updated Windows Editor splash image.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 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: Create texture now occurs on a thread in cases when async loading to update an existing texture.

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

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

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

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

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

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

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

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

  • Graphics: fix 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 regression that caused an increase in draw calls when you used static batching. (1098752)

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

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

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

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

  • Graphics: Fixed an issue where Meshes with Keep Quads enabled would not be rendered. (1179051, 1186161)

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

  • 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 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 SetPixels/GetPixels when using SRGB formats. (1179921, 1179990, 1182585, 1183181)

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

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

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

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

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

  • IL2CPP: Fixed an error that could occur while processing nested types with generic interfaces. (1175594, 1178812)

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

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

  • IL2CPP: Fixing an issue with retrieving default values from nullable method parameters via reflection. (1179877, 1182304)

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

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

  • 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 ReadPixels failing when using P3 Color Gamut. (1145198)

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

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

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

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

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

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

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

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

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

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

  • 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 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 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: Allow user to vary cloth constraint visualisation size. (1153439, 1187341)

  • Physics: Avoid crash by disabling the joint editor when the gameobject it's attached to is inactive (1173115, 1184830)

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

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

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

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

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

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

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

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

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

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

  • Physics: Update the ragdoll wizard to create components so that it's undoable and dirties the scene correctly (1151547, 1184831)

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

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

  • Player: Fixed an IMGUI input in windows standalone players issue when the old input system is disabled. (1183394, 1187329)

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

  • Player: Reduced SerializedFile memory usage (939830)

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

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

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

  • Profiler: Fixed 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 view states resetting on enter Playmode for CPU, GPU, Memory, and Audio profilers. (1175479, 1178029)

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

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

  • Scripting: Fix file handle/memory leak when loading Asset Bundles through UnityWebRequest. (1152567, 1186308)

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

  • Scripting: Fix plugin script extraction for package UnityEngine.UI types (1160664, 1184013)

  • 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 bug where editor would fail to load correctly when an invalid or missing timezone was set in the windows registry. (1169719, 1186899)

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

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

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

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

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

  • SpeedTree: Fixed SpeedTree rendertype from Opaque to TransparentCutout. (744984, 1179704)

  • 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 Terrain rendering correctly takes render queue settings from the Terrain Material.

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

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

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

  • Timeline: Fixed issue where fields for custom clips were not responding to Add Key commands. (1174416, 1183577)

  • 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 preview doesn't reset animated properties if animating an Animator not directly on Skinned Mesh Renderer (1162334, 1179722)

  • 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: When selected, UGUI Dropdowns now use the parent canvas' raycasters, if available. (1152181)

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

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

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

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

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

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

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

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

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

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

  • UI Elements: Fixed an issue where TextFields with labels were not clipped correctly with overflowing text. (1183575)

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

  • 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: Loaded images are now displayed with bilinear filtering on non-integer dpi scaled displays (1172920, 1187987)

  • UI Elements: Pixel per point is not handled correctly in UIElement Image (1169251, 1187988)

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

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

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

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

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

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

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

  • UI Elements: Panel.contextualMenuManager is now public.

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

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

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

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

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

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

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

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

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

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

  • Version Control: Fixed 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 Submit not working if files outside of project folder are checked out (1139507)

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

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

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

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

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

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

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

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

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

  • Video: Hardware decode is not working (1024737)

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

  • Video: iOS Player no longer crashes when the Project build includes Video Player. (1157930)

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

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

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

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

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

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

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

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

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

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

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

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

  • Windows: Fixes InputField not functioning after restoring app with Win+D shortcut (1165961, 1186329)

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

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

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

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

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

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

  • XR: Fixed XR SDK stats integration. (1189654)

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

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

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: Add EditorUtility.ClearDirty, tells Unity that object is not dirty, thus doesn't needs to be saved to disk.

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

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

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

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

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

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

  • 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 initial event support for VisualEffect.

  • Graphics: Added InvokeOnRenderObjectCallback to ScriptableRenderContext.

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

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

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

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

    • FindPropertyIndex
    • GetPropertyAttributes
    • GetPropertyCount
    • GetPropertyDefaultFloatValue
    • GetPropertyDefaultVectorValue
    • GetPropertyDescription
    • GetPropertyFlags
    • GetPropertyName
    • GetPropertyRangeLimits
    • GetPropertyTextureDefaultName
    • GetPropertyTextureDimension
    • GetPropertyType
  • Graphics: 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.

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

  • 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: The 2D template is updated to version 3.2.5.

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

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

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

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

  • Android: Updated Android NDK used to version r19.

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

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

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

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

  • Graphics: Adding explicit depth resolve to RenderPass Metal

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

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

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

  • Graphics: Version 4.2.2 of the 3D template.

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

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

  • Timeline: Enabled rectangle tool for inline curves.

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

  • Audio: Faster import of audio files

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

  • Build Pipeline: LZ4 lib version updated to 1.9.1

  • Build Pipeline: LZMA lib version updated to 19.00

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

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

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

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

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

  • Editor: Added shortcus for SceneView Camera modes.

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

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

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

  • Editor: ProBuilder updated to 4.1.0.

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

  • Editor: Special Thanks to beta users

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

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Frame debugger now works even if graphics jobs are enabled (except for direct graphics jobs) (1182399, 1189811)

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

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

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

  • Graphics: Inspector operations like selecting, editing, undo on large assets (Texture3D, Texture2DArray etc.) is much smoother now

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

  • Graphics: Mesh class got HasVertexAttribute and GetVertexAttributeDimension methods.

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

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

  • Graphics: Metal: improved debug groups structure

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

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

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

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

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

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

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

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

  • iOS: Minimum supported iOS version is now iOS 10.

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

  • Kernel: Improve main thread utilisation for IJobParallelFor jobs

  • Kernel: Introducing new serialization attribute: SerializeReference

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

  • Package Manager: Added a new git attribute to the PackageManager.PackageInfo C# class (

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

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

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

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

  • Package Manager: Deprecated the Package Manager UI as a package.

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

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

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

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

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

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

  • Profiler: Added Frame Count to the Profiler Preferences to adjust the visible frame count in Profiler Window.

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

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

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

  • Profiler: Reworked Profiler toolbar and rearranged buttons:

    • Profile Editor button has been removed. You can now select Editor as a Target.
    • Record, Save As, Load, and Current are now icon buttons.
    • Allocation Callstacks has been renamed to Call Stacks
    • Added Open Manual and an overflow menu button that contains Color Blind mode and a link to Profiler Preferences.
  • Scripting: Added project name to the boot.config file for Players. This will enable popular IDE's to display more information about the Player when attaching a debugger.

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

  • Scripting: Improved icons for the validity of Define Constraints in the Asmdef Importer Inspector.

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

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

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

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

  • Terrain: Added support for arbitrarily-sized Terrain Paint Contexts so that they are no longer limited to 2x2 tiles.

  • Terrain: Made changes so that painting and setting Terrain height always uses world space coordinates. (1118605)

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

  • Editor: A new column in the Hierarchy window allows users to enable/disable Object picking in the Scene View. An Object that is "Not Pickable" 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 an experimental API for modular lighting bake.

  • GI: Added submesh support in the GPU Lightmapper.

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

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

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

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

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

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

  • Graphics: Added Skinned Mesh rendering support in the SRP Batcher.

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

  • Graphics: Added the RayTracingAccelerationStructure class with NativeTests.

  • Graphics: Added the RayTracingRootSignature class.

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

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

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

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

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

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

  • Multiplayer: Added UNET encryption support

  • Package Manager: Added a Diagnose button to the Unity Package Manager dialog warning of critical failure. Clicking the Diagnose button now launches the Package Manager Diagnostics tool and closes Unity.

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

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

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

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

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

    • Create a package from the Package Manager UI.
    • Develop a package from the Package Manager UI.
    • Remove a package in development from the Package Manager UI.
    • Open the Package Manager UI to a selected package in the Project Browser.
  • Particles: Bring managed job support for Particle Systems out of experimental status, and improve the API to support job dependencies, and Burst.

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

    Additionally, we expose a few of the new features:

    • a new, faster, midphase that doesn't need R-Trees to be built (see MeshCookingOptions.UseFastMidphase, available on Desktop targets)
    • a new broadphase algorithm that's faster than sweep-and-prune in most cases (see Automatic Box Pruning in the physics settings)
    • a new solver that's good for reducing joints issues (see Temporal Gauss-Siedel solver type in the physics settings)
    • a new Physics.BakeMesh() function to pre-cook meshes for MeshCollider (including off the main thread)
  • Player: com.unity.adaptiveperformance v1.0.0 is now a verified package.

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

  • Profiler: Added Deep Profiler support to Mono and IL2CPP players.

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

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

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

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

  • Timeline: Added auto scroll option in Timeline Editor.

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

  • UI: Unity UI is now a package. The package documentation is avaialble at

  • UI Elements: Added pointer events

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

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

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

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

System Requirements

For development

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

CPU: SSE2 instruction set support.

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

The rest mostly depends on the complexity of your projects.

Additional platform development requirements:
  • iOS: Mac computer running minimum macOS 10.12.6 and Xcode 9.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: 9946d7a66754

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

6 reasons why you should join the beta program

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

Related news

{{ post.title.rendered }}

Read more

Get early access now

Download Unity 2019.3b
Got it

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