Unity 2019.3.0

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

Known Issues in 2019.3.0f5

  • Ads: Verified and default Ads package for 2019.3 should be 3.3.1 instead of 2.0.8 (1206332)

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

  • Asset Importers: OnPostprocessTexture isn't always called (1210674)

  • Global Illumination: Crash on SpookyHash::Short when continually interrupting auto-generating light (1205313)

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

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

  • IMGUI: Major IMGUI performance regression in 2019.3.0a11 when compared to 2019.3.0a10 (1206495)

  • IMGUI: [TreeCreator] NullReferenceException on modifying properties of "Tree" components when "Branch Material" is set to any material (1206697)

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

  • MacOS: Realtime shadows are broken on OpenGL/ES3/Metal/Vulkan in Shadowmask mode (1206092)

  • MacOS: [Metal][RealtimeGI] Baked albedo colors are different from the shaded colors after baking GI (1183273)

  • Mobile: [Android] Application crashes on start when Minify is set to Proguard in the player settings (1204992)

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

  • Particles: Fixed crash when using ParticleSystem.SetParticles and system uses a Size module. (1197761)
    Fixed in 2019.3.0f6.

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

  • Scene Management: Prefab variant's Scripts are missing fields when upgrading to Unity 2019.3.0a12 and above (1208775)

  • Scripting: "UnityEngine.dll" doesn't automatically reference its individual DLLs preventing project compilation (1205367)

New 2019.3.0f5 Entries since 2019.3.0f4

Fixes

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

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

  • 2D: Improve performance of SpriteEditorWindow when applying changes for new Sprites created. (1201297)

  • AI: Fixed crash in NavMeshManager on IL2CPP builds. (1175557)
    This is a change to a 2019.3.0a10 change, not seen in any released version, and will not be mentioned in final notes.

  • Android: AndroidExternalToolsSettings.sdkRootPath setting does not throw InvalidOperationException when set from -executeMethod or InitializeOnLoad methods anymore (1205401)
    This has been backported and will not be mentioned in final notes.

  • Android: Bundletool 0.7.2 in 2019.2 causes Build & Run failure when running App Bundle Android 4.x device (1189570)
    This is a change to a 2019.3.0b12 change, not seen in any released version, and will not be mentioned in final notes.

  • Android: Fix poor physics performance on ARM64 on certain devices with power mode disabled. (1186295)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Animation: Fixed crash on Android when reading serialised animation data. (1197792)

  • Asset Bundles: Fix assertion when building multiple scene asset bundles with data analytics enabled. (1203242)

  • Asset Import: Fixed issue where setting EditorCurveBinding.type to a custom component binds to "MonoBehavior" instead of the derived class. (1201584)

  • Asset Import: Legacy animations that follow the model@animation.fbx naming convention in 2018.4 are not lost when upgrading to newer Unity version anymore. (1186494)

  • Asset Import: Raise maximum bone influences per vertex from 32 to 255 in the FBX Importer (1196758)

  • Asset Pipeline: AssetDatabase performance improvements (1149051)
    This has been backported and will not be mentioned in final notes.

  • Asset Pipeline: Improved empty assetdatabase refresh performance (1171344)
    This has been backported and will not be mentioned in final notes.

  • Asset Pipeline: Improved ImportAsset performance, which solves slow prefab editing experience (1203186)

  • Audio: Fix accessing AudioReverbFilter.lfReference / .hfReference from scripts. (1199970)

  • Audio: Fix accessing certain problematic clips in the editor when the selected platform is WebGL. (1201868)
    This is a change to a 2019.3.0a10 change, not seen in any released version, and will not be mentioned in final notes.

  • Audio: Fixed editor crash on SoundManager::FlushDisposedSounds when importing audio files through asset database v1 (1198006)
    This is a change to a 2019.3.0 change, not seen in any released version, and will not be mentioned in final notes.

  • DX12: Fixed CommandBuffer.DrawProcedural to work with various topology types when using DX12. (1190099)

  • Editor: Adds entitlement to request camera access in macOS editor (1202032)
    This has been backported and will not be mentioned in final notes.

  • Editor: Corrected adding prefabs to hierarchy in first position. (1197793)
    This has been backported and will not be mentioned in final notes.

  • Editor: External Script Editor "Open by file extension" option is not working (1198526)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Editor: Fix collab related 401s after waking a computer up from sleep. (1209678)

  • Editor: Fix logging errors from background thread crashes the editor when "Error Pause" is enabled (1173657)

  • Editor: Fix null deref in SettingProvider. (1206985)
    This is a change to a 2019.3.0f4 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Fixed an issue where the rotate handle was not accepting input whenever the Handles matrix was not identity. (1201134)
    This is a change to a 2019.3.0b1 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: Fixed an issue where Unity crashes when copying text with Unicode emojis. (1201331)

  • Editor: Fixed memory leaking of wintermute shaderloader. (1015837)
    This has been backported and will not be mentioned in final notes.

  • Editor: Fixed performance issue with editor elements in the inspector. (1203050)

  • Editor: Fixed should not be capturing when there is a hotcontrol logs appear when changing property values after removing search query (1183232)

  • Editor: Fixed vertical lines for sub-scenes in the scene hierarchy (1201408)
    This has been backported and will not be mentioned in final notes.

  • Editor: [SRP] objects are drawn at 0, 0, 0 position, rotation and scale when Shading mode is set to 'Wireframe' - SRP batcher (1204671)
    This has been backported and will not be mentioned in final notes.

  • GI: Fix lightmapping errors when painting holes on terrain. (1202457)
    This is a change to a 2019.3.0b9 change, not seen in any released version, and will not be mentioned in final notes.

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

  • Graphics: Dynamic Array index out of bounds assert. (1178205)

  • Graphics: ECS RenderMeshSystemV2 has substantial amount of memory leak (1151798)
    This has been backported and will not be mentioned in final notes.

  • Graphics: Editor crashes when calling Shader.WarmUpAllShaders() with one or more GPU Instanced Materials on OpenGL (1201344)
    This is a change to a 2019.3.0 change, not seen in any released version, and will not be mentioned in final notes.

  • Graphics: Fixed issues loading meshes and shaders authored in 17.4 in to later versions of Unity. (1195750)
    This has already been backported to older releases and will not be mentioned in final notes.

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

  • IL2CPP: Allow the IOControlCode.KeepAliveValues option to work properly on POSIX platforms. (1198796)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Correct the behavior of network interface detection code on iOS. (1191670)
    This has already been backported to older releases and will not be mentioned in final notes.

  • IL2CPP: Correct the behavior of the MulticastOption constructor when the localAddress argument is not provided. (1199942)

  • IL2CPP: Handle calls to open delegates on instance methods of value types properly. (1191419)

  • IL2CPP: Improve the performance of job methods on Microsoft platforms. (1196765)

  • IL2CPP: Marshal.SizeOf computes correct values for structs containing structs. (1201175)

  • IMGUI: Fixed 'On Demand Remap' foldout icon click (1186889)
    This is a change to a 2019.3.0a7 change, not seen in any released version, and will not be mentioned in final notes.

  • iOS: Add support for iPad 7th generation (1196002)

  • iOS: Added a check to see if the app needs and could safely be cleaned up (case 1145982) (1145982)
    This has been backported and will not be mentioned in final notes.

  • iOS: Crash on CreateCppStringFromNSString when entering Emoji as max character. (1198204)
    This has been backported and will not be mentioned in final notes.

  • Linux: Fix the "Build" button for iOS platform on Linux. (1188590)

  • Package Manager: Transforms - Fix crashes caused by disposing of default-constructed TransformAccessArrays (1148324) (1148324)
    This has been backported and will not be mentioned in final notes.

  • Particles: Fixed crash when destroying a culled Particle System that has a Stop Action. (1206498)
    This is a change to a 2019.3.0b8 change, not seen in any released version, and will not be mentioned in final notes.

  • Physics: Fix inaccurate collision detection with Terrain, following from the wrong tesselation order being used (1200526)
    This is a change to a 2019.3.0a5 change, not seen in any released version, and will not be mentioned in final notes.

  • Player: Fixed crash when accessing input devices during application quit. (1193017)

  • Prefabs: Fixed Editor crash when applying joint dependency override after the rigidbody is removed. (1163986)

  • Profiler: Fixed an Editor crash in the GetProfilerThreadID() on exit. (1202746)
    This has been backported and will not be mentioned in final notes.

  • Profiler: Fixed an error when saving Unity Profiler captures to an invalid path (1204481)
    This has been backported and will not be mentioned in final notes.

  • Profiler: Fixed an issue where an assembly prefix makes reading the Profiler harder. (1182855)

  • Profiler: Fixed an issue with the Current Frame toggle where it only worked the first time it was pressed. (1204973)
    This is a change to a 2019.3.0b11 change, not seen in any released version, and will not be mentioned in final notes.

  • Profiler: Fixed an issue with the Target Selection drop-down menu where it would get stuck on Autoconnected Player when it failed to connect to a Player. (1193777)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Editor: Fix a number of bugs with single quote usage in namespace parser (1188570)

  • Scripting: Fix crash due to random memory corruption. (1204409)

  • Scripting: Fixed Reimporting project causes "Assembly for asmdef File will not be compiled, because it has no scripts associated with it" (1185386)
    This has been backported and will not be mentioned in final notes.

  • Serialization: Performance optimization for prefab merging/creation. (1203377)
    This has been backported and will not be mentioned in final notes.

  • Terrain: Fix IgnoreMasterTextureLimit handling for rendertextures and CopyTexture_Region (1148582)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Terrain: Fix issue where rendering terrain with VR active would cause Unity to crash. (1204666)
    This has been backported and will not be mentioned in final notes.

  • UI: Fixed EventSystem not being created when an EventSystem prefab was loaded but not in the scene. (1200002)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI: Fixing issue where a near clipping plane of zero wouldn't trigger graphics (1196850)
    This is a change to a 2019.3.0a3 change, not seen in any released version, and will not be mentioned in final notes.

  • UI Elements: Support @2x file naming convention with url() function in USS files.

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

  • Web: Fix UploadHandlerFile properties contentType and progress. (1197177)
    This has been backported and will not be mentioned in final notes.

  • WebGL: Disabled unnecessary default canvas event for "on drag" WebGL (case 1206214) (1190839)
    This has been backported and will not be mentioned in final notes.

  • XR: Update Oculus Plugin to 1.1.4

API Changes

  • 2D: Added: Add SortingGroup.UpdateAllSortingGroups to allow users to immediately update SortingGroups instead of waiting for LateUpdate (1202432)

Preview of Final 2019.3.0f5 Release Notes

System Requirements Changes

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

Fixes

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

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

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

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

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

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

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

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

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

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

  • 2D: Improve performance of SpriteEditorWindow when applying changes for new Sprites created. (1201297)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Animation: Ensure GetKeyLeftTangentMode and friends are thread safe. (1195048)

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

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

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

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

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

  • Animation: Fixed crash on Android when reading serialised animation data. (1197792)

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

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

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

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

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

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

  • Animation: Fixed unstable test AnimationEventCanAlterTime (1146292)

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

  • Asset Bundles: Fix assertion when building multiple scene asset bundles with data analytics enabled. (1203242)

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

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

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

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

  • Asset Import: Fixed a crash that would occur when importing an FBX file containing an Animation curve with only one frame at a very low negative time. (1160772)

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

  • Asset Import: Fixed an issue where the Delete tag was erroneously appearing on Assets when importing or updating them. (1179668)

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

  • Asset Import: Fixed issue where setting EditorCurveBinding.type to a custom component binds to "MonoBehavior" instead of the derived class. (1201584)

  • 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: Legacy animations that follow the model@animation.fbx naming convention in 2018.4 are not lost when upgrading to newer Unity version anymore. (1186494)

  • Asset Import: Raise maximum bone influences per vertex from 32 to 255 in the FBX Importer (1196758)

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

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

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

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

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

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

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

  • Asset Pipeline: Improved ImportAsset performance, which solves slow prefab editing experience (1203186)

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

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

  • Audio: Fix accessing AudioReverbFilter.lfReference / .hfReference from scripts. (1199970)

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

  • DX12: Fixed CommandBuffer.DrawProcedural to work with various topology types when using DX12. (1190099)

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

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

  • Editor: Added Edit/Rename for Scene Hierarchy.

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

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

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

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

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

  • Editor: Fix collab related 401s after waking a computer up from sleep. (1209678)

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

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

  • Editor: Fix logging errors from background thread crashes the editor when "Error Pause" is enabled (1173657)

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

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

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

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

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

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

  • Editor: Fixed a crash that occurred when multi-selecting Visual Scripting Graphs in the Project window (1189693)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: Fixed an issue where Unity crashes when copying text with Unicode emojis. (1201331)

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: Fixed performance issue with editor elements in the inspector. (1203050)

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

  • Editor: Fixed should not be capturing when there is a hotcontrol logs appear when changing property values after removing search query (1183232)

  • 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 EditorApplication.hierarchyChangednot being fired when changes were made to GameObject hierarchy via scripts (1200758)

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

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

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

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

  • Editor: It is now possible to localize Packages.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Editor: Updated Windows Editor splash image.

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

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

  • GI: Fix GPU lightmapper OpenCL kernel compilation on AMD Radeon RX 5700 series GPUs. (1180454)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Dynamic Array index out of bounds assert. (1178205)

  • 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 shadow culling issues causing objects to disappear from shadow maps (1175856)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Fixed bug where temporary render textures would be reallocated instead of reused if mip count was set to 0 (1200485)

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

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

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

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

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

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

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

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

  • Graphics: fixed issues with grabpass shader on Vulkan API (1187465)

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Properly fail when trying to use OpenGL ES on Windows on a machine that doesn't support OpenGL ES (typically AMD GPU based) (1190472)

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

  • Graphics: Resolve issue where Vulkan behaves like D3D11 when anisotropic filtering is enabled (1173747)

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

  • Graphics: Update SRP Graphics package to 7.1.6

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

  • Graphics: Updated documentation for LODGroup (949239)

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

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

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

  • IL2CPP: Correct the behavior of the MulticastOption constructor when the localAddress argument is not provided. (1199942)

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

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

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

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

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

  • IL2CPP: Handle calls to open delegates on instance methods of value types properly. (1191419)

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

  • IL2CPP: Improve the performance of job methods on Microsoft platforms. (1196765)

  • IL2CPP: Marshal.SizeOf computes correct values for structs containing structs. (1201175)

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

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

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

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

  • iOS: Add support for iPad 7th generation (1196002)

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

  • 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 Display.active. (1163861)

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Linux: Fix the "Build" button for iOS platform on Linux. (1188590)

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

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

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

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

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

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

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

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

  • Mobile: Adding iPod Touch 7th Generation to the iOS.DeviceGeneration API. (1185468)

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

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

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

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

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

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

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

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

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

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

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

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

  • Package Manager: Fixed the capitalization on the "Import into Project" label for package samples in Package Manager UI window. (1156690)

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

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

  • Package Manager: The Package Manager UI window now uses the Ctrl/Cmd+F shortcut to focus on the Search box. (1170019)

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

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

  • Particles: Execute the Stop Action even if a system goes offscreen (1167771)

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

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

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

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

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

  • Particles: Improve roll correction when disabling the Enable Roll option (1081596)

  • Particles: Make each system in the Particle System pop-out window wider, to accomodate the ensure content is visible. (1184253)

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

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

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

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

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

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

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

  • Physics: Fix 'Unity scene is invalid' error message being spammed when selecting a Joint that is part of a prefab (1106492)

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

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

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

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

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

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

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

  • Physics: Fixup an ancient spelling mistake, where 'then' was used instead of 'than' (1159648)

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

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

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

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

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

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

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

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

  • Player: Fixed crash when accessing input devices during application quit. (1193017)

  • 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 Editor crash when applying joint dependency override after the rigidbody is removed. (1163986)

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

  • Prefabs: Fixed that the Overrides popup window did not refresh after undo. (1112996)

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

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

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

  • Profiler: Added a minimum scale for stacked charts so that the 0.1ms grid line stays visible (1175473)

  • Profiler: Added messaging to the GPU Profiler module that profiling the Editor is not supported if Playmode is not enabled. (877502)

  • Profiler: Fixed an issue where an assembly prefix makes reading the Profiler harder. (1182855)

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

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

  • Profiler: Fixed an issue with start time precision loss when saving Profiler data in the Editor (1156652)

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

  • Profiler: Fixed high frequency rescaling of the frame count label in the Profiler toolbar (1181367)

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

  • Profiler: Made the CPU Profiler Module's detail drop down selection work in Play Mode (1179845)

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

  • Profiler: Made the splitter and viewtype state retain within the session and across open/close cycles of the Profiler Window (1171353)

  • Scripting: Editor: Fix a number of bugs with single quote usage in namespace parser (1188570)

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

  • Scripting: Fix crash due to random memory corruption. (1204409)

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

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

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

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

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

  • Scripting: Fixed ScreenCapture.CaptureScreenshot not working properly with Physical cameras when superSize > 1 (1192257)

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

  • Scripting: Getting the type on a null serialize reference will now return manageReference<> (1185791)

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

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

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

  • Scripting Upgrade: Fix ScriptUpdater.exe failures when user name contains spaces (1202584)

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

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

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

  • Shaders: Fixed shader compiler generating unnecessary integers operations in discard checks (1186752)

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

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

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

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

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

  • Terrain: Added support for Terrain holes.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Timeline: Fixed clip selection from playhead (1187495)

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

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

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

  • Timeline: Fixed overlay bug when panning. (1198348)

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

  • Timeline: Fixed Recorded Clips dirtying the scene on copy/paste (1181492)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • UI Elements: Support @2x file naming convention with url() function in USS files.

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

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

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

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

  • UI Elements: Panel.contextualMenuManager is now public.

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

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

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

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

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

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

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

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

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

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

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

  • Version Control: Fixed "cannot set mode of files in offline mode" error messages (1181983)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Video: Fix for movies with multiple video tracks on Windows (1196384)

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

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

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

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

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

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

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

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

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

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

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

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

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

  • XR: Add MagicLeap XR Plugin to verified package set

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

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

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

  • XR: Fix OnApplicationPause events when using HolographicPauseOnTrackingLoss. (1192322)

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

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

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

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

  • XR: Fixed XR SDK stats integration.

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

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

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

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

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

  • XR: Update Oculus Plugin to 1.1.4

  • 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

  • 2D: Added: Add SortingGroup.UpdateAllSortingGroups to allow users to immediately update SortingGroups instead of waiting for LateUpdate (1202432)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Added: Added InvokeOnRenderObjectCallback to ScriptableRenderContext.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Video: Removed: Removed MovieTexture class and API.

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

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

Changes

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

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

  • Android: Android: When "Installed with Unity (recommended)" is selected in Editor Tools Preferences window and the expected path is not available, don't look for alternative paths.

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

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

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

  • Android: Updated Android NDK used to version r19.

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

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

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

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

  • Graphics: Adding explicit depth resolve to RenderPass Metal

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

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

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

  • Graphics: Version 4.2.2 of the 3D template.

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

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

  • Timeline: Enabled rectangle tool for inline curves.

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

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

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

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

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

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

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

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

    • "com.unity.xr.googlevr.android"
    • "com.unity.xr.googlevr.ios"
    • "com.unity.xr.oculus.android"
    • "com.unity.xr.oculus.standalone"
    • "com.unity.xr.openvr.standalone"
    • "com.unity.xr.windowsmr.metro"
    • "com.ptc.vuforia.engine" Please refer to this link <https://docs.unity3d.com/Manual/XR.html> for more information.

Improvements

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

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

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

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

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

  • Android: Android: When "Installed with Unity (recommended)" is selected in Editor Tools Preferences window, display the path where the tool should be located.

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

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

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

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

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

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

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

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

  • Audio: Faster import of audio files

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

  • Build Pipeline: LZ4 lib version updated to 1.9.1

  • Build Pipeline: LZMA lib version updated to 19.00

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

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

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

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

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

  • Editor: Added shortcus for SceneView Camera modes.

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

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

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

  • Editor: ProBuilder updated to 4.1.0.

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

  • Editor: Special Thanks to beta users

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

  • Editor: Updated ProBuilder to 4.1.2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Graphics: Mesh class got HasVertexAttribute and GetVertexAttributeDimension methods.

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

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

  • Graphics: Metal: improved debug groups structure

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

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

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

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

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

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

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

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

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

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

  • Kernel: Improve main thread utilisation for IJobParallelFor jobs

  • Kernel: Introducing new serialization attribute: SerializeReference

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

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

  • 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, git@github.com:user/repo.git) when using Git-based packages.

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

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

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

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

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

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

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

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

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

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

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

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

  • Profiler: Reworked Profiler toolbar and rearranged buttons:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Features

  • 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: com.unity.mobile.android-logcat v1.0.0 is now a verified package.

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

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

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

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

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

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

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

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

  • GI: Added submesh support in the GPU Lightmapper.

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

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

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

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

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

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

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

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

  • Graphics: Added the RayTracingAccelerationStructure class with NativeTests.

  • Graphics: Added the RayTracingRootSignature class.

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

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

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

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

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

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

  • Multiplayer: Added UNET encryption support

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

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

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

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

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

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

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

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

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

    Additionally, we expose a few of the new features:

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

  • Player: com.unity.adaptiveperformance.samsung.android 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 working as Mute works.

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

  • UI Elements: Added pointer events

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

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

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

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

System Requirements

For development

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

CPU: SSE2 instruction set support.

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

The rest mostly depends on the complexity of your projects.

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

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

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

For running Unity games

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

  • Desktop:

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

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

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

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

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

Changeset:
44796c9d3c2c

Third Party Notices

For more information please see our Open Source Software Licenses FAQ on the Unity Support Portal

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

Got it