Long Term Support
Unity 2020 LTS provides a stable foundation for projects that are in production or about to ship. Unity 2020 LTS stream release has the same feature set as the 2020.2 Tech stream release.
We’re committed to supporting 2020.3 LTS releases with biweekly updates until mid-2022, after which updates will be monthly until March 2023 (two years after the initial release date). These updates will only cover usability fixes aimed at improving the stability of the product to enable users to ship their projects.
Unity 2019.4 is now the legacy LTS; it will be updated monthly until it reaches the end of its support cycle in spring 2022.
RSS feed
Subscribe to our LTS feed and get access to the latest LTS as soon as it's released.
SubscribeLTS Release 2019.4.24f1
Released: 9 April 2021
We are happy to announce Unity 2019.4.24f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.24f1
WebGL: "SharedArrayBuffer will require cross-origin isolation as of M91" warning is thrown when launching Player on Chrome (1323832)
Windows: [Windows 7] "WindowsVideoMedia error 0xc00d36b4" error is thrown when loading a video with the VideoPlayer (1306350)
Linux: Linux Editor crashes at "_XFreeX11XCBStructure" when loading tutorials (1323204)
WebGL: [iOS] video is not playing on iOS (1288692)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Packman: User can't easily configure location of both UPM and Asset Store package local cache (1317232)
Terrain: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)
Shadows/Lights: Crash on ProgressiveRuntimeManager::GetGBufferChartTexture when entering UV Charts mode before baking lights (1309632)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Global Illumination: Wintermute::Geometry::Verify errors are spammed when baking a Mesh with Mesh Compression set to Medium/High (1319133)
Windows: The Cursor is visible when Cursor.visible is set to false and new InputSystem package is used (1273522)
Cloth: Cloth is broken when parent GameObject scale is lower than 1 and Surface Penetration constraints are set 0 (1319488)
MacOS: [macOS] "build is damaged and cannot be opened" error when downloading Unity build from internet (1323501)
Linux: "Out of memory!" crash when opening Unity on Ubuntu 20.04 (1262894)
Polybrush: [PolyBrush] Something went wrong saving brush settings Warning is thrown when Saving a Brush after opening the PolyBrush Window (1315475)
2019.4.24f1 Release Notes
Improvements
Editor: Added profiler markers around test setup, teardown, and execution.
Editor: Improved UTF documentation (DSTR-120).
Editor: Reduced the per-test overhead of running tests in the editor.
Editor: Reduced the time taken by filtering operations when only a subset of tests is run.
Editor: Reduced the time taken to rebuild the test tree and to scan for assets a test created but did not delete.
Package Manager: Fixed an issue where using a Git URL with a revision and a package path in the wrong order would still clone the repository, introducing unnecessary delays before failing with an error.
Package Manager: Improved logging by adding logs for cache misses and tarball download steps.
Package Manager: Improved the error message when a Git dependency cannot be resolved because the path querystring and revision fragment are in the wrong order.
Package Manager: Increased the amount of information logged to upm.log at various levels.
Package Manager: Optimized Git package download times for repositories using submodules (with Git 2.28.0 or higher installed only).
Package Manager: Optimized Git package download times, most notably for repositories with a larger history.
API Changes
- iOS: Added: Added function PBXProject.GetEntitlementFilePathForTarget().
Fixes
Android: Fixed rendering artifacts when using HDR rendering with MSAA on sold Mali Bifrost GPUs. (1303685)
Asset Import: Fixed an issue where the Texture Inspector would notify of 'Unapplied import settings' when no import settings were changed. (1294009)
Audio: Fixed incorrect behavior of audio filter components on game object with multiple attached audio sources. Previously the effects were only applied to the first source, now the effects are instantiated per source. (1241932)
Audio: Fixed potential volume fluctuation in timeline audio on scene change. (1198128)
Audio: In the editor the audio output device is now automatically suspended after a longer duration of inactivity in order to allow the operating system to enter sleep mode. This can be disabled in the audio project settings. (995866)
Build Pipeline: Fixed excessive garbage collection occurring during the build process. (1318468)
Build Pipeline: Made the build fail faster when strict mode build option is used. (1191481)
Editor: Corrected keymapping on linux for quote/backquote/doublequote keycodes. (1281473)
Editor: Fixed an issue where WinMerge would not be detected as a diff tool on some systems. (1303298)
Editor: Tooltips are now passed through into PropertyDrawers as part of the label. (885341)
GI: Fixed backface shadows on GPULM with 0 bounce. (1318669)
Graphics: Choose the proper graphics multithreaded mode. (1223767)
Graphics: Fixed a texture quality settings effect on texture mip streaming. (1270314)
Graphics: Fixed an editor crash by always allowing the use of Metal API on Apple M1 macs, even if Metal Editor Support is disabled in the Player Settings. (1298617)
Graphics: Fixed an editor crash by preventing the use of OpenGL API on Apple M1 macs, where it is not supported. (1306688)
Graphics: Fixed stack overflow exception when compressing Texture to EXR with PIZ compression. (1312104)
Graphics: Fixed unintentional crossfades for LODs when the animated cross-fading flag is enabled. (1305495)
Graphics: Runtime shader loading optimizations. (1317656)
IL2CPP: Corrected the behavior of by-reference parameter for delegate async invocation when the by-reference parameter is after a non-by-reference parameter. (1313160)
IL2CPP: Fixed a crash in il2cpp::vm::LivenessState::AddProcessObject. (1315058)
IL2CPP: Fixed an exception when converting a method with a parameter that is an in generic parameter with a default value. (1313460)
IL2CPP: Fixed nullable value being corrupted after a call to GetType() in generic code. (1310458)
iOS: Fixed a UnityWebRequest issue that caused freezing on background/resume when the device is offline. (1315244)
Linux: Converted "X11 did not respond within x milliseconds" error to a logged warning. (1309607)
macOS: Fixed a crash when product name contains Unicode characters. (1296208)
Mobile: Fixed iOS/tvOS bundle ID format restrictions to match Apple requirements. (1240017)
Mobile: Fixed ProjectCapabilityManager adding corresponding frameworks to the wrong target. (1245194)
Package: Fixed an error in the Recorder package that occurred when setting the build target to macOS standalone from the Editor in Windows. (1304944)
Package Manager: Fixed an issue where either no submodules or the wrong submodules could be cloned when using a Git-based dependency with both a path and a revision.
Package Manager: Fixed an issue where files tracked by Git LFS were not retrieved when using a Git-based dependency with both a path and a revision. (1307682)
Package Manager: Fixed an issue where the
packages-lock.json
file was overwritten with the same contents but considered modified by Unity, sometimes resulting in unnecessary operations. (1299834)Package Manager: Fixed an issue where using a Git URL with a revision and a package path in the wrong order would still clone the repository, introducing unnecessary delays before failing with an error.
Particles: Fixed a crash when using a Stop Action set to Disable. (1311212)
Physics: Made mesh collider error more descriptive by including the path to the object. (1318366)
Profiler: Fixed sample names of samples in surrounding frames disappearing in Timeline view. (1317697)
Scene Manager: Fixed a second issue to make sure object are cleaned up properly if they are children of GameObject with DontSave flag. (1157422)
Scene Manager: Fixed an issue to ensure objects are cleaned up properly if they are children of GameObject with DontSave flag. (1309142)
Scripting: Fixed an issue with gc heap expansion memory being incorrectly attributed to Monobehaviour objects during deserialization operations. (1293562)
Scripting: Fixed errors in console when modifying the value of the 'Scripting Define Symbols' field in the Project settings. (1276428)
Scripting: Fixed exceptions getting logged in the Console when the Logger.logEnabled is set to false. (1311534)
Serialization: Fixed an issue inspecting enum fields on classes referenced with SerializeReference. (1304095)
Serialization: Fixed crash on JSONUtility read when class has both a field named "references" and [SerializedReference] fields. (1198073)
Serialization: Improved performance applying Prefab changes to TileMap. (1239162)
Shaders: Fixed incorrect array subscripts generated for OpenGL, OpenGL ES, Metal and Vulkan when using arrays or structs in global scope. (1318555)
Shaders: Fixed incorrect code generated by HLSLcc for textureQueryLod GLSL function. (1314040)
Shaders: Fixed reflection reporting for structs in the global scope for OpenGL and OpenGL ES. (1318610)
Shaders: Fixed reflection reporting for structs inside constant buffers for OpenGL, OpenGL ES and Metal. (1318619)
Shaders: Fixed reflection reporting for structs inside constant buffers for Vulkan. (1318559)
Shaders: Fixed shader keyword overflow when doing a build. (1297800)
UI: Fixed an issue when checking for CanBindTo with null sprite. (1310284)
Universal Windows Platform: Fixed an issue where the Certificate was not being set in the UWP publish settings with certain passwords. (1301223)
Video: Fixed an issue where VideoPlayer.frame was wrong during seek. (1290698)
Video: Fixed VideoPlayer where incorrect frame numbers would be returned for videos encoded with h.264 and non baseline profile on Windows. (1044776)
WebGL: Added handling for Norwegian Bokmal and Nynorsk in SystemInfo for macOS and Linux, and to SystemInfo in Runtime/Misc used by WebGL and MetroPlayer. (1288528)
WebGL: Fixed an issue where Chrome and Firefox browsers would fail to load on iOS 14.4. (1316861)
Windows: Fixed an issue where setting a custom cursor now respects Windows DPI and Ease of Access settings related to the cursor size. (1305480)
Windows: The Win10 SDK now gets installed properly. (1308226)
XR: Fixed an issue in frame debugger that caused the Unity Editor to freeze and various rendering issues. (1275361)
XR: Fixed an issue where shadows would jitter while rotating a camera at an extreme distance from the origin of the scene in mono rendering. (1281930)
XR: Fixed incorrect matrices when using PhotoCapture on Hololens 2.
XR: Fixed non-fullscreen viewport rect handling on non-stereo cameras when XR devices are enabled. (1319352)
XR: Fixed occlusion culling glitches when camera is close to the clipping plane and transitions between 2 baked occlusion areas. (1289059)
XR: Fixed Windows Mixed Reality PhotoVideoCamera positioning in the Unity scene. (1306048)
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
LTS Release 2019.4.23f1
Released: 24 March 2021
We are happy to announce Unity 2019.4.23f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.23f1
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Packman: User can't easily configure location of both UPM and Asset Store package local cache (1317232)
Cloth: Cloth is broken when parent GameObject scale is lower than 1 and Surface Penetration constraints are set 0 (1319488)
iOS: [WebGL] [iOS] video is not playing on iOS (1288692)
Terrain: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)
Shadows/Lights: Crash on ProgressiveRuntimeManager::GetGBufferChartTexture when entering UV Charts mode before baking lights (1309632)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Metal: [Apple M1] Crash on MTLGetEnvCase on startup when 'm_Automatic' is set to 0 in the ProjectSettings (1306688)
Graphics Device Backends: [Mac] Editor crashes on MTLGetEnvCase on startup when metalEditorSupport is set to 0 in the ProjectSettings (1298617)
Windows: The Cursor is visible when Cursor.visible is set to false and new InputSystem package is used (1273522)
Mobile Rendering: [Android][URP][OpenGLES] Only RenderQueue Transparent GameObjects are rendered if Opaque Texture is enabled and MSAA is 4x or 8x (1303685)
Shuriken: Crash on ParticleSystem::EndUpdateAll (1311212)
Linux: Linux Editor throws "X Server took longer than x miliseconds to respond to SetGtkWindowSizeAndPosition" error after opening (1309607)
Linux: "Out of memory!" crash when opening Unity on Ubuntu 20.04 (1262894)
Polybrush: [PolyBrush] Something went wrong saving brush settings Warning is thrown when Saving a Brush after opening the PolyBrush Window (1315475)
2019.4.23f1 Release Notes
Features
- Graphics: Added support for importing 16bit per channel integer formats without quantization. This also exposed new TextureFormats R16G16, R16G16B16 & R16G16B16A16.
Improvements
Graphics: Improved the application of outstanding pending changes to RendererScene after a camera render.
Scripting: Added support for Unity Version Defines in Assembly definition import options.
This feature improvement allows scripts to easily specify different code snippets for different Unity version ranges. This is especially useful for introducing calls to newly added public APIs, in which case these API calls needs to be guarded by defines based on a Unity version range of a given Unity version or later.
Unity version range expression syntax is the same as package version range expressions. Unity version format differs from package version format, thus Unity version expressions are evaluated based on some rules specific to the Unity version format:- Comparison of release types follows the following rules: a<b<f=c<p<x. So e.g. an alpha version is always smaller (earlier) than a beta version, regardless of the incremental version.
- The Unity versions are allowed to have suffixes (e.g 2020.1.3-acme) which are ignored by the Unity version comparison code.
- Chinese releases are equivalent to public releases (f) so for the sake of comparison in the version range expression 2020.1f3 would be equal to 2020.1c3
- Experimental releases don't include an incremental version - e.g. everything after 2020.2.1x would be treated as suffix and ignored by the version comparison.
- Comparison of release types follows the following rules: a<b<f=c<p<x. So e.g. an alpha version is always smaller (earlier) than a beta version, regardless of the incremental version.
API Changes
- Graphics: Added: Added new SystemInfo.supportsStoreAndResolveAction API to check for StoreAndResolveAction store action support on a specific platform.
Changes
Graphics: Updated postprocessing package to 3.0.3.
Graphics: Updated postprocessing package to 3.1.0.
Package: Updated com.unity.purchasing version to 3.0.1.
Particles: Ensure Force Field Components behave the same regardless of framerate. (1314426)
Fixes
2D: Fixed an issue where the PVRTC altas variant size adjustment led to incorrect sprite UVs. (1284374)
Android: Added .mov to supported extensions in VideoPlayer. (1282206)
Animation: Fixed an issue where the animation values in the import settings could not be changed if an event was selected. (1304022)
Asset Bundles: Fixed an issue where loading an asset from a bundle asynchronously while loading a texture synchronously causes a deadlock on the main thread. (1277297)
Asset Pipeline: Fixed a crash in the Editor when downloading corrupted metadata. (1306061)
Asset Pipeline: Fixed an issue that caused the editor to crash when asset database files are read only or locked by another process. (1208749)
Asset Pipeline: Fixed an issue that could cause a Crash/assert when building and uploading shaders. (1314042)
Asset Pipeline: Fixed an issue with Prefabs reimporting every time a code change is made. (1294785)
Asset Pipeline: Objects loaded during import in initial script refresh, are now unloaded. (1296506)
Build System: Fixed an issue that could cause ILRepack to be detected as a virus by mistake.
Editor: Fixed an issue causing invalid ScriptableObjects to added as a sub-asset causing the editor to crash during serialisation. (1257558)
Editor: Gracefully exit editor in the case where shader compiler process cannot be launched due to external conditions. (1319336)
GI: Fixed a crash in the progressive lightmapper seam stitching when adding a mesh containing NaNs. (1263058)
Graphics: Fixed 16-bit texture quantized to 8 bits during importing. (1212098)
Graphics: Fixed an issue that caused some scenes to throw DebugAssert 6 == cullData.shadowSliceCullPlanesCount[0] and could also cause a spotlight shadow rendering clipping error. (1250937)
Graphics: Fixed an issue that caused the Renderer data to get out of sync after the OnBecameVisible callback in SRP. (1311717)
Graphics: Fixed an issue where Renderer Scenehandles were becoming invalid due to the flush of pending changes after a Render. (1292526)
Graphics: Standalone Player crashes when minimizing and restoring window when using Vulkan. (1307801)
IL2CPP: Fixed a crash on startup with BOLT and IL2CPP when there was at least 1 Node present in a Graph. (1284772)
IL2CPP: Fixed an exception that could be throw if System.Data.DataCommonEventSource.ExitScope was called at runtime on a non-windows platform when managed code stripping is enabled. (1278839)
IL2CPP: Fixed an issue so that virtual methods with an in parameter of an array type now emits correct code. (1302459)
IL2CPP: Fixed an issue so that Windows Games CultureInfo.CurrentCulture value now reflects the current culture/locale. (1283306)
IL2CPP: Fixed an issue to avoid an incorrect InvalidCastException when a generic type using an enum generic parameter is cast. (1306288)
iOS: Added identifiers for all iPhone 12 models, 4th generation iPad Airs, 8th generation iPads. (1299093)
iOS: Added missing DPI information for newer devices. (1280059)
iOS: Fixed a regression that meant devices with memory over 2GB reported negative amounts of memory. (1319420)
iOS: Fixed a regression that stopped the built in deferred rendering path from working on some devices. (1317077)
iOS: Fixed Screen.dpi returning zero on some iPads. (1300359)
Linux: Fixed an issue that caused Package Manager's prompt to keep reappearing to resolve packages. (1315014)
macOS: Fixed some issues causing loss of input and occasional crashes when connecting and reconnecting controllers. (1315229)
Mono: Fixed a hang that would be encountered when mono's finalizer thread would compete with the debugger thread for a lock. (1288953)
Mono: Fixed an issue with System.XML depending on writing/reading from the registry caused macOS Notarization to fail. (1292941)
Package Manager: Fixed an issue where the update icon for assets takes a very long time to show when user have a lot of downloaded assets. (1315426)
Package Manager: Fixed an issue with Perforce where embedded packages would be checked out for edit after being fetched and imported into the project. (1279371)
Particles: Fixed a crash when calling TriggerSubEmitter with a null sub emitter. A warning will now be produced. (1300728)
Physics: Fixed an issue where adding a Cloth component would not compute the correct bounds for the related SkinnedMeshRenderer, unless update off-screen was toggled on. (1290726)
Physics: Fixed an issue with Cloth bounds computation where objects with non-uniform scale would cause the bounds to incorrectly expand. (1209765)
Physics: Fixed an issue with Cloth getting residual forces from meshes with bones. (1294086)
Physics: Fixed an issue with Cloth where attempting to use Undo functionality would result in a NullReferenceException. (1289060)
Physics: Fixed an issue with Cloth where the simulation would receive incorrect data during initialization, causing it to become jittery and offset the simulation space. (1257005)
Physics: Fixed an issue with the Cloth Inspector where constraints could end up being painted even though the brush was outside of the models bounds. (1296484)
Scripting: Fixed a hang that would manifest when the debugger agent would get stuck waiting to do a thread_join on a suspended thread. (1275345)
Serialization: Fixed crash when entering play mode or on domain reload with a MonoBehaviour larger than 2,147,483,647 bytes. (1313492)
Serialization: Fixed for hard to repro crash when using JSONUtility to deserialize objects that have Serialized References. (1296236)
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
LTS Release 2019.4.22f1
Released: 10 March 2021
We are happy to announce Unity 2019.4.22f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.22f1
Cloth: Cloth is broken when parent GameObject scale is lower than 1 and Surface Penetration constraints are set 0 (1319488)
Linux: Linux Editor throws "X Server took longer than x miliseconds to respond to SetGtkWindowSizeAndPosition" error after opening (1309607)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Profiling: [Profiler] Timeline sample names from surrounding frames disappear when zooming or panning (1317697)
Shader System: Crash on PAL_LocalIPC_IsConnected when IPC fails on launch (1319336)
Mobile Rendering: [Android][URP][OpenGLES] Only RenderQueue Transparent GameObjects are rendered if Opaque Texture is enabled and MSAA is 4x or 8x (1303685)
iOS: [WebGL] [iOS] video is not playing on iOS (1288692)
Metal: [Apple M1] Crash on MTLGetEnvCase on startup when 'm_Automatic' is set to 0 in the ProjectSettings (1306688)
Terrain: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)
Shadows/Lights: Crash on ProgressiveRuntimeManager::GetGBufferChartTexture when entering UV Charts mode before baking lights (1309632)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Mobile Rendering: [iOS][tvOS] Built-in deferred rendering path is not functioning on some devices (1317077)
Asset Import Pipeline: Crash on mdb_txn_begin when SourceAssetDB has a lock on it from another process (1208749)
Cloth: Skinned Mesh Renderer's Bounds Extent is set to half of the Transform's Scale when using a Cloth Component (1209765)
Shuriken: Crash on ParticleSystem::EndUpdateAll (1311212)
Audio: [editor][fmod][macOS] Editor is preventing Mac OS from entering sleep mode automatically (995866)
Serialization: Editor crashes on RaiseException when allocating huge amount of memory (1313492)
Linux: "Out of memory!" crash when opening Unity on Ubuntu 20.04 (1262894)
Graphics - LowLevel: vSyncCount does not work and targetFrameRate is not ignored when vSyncCount is used in the Play Mode (1305631)
Mobile: Screen.dpi returns 0 on iPad Pro for projects built from 2019.4.16f1 (1300359)
Windows: The Cursor is visible when Cursor.visible is set to false and new InputSystem package is used (1273522)
Serialization: JsonUtility Deserialization Corrupted Values (1296236)
Polybrush: [PolyBrush] Something went wrong saving brush settings Warning is thrown when Saving a Brush after opening the PolyBrush Window (1315475)
Graphics Device Backends: [Mac] Editor crashes on MTLGetEnvCase on startup when metalEditorSupport is set to 0 in the ProjectSettings (1298617)
2019.4.22f1 Release Notes
Fixes
2D: Fixed an ArgumentException when tangents and cache geometry are enabled on SpriteShapeController component. (1287237)
2D: Fixed an error when adding AngleRange to SpriteShapeProfile Preset that was reset before. (1273635)
2D: Fixed an InvalidOperationException thrown continuously on adding SpriteShapeController component to a GameObject with SpriteRenderer. (1240514)
Android: Fixed an issue that would cause the Editor to crash when Unity Remote is used in project and Android support not installed. (1302221)
Asset Import: Fixed a crash when changing IHVImageImporter Preset FilterMode value. (1295587)
Burst: Fixed a bug where eager-compilation could pick up out-of-date global Burst menu options for compiling.
Editor: Fixed a crash when using middle mouse button in SceneView during play mode in a scene that uses meshes from asset bundles. (1250013)
Editor: Fixed shaky camera behaviour when panning from great distances. (1178711)
GI: Fixed an assertion failure due to duplicate lightprobe assests being detected during an additive scene merge. (1211198)
Graphics: Fixed a Metal Graphics Jobs crash caused by an uncommitted encoder. (1227236)
Graphics: Fixed an issue that caused pixel-like grid artifacts on MacOS Catalina with some Intel graphics cards in the Scene View and Prefab view. (1255995)
Graphics: Fixed an issue where calling RenderTexture.ReleaseTemporary and then RenderTexture.GetTemporary could cause invalid load/store actions if the RenderTexture was active before being released. (1279714)
Graphics: Removed extra spacing added to some fields in the inspector. (1235884)
IL2CPP: Fixed a build error copying baselib.dll.lib when generating a Visual Studio project with IL2CPP. (1307512)
IL2CPP: Fixed a C++ compile error that can occur when a constrained call that returns a generic struct is followed by a stloc, with certain generic constraints. (1310304)
IL2CPP: Fixed an exception when converting a void method with a reqmod or optmod modifier. (1293309)
macOS: Fixed an issue that caused a duplicate "Replace" dialog when building iOS target. (1265065)
Mobile: Fixed issues where skin temperature was used on Game SDK 1.5 devices instead of PST to send initial temperature warning when devices are hot.
Networking: Fixed a possible division by zero in UploadHandlerFile. (1308017)
Networking: Fixed an issue that caused UploadHandlerFile.progress to only report 0 or 1. (1308013)
Package Manager: Fixed an issue that occured when the project manifest and the lock file were checked out after a UPM operation even though they were unchanged. (1263363)
Package Manager: Fixed an issue where Package Manager was asking for writable access when opening a project even though it only needed read access. (1263378)
Package Manager: Fixed an issue where the project manifest and lock file weren't checked out when they are made writable by Package Manager upon opening a project while upgrading project. (1263362)
Profiler: Fixed an issue to stabilize the sorting of identically named threads in the Profiler CPU Timeline view. (1283571)
Scripting: Fixed an issue where Application.wantsToQuit was not being raised before OnApplicationQuit in the Editor. (1261125)
Serialization: Fixed an issue in Custom PropertyDrawer containing fields inside a managed array of polymorphic classes. (1232538)
Serialization: Fixed an issue with the delay of the OnAfterDeserialization call on objects referenced by serializedreference until all serializedreference objects had been instantiated. (1245749)
Shaders: Fixed an issue that caused an editor crash due to unlucky timing when a shader compiler process is being killed.
Shaders: Fixed an issue where the "end of shader compiler log" printing to the editor log would crash when the compiler log was very small.
Shaders: Fixed shader compiler communication instability. (1314994)
UI: Fixed an issue where adjusting the canvas rendering size to render a custom camera render would cause scaling artifacts. (1301378)
API Changes
- XR: Added: Updated XR Plug-in Management to 4.0.1.
Improvements
Android: Dynamic resolution when using Vulkan now only supports scale factors in 5% steps to improve performance when switching resolution.
Scripting: Improved documentation for Application.isPlaying.
XR: Updated AR Foundation package dependencies to XR Management 4.0.
XR: Updated MagicLeap XR Plugin package to 4.2.2.
XR: Updated Oculus XR Plugin package to 1.8.1. Version 1.5.1 was also updated for anyone needing to build for Gear VR and/or Go.
XR: Updated WindowsMR to version 2.6.1.
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
LTS Release 2019.4.21f1
Released: 25 February 2021
We are happy to announce Unity 2019.4.21f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.21f1
Mobile: Screen.dpi returns 0 on iPad Pro for projects built from 2019.4.16f1 (1300359)
iOS: [WebGL] [iOS] video is not playing on iOS (1288692)
Linux: "Out of memory!" crash when opening Unity on Ubuntu 20.04 (1262894)
Serialization: Editor crashes on RaiseException when allocating huge amount of memory (1313492)
Windows: The Cursor is visible when Cursor.visible is set to false and new InputSystem package is used (1273522)
Linux: Linux Editor crashes with "mmap(PROT_NONE)" assertion failure during GC in Play Mode (1312972)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Mobile Rendering: [Android][URP][OpenGLES] Only RenderQueue Transparent GameObjects are rendered if Opaque Texture is enabled and MSAA is 4x or 8x (1303685)
Metal: [Apple M1] Crash on MTLGetEnvCase on startup when 'm_Automatic' is set to 0 in the ProjectSettings (1306688)
Terrain: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)
Shadows/Lights: Crash on ProgressiveRuntimeManager::GetGBufferChartTexture when entering UV Charts mode before baking lights (1309632)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Asset Import Pipeline: Crash on mdb_txn_begin when SourceAssetDB has a lock on it from another process (1208749)
Asset Import Pipeline: Prefabs are reimporting every time a code change is made (1294785)
Android: Crash with GenericRemote::CheckAndroidSDKPath when entering play mode (1302221)
Audio: [editor][fmod][macOS] Editor is preventing Mac OS from entering sleep mode automatically (995866)
Texture: uGUI in Texture2D is different than in the Game view when calling ToTexture2D() method on a RenderTexture (1301378)
Serialization: JsonUtility Deserialization Corrupted Values (1296236)
Polybrush: [PolyBrush] Something went wrong saving brush settings Warning is thrown when Saving a Brush after opening the PolyBrush Window (1315475)
Cloth: Skinned Mesh Renderer's Bounds Extent is set to half of the Transform's Scale when using a Cloth Component (1209765)
Graphics Device Backends: [Mac] Editor crashes on MTLGetEnvCase on startup when metalEditorSupport is set to 0 in the ProjectSettings (1298617)
XR: [XR SDK][Oculus] EarlyUpdate.XRUpdate spikes inconsistently (1262597)
2019.4.21f1 Release Notes
Fixes
Android: Fixed Java local reference leaking when using AndroidJavaClass/Object. (1283209)
Animation: Fixed an issue where setting the speed to an animatorControllerPlayable would not affect the speed of its child animation clips. (1304259)
Asset Pipeline: Fixed problem with ResourceManager that at startup sometimes could get invalid asset states. (1296212)
Audio: Fixed "Assertion failed on expression" message in console when disabling the audio system from the project settings while an audio clip preview is playing. Also, the preview playback will now stop in this scenario. (1232267)
DX12: Fixed the shader resource view indirect argument buffer. (1276431)
Editor: Exposed BuildUtility.BuildCanBeAppended to check for possibility of BuildOptions.AcceptExternalModificationsToPlayer usage. (1288856)
Editor: Fixed an issue where AlphaIsTransparency is no longer disabled in TextureImporter Presets. (1147407)
GI: Fixed an issue where TextureImporter now chooses the ETC2 format instead of PVRTC for directional lightmaps by default when build target is iOS. (1235359)
GI: Fixed Baking from the Reflection Probe Inspector. (1311231)
GI: Fixed two issues with transparent/cutout texture in URP not being baked or outlined correctly. (1246262)
Graphics: Fixed blit operation when source is null and a custom shader is being used. (1278604)
Graphics: Fixed Frame Debugger when using Camera.SetTargetBuffers. (1278884)
Graphics: Fixed incorrect shadows when using DrawMeshInstancedIndirect. (1281700)
Graphics: Fixed wrong game view rendering when using very special projection matrices with SRP. (1268477)
Graphics: Reseed will occur when calling an OnPlayEvent. (1300115)
IL2CPP: Corrected stack frame entries for instance methods on value types. (1289863)
IL2CPP: Corrected the behavior of asynchronous file stream reads. (1295116)
IL2CPP: Emit compilable C++ code for C# string literals containing the "\//" character sequence. (1288271)
IL2CPP: Ensure that FieldInfo objects for the same base class field from two different derived types do not match. (1295396)
IMGUI: Fixed text input field not scrolling when cursor is moved. (1268088)
iOS: Fixed crash when closing app while still loading ODR. (1289143)
iOS: Fixed GetKeyUp and GetKeyDown functions returning true on every frame. (1218784)
iOS: Fixed iOS crash on termination of app from background. (1301133)
iOS: Fixed UnityWebRequest sometimes getting stuck on iOS 14.2+ when using ARFoundation. (1299873)
Linux: Automatically install toolchain for building Linux IL2CPP players when Linux IL2CPP component present. (1275117)
Linux: Fixed a crash that occurred when Invalid window layouts are loaded. (1286251)
macOS: Fixed an issue that caused Xcode builds of the mac player to fail. (1297289)
Package Manager: Fixed version text for preview package. Remove the extra "Preview" in the version text.
Prefabs: Fixed an issue where changes to hidden components like ParticleSystemRenderer and VFXRenderer were not handled correctly in all cases when applying or reverting component modifications, added component overrides, or removed component overrides on Prefab instances. (1263007)
Prefabs: Fixed collection of direct dependencies on Prefabs. (1178737)
Prefabs: Fixed missing Modified Component option in the Component context menu of Particle System prefab when changing its properties. (1286409)
Profiler: Fixed an issue with sending enable/disable recording messages to connected players, where the player would not respond to the message correctly. (1271012)
Profiler: Fixed Hierarchy view expansion state not persisting properly across frames stemming from the same session and between Hierarchy and Raw Hierarchy views. Additionally this fixes a potential NullPointerException in ProfilerFrameDataTreeView.AddExpandedChildrenRecursively. (1242253)
Profiler: Fixed Mesh runtime size reporting in development builds, previously we would not track some of the mesh data when reporting memory footprint. (1268289)
Scene/Game View: Fixed rare crash when rendering gizmos after a script recompilation. (1259765)
Serialization: Fixed an issue to avoid YAML parse errors if script class had field names ending with "guid". (1273539)
Serialization: Fixed crash parsing invalid yaml containing : inside an inline mapping sequence []. (1302150)
Serialization: Removed "Unexpected node type" errors from JSONUtility when non-array input applied to an array field. (1201453)
Services: Fixed an issue where in some cases a game would stall on exit if analytics are enabled. (1300333)
Shaders: Fixed an issue where Shader compiler now handles CR line endings. (1297115)
Shaders: Fixed an issue where Shader compiler will no longer generate calls to bitfieldExtract when building for OpenGL ES 3 or WebGL 2. (1297812)
Text: Fixed / added support for selecting which font face and style will be loaded from TrueType Collection (TTC) font files. (1309610)
Text: Fixed excessive memory overhead when loading font files from Font objects. (1309608)
Text: Fixed glyph positional adjustments sometimes returning a value of -Infinity. (1309609)
UI Elements: Fixed a graphics issue with Intel drivers that caused unwanted stretching and clipping in the editor. (1309555)
UI Elements: Fixed errors caused by the use of the current culture to parse UXML attributes as float/double. (1308180)
UI Toolkit: Fixed an issue where the playmode tint was applied twice on UI Toolkit text. (1283050)
UI Toolkit: Fixed ToolbarToggle control when using label attribute instead of text. (1270242)
WebGL: Fixed audio not looping seamlessly in WebGL. (1189720)
Windows: Fixed a crash when closing Windows Standalone player from the task bar when the game window is not focused.
XR: Fixed CommandBuffer.SetRenderTarget() with XR single-pass rendering. (1261545)
API Changes
- GI: Added: Added two new callbacks: LightProbes.needsRetetrahedralization which is called whenever the current registered probes and tetrahedralization are out of sync, and LightProbes.tetrahedralizationCompleted which fires after (re-)tetrahedralization is done.
Changes
Android: Updated Android Logcat package to version 1.2.1.
Graphics: Updated SRP packages to 7.5.3.
Package Manager: Updated com.unity.purchasing to 2.2.2.
Timeline: Changed minimum version of the Timeline package to 1.2.18.
Improvements
Package: Updated ProBuilder to 4.5.0.
Prefabs: General prefab editor performance has been improved.
Scripting: Added a GC-free way to get stack trace in editor.
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
LTS Release 2019.4.20f1
Released: 10 February 2021
We are happy to announce Unity 2019.4.20f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.20f1
Asset Import Pipeline: Crash on mdb_txn_begin when SourceAssetDB has a lock on it from another process (1208749)
Android: Crash with GenericRemote::CheckAndroidSDKPath when entering play mode (1302221)
Global Illumination: Reflection Probe is not baked after pressing "Bake" button in the per-probe Inspector window (1311231)
Asset Import Pipeline: Prefabs are reimporting every time a code change is made (1294785)
Mobile Rendering: [Android][URP][OpenGLES] Only RenderQueue Transparent GameObjects are rendered if Opaque Texture is enabled and MSAA is 4x or 8x (1303685)
Metal: [Apple M1] Crash on MTLGetEnvCase on startup when 'm_Automatic' is set to 0 in the ProjectSettings (1306688)
Cloth: Skinned Mesh Renderer's Bounds Extent is set to half of the Transform's Scale when using a Cloth Component (1209765)
Terrain: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)
Shadows/Lights: Crash on ProgressiveRuntimeManager::GetGBufferChartTexture when entering UV Charts mode before baking lights (1309632)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Texture: uGUI in Texture2D is different than in the Game view when calling ToTexture2D() method on a RenderTexture (1301378)
Windows: The Cursor is visible when Cursor.visible is set to false and new InputSystem package is used (1273522)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Graphics Device Backends: [Mac] Editor crashes on MTLGetEnvCase on startup when metalEditorSupport is set to 0 in the ProjectSettings (1298617)
Audio: [editor][fmod][macOS] Editor is preventing Mac OS from entering sleep mode automatically (995866)
Scene/Game View: [Wild Crash] Editor crashes on mono_aot_get_cached_class_info when GizmoSetup has cached an outdated data (1259765)
Profiling: Once paused, the Profiler does not resume recording when profiling WebGL player (1271012)
Profiling: [Profiler] playerLoop call is automatically expanded in Raw Hierarchy when Profiler.CollectEditorStats is expanded in Hierarchy (1242253)
Asset Import Pipeline: UnobservedTaskException:System.Exception: Failed to load an internal asset stored when using LoadInternalResource (1296212)
Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)
iOS: UnityWebRequest doesn't work when using a 14.2+ iOS device (1299873)
XR: [XR SDK][Oculus] EarlyUpdate.XRUpdate spikes inconsistently (1262597)
2019.4.20f1 Release Notes
Fixes
AI: Fix issue with crash during building Navmesh from multi-floor multi-area-type source. (1273805)
Animation: Fixed an issue where low numbers of Animators would not multithread correctly. (1297358)
Asset Import: Removed unsupported layerElement reference mode error logs. (1225010)
Asset Pipeline: Fixed an issue where the AssetDatabase could unload active AssetBundle streams, causing object data to be incomplete (1256745, 1281356)
Burst: Fixed a bug where explicitly casting from an int to IntPtr would not sign extend the value.
Burst: Fixed a crash when a call to
System.Diagnostics.Debugger.Break
from a Burst-compiled job or function pointer was called without a debugger attached. (1304756)Burst: Fixed an issue where Burst would erroneously error on BurstCompile.CompileFunctionPointer calls when building for the DOTS Runtime.
Burst: Fixed clang segmentation fault on iOS when member function debug information was emitted, it is disabled for this platform now.
Burst: Fixed DOTS Runtime JobProducer Bursting code to support JobProducers with multiple generic arguments, complex job wrapper and generic jobs.
Burst: Fixed managed implementations of blend_epi32 and mm256_blend_epi32 intrinsics on Mono
Burst: Intrinsics: Neon - fixed vget_low and vget_high producing suboptimal code
Editor: Fixed audio clip preview playback position when clicking on the waveform (1294273)
Editor: When installing the Windows editor, installing Linux Mono support alongside Linux IL2CPP support will no longer overwrite Linux IL2CPP support (1276104)
GI: Make reflection probe encoding independent of convolution type on mobile. (1269207)
Graphics: Fixed incorrect GeometryJob Fence initialisation causing graphical corruption in UI canvas rendering. (1290714)
Graphics: Fixed issue where reflections flicker when using SRP Batcher and Custom SRP (1301727)
Graphics: Missing clamp in spawn count when the system support reaping particles (1122404)
iOS: Fixed builtin deferred renderer using 2 extra encoders to just clear GBuffer (1277009)
iOS: Fixed Unity Framework warnings in built iOS project.
Particles: Fixed material batching and shadow rendering by making the particle system trail material optional. (1264831)
Particles: Fixed ParticleSystemRenderer GetMeshes freezing when one of its meshes had been destroyed and had gone null. (1238765)
Scripting: Allow CreateDelegate to work when the delegate type returns an integer, but the method type returns an enum. (1288796)
Scripting: Fixed crash that would occur when we would attempt to deserialize and new a class that is not fully instantiated. (1293534)
Scripting: Fixed incorrect UTC offset during daylight savings time transitions (1288231)
Scripting: Fixed issue where CreateNLSocket on posix systems would return an incorrect handle. (1292368)
Shaders: Fixed a crash when trying to set keywords on a material that has no shader assigned (1297087)
Shaders: Fixed an issue where saving a ShaderVariantCollection could result in shaders missing from the file. (1293591)
Shaders: Fixed Editor failures due to shader compiler communication issues when using some VPN solutions.
Shaders: Fixed local keyword from UsePass not working in the shader that uses the pass (1292128)
Shaders: Fixed shader memory being attributed to ShaderLab instead of individual shaders (1292198)
Text: Fixed bug where changes to TextMesh.color could be rendered a frame too early. (1252193)
UI Toolkit: Fixes performance of Line Renderer list of positions when its size is big enough to require scroll on the Inspector view (1296193)
Video: [MacOS] UrlSource streaming stutters in Video Player (1227128)
WebGL: Fixed a crash at startup that occurred if initial filesystem data triggered a heap resize. (1174367)
Windows: Fixed rendering freezing when switching from windowed mode to exclusive fullscreen and back on D3D11 and D3D12 graphics API when Nahimic software is installed and NahimicOSD.dll injects itself into the game. (1265095)
Windows: Fixed Windows player infrequently deadlocking when changing fullscreen modes on D3D11 and D3D12 graphics APIs.
XR: ApplicationInfo was not being properly populated on Lumin platfom. (1304736)
XR: Updated the verified AR Foundation related packages to 2.1.14. Please see the AR Foundation package changelog for details.
API Changes
- iOS: Added:
iOS.Device.iosAppOnMac
flag to check if app built for iOS is running on Mac equipped with Apple Silicon chip.
Changes
GI: Make the default skybox probe and ambient probe automatically baked until a first manual bake is done. (1250293)
XR: Updated verified Windows Mixed Reality package to version 2.6.0.
Improvements
iOS: Under some circumstances, interim AA resolve will no longer result in an extra texture copy
Package: Upgrading input system package to 1.0.2
Shaders: Improved a warning about arrays in property sheets being capped to previous size (1297245)
Timeline: Updated Timeline package to version 1.2.18
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
LTS Release 2019.4.19f1
Released: 1 February 2021
We are happy to announce Unity 2019.4.19f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.19f1
Asset Import Pipeline: UnobservedTaskException:System.Exception: Failed to load an internal asset stored when using LoadInternalResource (1296212)
Graphics Device Backends: [Mac] Editor crashes on MTLGetEnvCase on startup when metalEditorSupport is set to 0 in the ProjectSettings (1298617)
Audio: [editor][fmod][macOS] Editor is preventing Mac OS from entering sleep mode automatically (995866)
Asset Import Pipeline: Prefabs are reimporting every time a code change is made (1294785)
Android: Crash with GenericRemote::CheckAndroidSDKPath when entering play mode (1302221)
Mobile Rendering: [Android][URP][OpenGLES] Only RenderQueue Transparent GameObjects are rendered if Opaque Texture is enabled and MSAA is 4x or 8x (1303685)
iOS: UnityWebRequest doesn't work when using a 14.2+ iOS device (1299873)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Texture: uGUI in Texture2D is different than in the Game view when calling ToTexture2D() method on a RenderTexture (1301378)
Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)
Profiling: [Profiler] playerLoop call is automatically expanded in Raw Hierarchy when Profiler.CollectEditorStats is expanded in Hierarchy (1242253)
UI Toolkit: [UIR] Rendering is broken with UIToolkit with many Intel GPUs (driver-bug) (1309555)
XR: [XR SDK][Oculus] EarlyUpdate.XRUpdate spikes inconsistently (1262597)
Shader System: Freeze or crash with various stack traces when opening a project while connected to a VPN service (1025558)
Profiling: Once paused, the Profiler does not resume recording when profiling WebGL player (1271012)
Window Management: A second blank editor window is opened and may cause a crash when opening a project (1286251)
Scene/Game View: [Wild Crash] Editor crashes on mono_aot_get_cached_class_info when GizmoSetup has cached an outdated data (1259765)
2019.4.19f1 Release Notes
Fixes
2D: Fix TilemapRenderer in Individual mode not rendering Tiles with Tilemap Color (1295449)
AI: Fixed exception when requesting a path with a negative agent type ID. (1278829)
Android: Fix Application.targetFrameRate and Screen.currentResolution.refreshRate on some variable refresh rate displays (1297149)
Android: Fix regression in 180 degree rotation reporting. (1273594)
Android: SafeArea size not being correctly calculated when resolution is changed. (1285223)
Animation: Fixed crash caused by AnimationState using invalid reference. (1256962)
Asset Pipeline: 'Verify Saving Assets' option causes a NullReferenceException to be thrown when saving certain Assets (1257929)
Asset Pipeline: Fix for bug where the main object would change after renaming a native asset (1189089)
Asset Pipeline: Fixed an issue where an inconsistency can be introduced in the asset database when duplicating folders - affects ADBv1 only. (1292015)
Audio: Fix certain audio clips encoded to Vorbis or for WebGL builds from failing playback despite completing import without errors. (1293595)
Build Pipeline: Fix Unity command line player build failing due to invalid path argument to '-buildLinux64Player' (1285375)
Build Pipeline: Fixed a case where calling GetImplicitAssetBundleName or GetImplicitAssetBundleVariantName on a deleted asset would throw an incorrect exception and return invalid values. (913864)
Build Pipeline: Fixed a case where IOrderedCallback returning int.Max or int.Min could be called in incorrect order. (1282571)
Build Pipeline: Fixed a case where selecting a dll while the Build Window was open could throw exceptions. (1137088)
Build Pipeline: Fixes instability in Lzma compressor where a complete signal could be fired and the compressor will exit before processing all data. (1170712)
Editor: added missing keycode mappings for special characters (e.g. ^, ~, |) (1281473)
Editor: Fixed issue where scene visiblity/picking didn't work with objects in the DontDestroyOnLoad scene. (1234777)
GI: Increase numerical stability in tetrahedralization code. (1287878)
Graphics: Fix Particle System incorrect rendering order when using 'Sorting Fudge'. (1256788)
Graphics: Fixed cascaded shadows from directional lights suddenly disappearing under certain nearplane/shadow distance constellations. This error was occurring when Stable Fit shadow cascades were used. (1225499)
Graphics: fixed metal/vulkan shaders sometimes referencing inputs omitted by the compiler. (1277144)
Graphics: fixed metal/vulkan shaders sometimes referencing outputs omitted by the compiler. (1290551)
Graphics: Fixed missing support for coarse/fine derivatives in shader code.
Graphics: properly warn about double usage in shaders on metal. (1281502)
Graphics: Texture2D.PackTextured changes so that compressed textures with mips and a padding greater than zero are now decompressed (see documentation for details) (1063640)
IMGUI: Fixed the text cursor becoming invisible if an exception was thrown from inside of SelectableLabel. (1293370)
iOS: Added iPhone SE 2nd Generation to DeviceGeneration (1280059)
iOS: Fixed game crashing after using Social.LoadUsers and then changing scene (1270230)
Kernel: Print info about which allocator Unity engine is using. (1296992)
Linux: Fixed crash on startup if the layout file is corrupted. (1275287)
Networking: UnityWebRequest: DownloadHandler.text will handle exception if encoding is not supported (fallback to UTF-8) (1288445)
Package Manager: Fixed an issue where missing
localhost
in the hosts file configuration could prevent Unity from connecting to the Unity Package Manager. (1295543)Package Manager: Fixed issues when using Unity Package Manager on Intel's 10th generation processor. (1238432)
Package Manager: Fixed issues where updates to outdated Assets does not show up in the Package Manager UI (1304459)
Prefabs: Fix distorted UI for Prefab override comparison window when a changed component is selected. (1069062)
Profiler: Fixed "Show Calls" view not counting Calls correctly for the "Called From" section in Profiler Window (1180144)
Profiler: Prevent the chart separator lines from disappearing when resizing or scrolling in the Profiler window. (1293049)
Scene Manager: Fix GetManagerFromContext crash when unloading a Scene while loading another Scene asynchronously with allowSceneActivation = false (1092438)
Serialization: Fix crash reordering array of struct, containing SerializeReference fields and non SerializeReference fields as well under certain circumstances. (1302360)
Serialization: FormerlySerializedAs attribute now correctly new value instead of old value if both are present. (1296458)
Serialization: ProjectSettings will now get re-serialized as text instead of as binary. (1289736)
Shaders: Exposed Render Queue control on the Standard shader (1287934)
Shaders: fixed handling of the scalar after the matrix that is not 4xN (1242345)
SpeedTree: A Fix button now will appear in Mesh Renderer and LOD Group component inspector if Unity detects wrong SpeedTree shader is used (for instance Nature/SpeedTree8 shader is used for meshes that come from SpeedTree 7 assets, and vice versa), and will correct them if clicked. (1237736)
UI: Add option to not activate the inputfield on selection. Helpful for controller based platforms where navigating to items is required to navigate UI. (1268708)
Universal Windows Platform: Fixes a rare crash within TouchScreenKeyboard caused by a race condition (1286442)
Universal Windows Platform: Fixes old TouchScreenKeyboard and XAML forms from being used in XAML HoloLens apps (1256386)
Video: VideoPlayer.frameReady not invoked for some frames. (1187256)
WebGL: Fix a memory error crash when using the "Convert To Entity" component. (1254779)
Windows: Fix Cursor not updating in the Player when using NewInput (1238158)
Windows: We now log the full Windows 10 version including edition, build (with UTR) Version, and architecture when running the editor for better diagnosis. (1251004)
API Changes
- Build Pipeline: Added: Backported NonRecursive Dependency Calculation and Fast Asset Representation Build Pipeline APIs for improvements in the Scriptable Build Pipeline.
Changes
Shaders: Increased the global shader keyword limit to 384.
XR: The Oculus XR Plugin package has been updated to 1.7.0.
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
LTS Release 2019.4.18f1
Released: 13 January 2021
We are happy to announce Unity 2019.4.18f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.18f1
Asset Import Pipeline: Prefabs are reimporting every time a code change is made (1294785)
Serialization: Crash on WalkTypeTreeComplete<
SerializedProperty::ContainsManagedReferences'::
2'::IsManagedReferenceVisitor> (1302360)Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)
Audio: [editor][fmod][macOS] Editor is preventing Mac OS from entering sleep mode automatically (995866)
Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)
Graphics Device Backends: [Mac] Editor crashes on MTLGetEnvCase on startup when metalEditorSupport is set to 0 in the ProjectSettings (1298617)
Profiling: Once paused, the Profiler does not resume recording when profiling WebGL player (1271012)
Shader System: Freeze or crash with various stack traces when opening a project while connected to a VPN service (1025558)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
iOS: [iOS 14] VideoPlayer crashes on EXC_BAD_ACCESS or signal SIGABRT when audioOutputMode is set to APIOnly or Audio Source (1274837)
Asset Import Pipeline: Parent and child nested Scriptable Object Assets switch places when parent Scriptable Object Asset is renamed (1189089)
iOS: Crash on il2cpp::vm::LivenessState::AddProcessObject when using Social.LoadUsers and then changing scenes (1270230)
XR: [XR SDK][Oculus] EarlyUpdate.XRUpdate spikes inconsistently (1262597)
Packman: Package Manager doesn't show available updates (1304459)
WebGL: [Audio] "Cannot create FMOD" Error when importing 3D Game Kit project on webGL (1293595)
2019.4.18f1 Release Notes
Fixes
2D: Reduce memory used for Automatic Slicing of Sprites. (1263213)
Android: Disable Optimized Frame Pacing on Android 4.4-5.1 to fix crash/freeze (1268910)
Asset Import: Ensure 3DS Importer handles NaN vertices. (1268563)
Asset Import: Fixed issue with OnAssignMaterialModel next methods not called even when the first one returns a null object. (1280978)
Build Pipeline: SerializeReference instance types are now preserved when setting Player.Optimization.Managed Stripping Level to Medium or High. (1232785)
Build Pipeline: StreamingAssets AssetBundle manifest is now provided by default to PlayerBuild, which will result in types being referred by AssetBundle being kept in the build even if Player.Optimization.Managed Stripping Level is set to Medium or High.
Editor: Fixed "Run in background" option causing a dramatic increase in CPU usage. (1275832)
Editor: Fixed an issue where 'Failed to destroy editor window' warning message appears on the console when the project is migrated from 2019.4 to 2020.1(or higher)
Editor: Fixed cannot load editor layout, stuck in infinite loop of "failed to load window layout". (1275270)
GI: Fixed crash in Enlighten::CpuUpdateManager::UpdateGpuTexture when starting GI bake after baking previous scene with GPU progressive lightmapper. (1250819)
GI: Fixed debug Editor failing in CheckAutoLDA.AssertLightprobesInAutoLDA. (1216793)
Graphics: - When allocating textures that go over the limit of Unity 2019.4 we display an error message instead of crash. (1267258)
Graphics: Dead particles count isn't read correctly on Switch leading to VFX can disappear before their lifetime end.
Graphics: Editor text on Mac OSX will no longer randomly become corrupted. (1267885)
Graphics: Fixed Texture2DArray, CubemapArray and SparseTexture being not supported in batch mode (1291999)
Graphics: Update SRP packages to 7.5.2
Graphics: [SRP] Shadows could flicker when more than one Spot Light is set on multi-thread machine (1190147)
IL2CPP: Fix file and directory patterns ending with ".*" incorrectly including files names that partially match on non Windows platforms. (1286554)
macOS: Fixed Apple silicon DTK freezing when running Unity. (1292999)
Mobile: Fix InputField errors when selecting text with Hide Mobile Input enabled. (1247399)
Particles: Fixed assertion failure caused by active ParticleSystems. (1272220)
Prefabs: Fix lost references when applying added GameObject from context menu. (1237942)
Profiler: Fixed Hierarchy Views randomly collapsing (i.e. hiding their children) parts of the sample tree when Editor Only samples are present in a frame and the "Collapse EditorOnly Samples" option is turned on (default setting is on). (1297955)
Profiler: Fixed Profiler connection dropdown not showing multiple players running on the same machine (1271502)
Scripting: Fix crash that may occur when using stackalloc. (1172987)
Terrain: Paint Tools which are overriden forward shortcut selection to the tool that is overriding them. (1251645)
UI: Fixed issue where the tiling and offset were no longer applied at the material level (1287864)
Video: [macOS][iOS][tvOS] Video Player lags when Playback Speed is changed (1168597)
Video: [osx] crash when playing a video at speed > 2x. (1240116)
Video: [Test][Video][Android]VideoTrack tests broken (1203336)
Web: UnityWebRequest: fix possible data corruption in UploadHandlerFile (1238418)
Windows: Fixes crashed in PhraseRecognizer when mic disconnected (1268538)
XR: updates com.unity.xr.legacyinputhelpers to 2.1.7
fixes automation compilation error when URP and HDRP are in the same project.
fix for isolated compilation (1297184)
Changes
UI: Changed the Shader property for soft masking from _MaskSoftnessX / Y to _UIMaskSoftnessX / Y so we dont overlap with TMP's shader properties.
XR: Updated Windows XR SDK Plug-in to 2.5.2
XR: Updated XR Plug-in Management to 3.2.17
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
LTS Release 2019.4.17f1
Released: 22 December 2020
We are happy to announce Unity 2019.4.17f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.17f1
Asset Import Pipeline: Parent and child nested Scriptable Object Assets switch places when parent Scriptable Object Asset is renamed (1189089)
Asset Import Pipeline: Prefabs are reimporting every time a code change is made (1294785)
Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
IL2CPP: UnityLinker strips classes used with the SerializeReference attribute (1232785)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Profiling: Once paused, the Profiler does not resume recording when profiling WebGL player (1271012)
Profiling: [Profiler] Hierarchy randomly hides parts of the sample hierarchy if Editor Only Samples are present and set to be Collapsed (1297955)
Shader System: Freeze or crash with various stack traces when opening a project while connected to a VPN service (1025558)
Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)
WebGL: [Audio] "Cannot create FMOD" Error when importing 3D Game Kit project on webGL (1293595)
XR: [XR SDK][Oculus] EarlyUpdate.XRUpdate spikes inconsistently (1262597)
iOS: Crash on il2cpp::vm::LivenessState::AddProcessObject when using Social.LoadUsers and then changing scenes (1270230)
iOS: [UaaL] UnityFramework with 3rd party plugins triggers watchdog termination after launch (1262272)
iOS: [iOS 14] VideoPlayer crashes on EXC_BAD_ACCESS or signal SIGABRT when audioOutputMode is set to APIOnly or Audio Source (1274837)
2019.4.17f1 Release Notes
Fixes
2D: Added missing tooltips in the Sprite Skin inspector (1285255)
2D: Added missing UIElement dependency for 2d common package
2D: Fixed 2D Animation Package doesn't reflect its dependency to the com.unity.modules.animation package
2D: Fixed vertical slider handle is not aligned and placed slightly to the right side in the Bone Influence wind (1260568)
Android: Export gradle project failing when using custom base build.gradle only the first time. (1245249)
Android: Fix bug where draws after indirect draw result in corrupt geometry on Adreno (1271258)
Android: Fixed issue when Unity Remote system is unable to connect to Android devices due to incorrect adb executable file path. (1251622)
Android: When running external tools, print error messages as two items in Editor console instead of item per line. (1269685)
Animation: Fixed a Playmode crash in the Editor that happens after modifying scripts while animating certain UI Components using the Animation Component. (1238859)
Asset Import: Import Fixed issue with ModelImporter not using rotation pivots as centers during pivot conversion when resampleCurves is disabled. (1283884)
Audio: Fixed audio in timeline preview not pausing/resuming when changing focus between the editor and other applications. (1016423)
Core: Fixes crash when IME Strings got too long. (1226610)
Editor: Fixed an issue that would result in the Unity Editor Update Check window opened in an incorrect state followed by the Editor crashing. (1285668)
Editor: Fixed an issue where clicking the right edge of textures icon in material inspector would open a asset selection window. (1248553)
Editor: Fixed exception when deleting folder in Favorite (1229937)
Editor: Reverted fontRenderingMode from FontRenderingMode.Smooth back to FontRenderingMode.OSDefault (1262281)
Editor: The Linux editor main window now correctly remembers saved window layout (1258663)
GI: Make GPU lightmapper work on Apple Silicon
GI: Prevent user from assigning realtimeTexture to a customProbe, and show a warning if he tries. (1243849)
Graphics: Correct priority for the vfx assets (1284439)
Graphics: CPU optimisation for graphics memory allocation/deallocations.
Graphics: Fix missing type check from VFX component sheet, error possible if (1258022)
Graphics: Fix targetTexture rendering black screen when changing it in OnPreRender(). (1274376)
Graphics: Fixed corruption that can occur in font characters texture on some iOS 14 devices when using RequestCharactersInTexture. (1290509)
Graphics: Fixed frame debugger not showing correct keywords when stage-specific shader features are used (1261620)
Graphics: Fixed GLES device leaking texture IDs in some circumstances (1261513)
Graphics: Fixed issue where speedtree textures were becoming unbound after clicking "Regenerate materials". (1231184)
Graphics: Player crashes with Size overflow in allocator from AllocAndFillInstancedData (hybrid v1) (1289613)
Graphics: Separate samplers support for Nintendo Switch.
Graphics: terrain tree imposters transparency fix on GLES (1287879)
Graphics: Texture2D arrays will no longer crash when using the metal renderer if the color format is invalid.
Graphics: Tree billboards now rotate correctly while the camera is moving on mobile platforms (1242389)
Graphics: [VFX] SRP Batcher issues with VFX Shadow-casters (1296980)
IL2CPP: Fix a case where an interface could be incorrectly removed from a type when no .ctor for that type was marked. (1222808)
Linux: Fixed game controller and joystick serial numbers (1269974)
Mobile: Fix iOS 11+ motion API feature access generating warnings on iOS 10 builds
Package: Clean up bundled burst packages to reduce installer size
Package: Debug information for instance methods is now correctly scoped. This means instance variables can now be inspected correctly.
Package: Fixed a bug in LLVM that it would incorrectly convert some memset -> memcpy if both pointers derived from the same memory address, and where one indexed into the 0th element of the pointer.
Package: Fixed a bug whereby if you had an assembly that was guarded by UNITY_SERVER, Burst would be unable to find the assembly when Server Build was ticked.
Package: Fixed a failure on linux builds where libdl.so cannot be found.
Package: Fixed alignment issues associated with xxHash3 on ArmV7 (case 1288992)
Package: Fixed issues with Intel intrinsics mm256_inserti128_si256, mm256_bslli_epi128, mm256_bsrli_epi128
Package: Fixed managed (reference) implementation of mm256_cvttps_epi32 (case 1288563)
Package: Fixed managed implementation of sub_ss intrinsic
Package: Made
math.shuffle
compile correctly when non-constantShuffleComponent
's are used.Package: When "Enable Compilation" was unchecked in the Burst menu, Burst was incorrectly enabled after an Editor restart. This is now actually fixed.
Package Manager: Fixed the issue where PackageList have null ref errors when domain reload happens during Asset Store list request
Package Manager: Packages installed as a dependency are now listed in the 'In Project' tab of Package Manager Window.
Particles: Limit the rendering cache size to avoid using lots of memory when using multiple cameras. (1270438)
Playables: Fixed crash in playable graphs when multiple notification receivers callbacks exist and change the source playable graph in a destructive manner (1290690)
Profiler: Fix CPU Module Detailed view sorting when search field is active (1214785)
Profiler: Fixed a situation when Profiler remains active even with Profiler window closed in play mode. (1249581)
Profiler: Fixed visualization of a selected frame which is no longer available in Profiler hierarchy view to unify hierarchy and timeline view behavior (1242627)
Scripting: : Fixed crash during Domain Reloads after modifying scripts. (1262671)
Scripting: DEVELOPMENT_BUILD is included in Assembly define list when EditorUserBuildSettings.development is set to true (1294142)
Scripting: Fix generic mono array overwrite in bindings code. (1268308)
Serialization: Ensure that SerializedProperty.DataEquals works consistently even on fields prior to an alignment boundary. (1294238)
Serialization: SerializeReference reuse polymorphic instances when changing specific values in the inspector. (1193322)
Shaders: Fixed allocator errors due to orphaned memory when canceling a build during shader compilation. (1224325)
Shaders: Fixed incorrect shader code generated for Vulkan in some cases when tessellation is used (1256838)
Shaders: Fixed out of bounds access to static const arrays in generated GLSL code. (1276781)
Terrain: Undoing after removing terrain layer correctly restores alphamaps. (1276283)
UI: Fallback to non SRP when rendering uGUI's profiler rerender even if SRP is in use. (1275870)
UI: OnDrop callback not being called when using a TouchScreen (1279352)
WebGL: Added support for PVRTC and RG16 textures. Enable use of high-performance WebGL GPU powerPreference. (1187965)
WebGL: Fixed a bug with compressed single channel textures attempting to target unsupported BC4 compression format. (1274662)
XR: Fixed issue where attempting to launch a VR application when default rotation mode was set to autorotate would fail an assertion. (1275158)
API Changes
- Editor: Added: Added EditorUtility.IsRunningUnderCPUEmulation to detect whether Unity is running under CPU emulation.
Changes
Package: Improved our hashing performance some more by re-using fixed-sized buffers in the compiler to improve eager-compilation / warm-cache costs by 1.25x.
Package: Improved the performance of in-compiler hashing by 1.2x.
Package: Preserve the frame pointer when debugging is enabled to aid debugging.
Package Manager: com.unity.purchasing updated to 2.2.1, adding full support for the implementation of GooglePlay Billing Library v3 library in the Asset Store In-App Purchasing module (includes an essential runtime hotfix over 2.2.0).
Shaders: Editor now skips warming up shaders from shader collections in the Preloaded shaders section of Graphics settings
Improvements
- Mobile: com.unity.mobile.notifications updated to 1.3.2
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
LTS Release 2019.4.16f1
Released: 2 December 2020
We are happy to announce Unity 2019.4.16f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.16f1
Asset Import Pipeline: Parent and child nested Scriptable Object Assets switch places when parent Scriptable Object Asset is renamed (1189089)
Asset Import Pipeline: Prefabs are reimporting every time a code change is made (1294785)
Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
IL2CPP: UnityLinker strips classes used with the SerializeReference attribute (1232785)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
Mono: Crash with various stack traces when exiting Play Mode after recompiling scripts (1238859)
Scripting: Crashes on mono_class_init when entering Play Mode after recompiling scripts (1262671)
Serialization: [SerializeReference] Polymorphic instances are always recreated when applying any inspector value change (1193322)
Shader System: Freeze or crash with various stack traces when opening a project while connected to a VPN service (1025558)
Shader System: [Shaders] 'TLS Allocator' errors and Allocation logs are continuously thrown after cancelling a build in progress (1224325)
Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)
WebGL: [Audio] " Cannot create FMOD" Error when importing 3D Game Kit project on webGL (1293595)
Window Management: [MacOS] Crash on -[ContainerWindowDelegate windowWillClose:] when closing "Unity Editor Update Check" window on a new project (1285668)
XR: [XR SDK][Oculus] EarlyUpdate.XRUpdate spikes inconsistently (1262597)
iOS: Crash on il2cpp::vm::LivenessState::AddProcessObject when using Social.LoadUsers and then changing scenes (1270230)
iOS: [UaaL] UnityFramework with 3rd party plugins triggers watchdog termination after launch (1262272)
iOS: [iOS 14] VideoPlayer crashes on EXC_BAD_ACCESS or signal SIGABRT when audioOutputMode is set to APIOnly or Audio Source (1274837)
2019.4.16f1 Release Notes
Fixes
2D: Fix issue where when using Safe or Smart slicing causes some sprite rects to become parented or unselectable (1264701)
AI: Fixed an issue where CreateLocation does not return correct projection of an input point on an OffMeshLink. (1246726)
Android: Fix all microphones reporting recording when only one actually is recording. (1278739)
Android: Fix Android build error when OBB size exceeds 2GB (1272239)
Android: Fix error logging when using optimized frame pacing (1284522)
Android: Fix OpenGL ES error generated by ETC texture uploads on very old Adreno drivers (1286820)
Animation: Fixed a bug where the application would crash when creating an animation mixer playable during an animation blending (1290319)
Asset Bundles: Fix AssetBundle related race condition that would occasionally crash when calling AssetBundle.Unload while an async load operation out of that AssetBundle was in progress. (1228306)
Asset Bundles: Fix main thread hitching when loading an AssetBundle asynchronously while loading other assets in the background.
Audio: Fix player "hang" when multiple load-in-background clips are in the initial scene (1280491)
Build Pipeline: 'Compress Assets on Import' setting no longer gets enabled each time a player is built (1277242)
Build Pipeline: Fix errors in build when many assemblies are passed to UnityLinker or BuildPlayerDataGenerator. (1267783)
Editor: Fixed an issue on Mac where user-defined NSWindows could not get copy/paste events (1279756)
Editor: Fixed color picker in shader graph doesn't work on mouse up. (1289161)
Editor: Fixed the warnings when a UI asset is loaded for the first time in the editor (1263521)
Graphics: Custom spawner on disabled visual effect component not correctly cleaned before domain reload. (1261343)
Graphics: Fix SRP not firing visibility callbacks when an object is indirectly became visible due to shadow culling. (1286377)
Graphics: fixed an issue when there is a change in antialiasing requirements when camera preview texture is visible a lot of console errors happen (1176014)
Graphics: fixed an issue when there is a change in antialiasing requirements when camera preview texture is visible a lot of console errors happen (1215229)
Graphics: Fixed crash when loading assetbundle texture with out-of-bound mipmap bias value in DX12. (1179311)
Graphics: Fixed crash with accessing invalid texture id. (1277836)
Graphics: Fixed hang while importing large amount of materials. (1214197)
Graphics: Fixed terrain reverting to builtin material after having been upgraded using URP upgrader (1204189)
Graphics: SRP Batcher better per shader sort during shadow pass (1261542)
Graphics: SRP Batcher compatibility randomly changes after shader is reimported (1262921)
Graphics: Texture memory used by Vulkan was more than that reported other APIs. With this change we are now releasing unused texture memory and so the texture memory used by Vulkan should be similar to other APIs. (1223298)
Graphics: Using Mesh Compression import setting on non-standard vertex data formats no longer crashes. (1267820)
IL2CPP: Fixed issue where Directory.GetFiles (and similar) could return the same filename more than once for patched files (1244056)
IL2CPP: Make Runtime generic depth limit match conversion time (1286650)
IMGUI: Fixed an issue where Editor slows down when ObjectSelector/ProjectBrowser has large number of objects. (1285342)
Kernel: Better memory management for storing object information. (1275751)
Linux: We no longer export statically linked lib's symbols thus making it easier for plugin developers to use 3rd party libs. (1255038)
macOS: Fixed Mac editor/player hanging the whole OS on Apple silicon devices. (1285304)
Package Manager: An error is thrown when inspecting packages in the 'My Assets' section of Package Manager (1265358)
Particles: Fixed an issue where procedural emission was being capped incorrectly leading to burst emission in excess of the Max Particles limit. (1285328)
Particles: Fixed the Stop Action setting to consider children and sub-emitters before triggering its event. (1261459)
Prefabs: Fix that Prefab is marked dirty when cancelling the 'Create new prefab' and 'Create new Variant' dialogs while in Prefab Mode. (1285301)
Prefabs: Fixed that a reference to the root prefab child is lost when pressing "Unpack Prefab" on root prefab and entering Play mode (1151512)
Prefabs: Managed field types in prefabs containing Arrays are now serialized correctly to allow field to be initialized before Array.size is set (1255012)
Scripting: Fixed an issue causing the incorrect ApiCompatibilityLevel to be selected when compiling C# assemblies in certain circumstances. (1252197)
Shaders: Fixed include files not enabling Adreno framebuffer fetch extension (1269926)
Terrain: Paint Terrain Help properly wraps. (1281097)
Text: Fix IME getting permanently disabled on focus and / or context change. (1091254)
UI: Fix a issue where the RectTransform would record a undo too often dirtying the scene. (1268783)
Version Control: Fixed UnityYAMLMerge corrupting external tool command arguments during conversion of paths to native format on Windows (1281941)
Video: Crash with videos that have rotation metadata on Windows. (1268145)
WebGL: Fixed a crash with Unity web loader on new macOS Big Sur.
XR: [Lumin] Lumin builds no longer needlessly package pre-compiled managed DLLs into the final MPK. (1218580)
XR: [Lumin] Lumin builds now properly include source plugins when building the IL2CPP library. (1233875)
Changes
XR: The Oculus XR Plugin package has been updated to 1.6.1.
XR: updates verified version of com.unity.xr.legacyinputhelpers to v2.1.6
Changelog for 2.1.6 of com.unity.xr.legacyinputhelpers:
Fixes error message when using the color camera
Changes default near clip plane to 0.01f
Fixes rig migration for URP and HDRP.
Support for URP/HDRP v10.1
Improvements
Android: In case of incomplete application install, where native libraries are missing, a dialog will be shown where app can be gracefully quit. Previous behavior was an application crash in com.unity3d.player.UnityPlayer.<clinit>, java.lang.System.loadLibrary functions. (1281533)
Editor: Optimized mobile ETC/ETC2/EAC texture compression (about 1.4x speedup).
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
LTS Release 2019.4.15f1
Released: 18 November 2020
We are happy to announce Unity 2019.4.15f1. The release notes and the corresponding issue tracker link for issues fixed in this release are as shown below.
Unity Editor Download Assistant
Component Installers Windows
Component Installers Mac
Component Installers Linux
Known Issues in 2019.4.15f1
Asset Import Pipeline: Texture Assets are reimported when the launched Editor is recovering from an unexpected close if there were compilation errors (1264055)
Audio: "Unknown platform passed to AudioImporter" error is thrown when selecting an audio file and UWP support is installed (1279810)
Global Illumination: [URP] Transparencies are ignored because URP uses _BaseMap as main texture identifier (1246262)
Global Illumination: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)
Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)
IL2CPP: UnityLinker strips classes used with the SerializeReference attribute (1232785)
IMGUI: Editor performance loss when selecting an object in the Select Object window (1285342)
Linux: InputSystem's Mouse delta values do not change when the Cursor lockState is set to Locked (1248389)
MacOS: [Metal][Editor] Memory grows continuously until Editor crashes when importing 100k materials (1214197)
Mono: Crash with various stack traces when exiting Play Mode after recompiling scripts (1238859)
Scene Management: Allocated memory is not cleared when loading and unloading scenes (1275751)
Scripting: Crashes on mono_class_init when entering Play Mode after recompiling scripts (1262671)
Serialization: [SerializeReference] Polymorphic instances are always recreated when applying any inspector value change (1193322)
ShaderGraph: [Shadergraph] Color picker in shader graph doesn't work (1289161)
Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)
iOS: Crash on il2cpp::vm::LivenessState::AddProcessObject when using Social.LoadUsers and then changing scenes (1270230)
iOS: [UaaL] UnityFramework with 3rd party plugins triggers watchdog termination after launch (1262272)
iOS: [iOS 14] VideoPlayer crashes on EXC_BAD_ACCESS or signal SIGABRT when audioOutputMode is set to APIOnly or Audio Source (1274837)
2019.4.15f1 Release Notes
Fixes
AI: Correct the stray NavMeshAgent to always move to the closest NavMesh instead of somewhere above or below. (1072945)
Android: Enabled Unity perform Android SDK update with elevated privileges on Windows. Previously if Android SDK/NDK would be installed in folder like Program Files, Unity wouldn't be able to update Android SDK. With new behavior user will be prompted with a dialog where Unity will ask - if it can run sdkmanager.bat with elevated privileges. (1281951)
Android: Fixed Switch internal Unity allocator to DynamicHeapAllocator which is compatible with Scudo allocator introduced in Android 11. This fixes an error "Using memoryadresses from more than 16GB of memory". If by some reason you want to revert to previous allocator, pass "-systemallocator" command line argument in UnityPlayerActivity updateUnityCommandLineArguments. (1284525)
Animation: Fixed a bug where an animation event at time 0 would not be triggered after resetting the time (1230811)
Build Pipeline: Fixed an issue where asset bundle dependencies might not have been deterministic. (1282671)
Editor: Added a new prompt for a user to attach a managed debugger when on Linux, on a headless server build. Also prevents timeout to attach Profiler triggering when allowDebugging is set. (1274332)
Editor: Fixed Editor crashes when unlocking Inspector with PropertyInfo.SetValue function. (1250419)
Editor: Fixed layout loading errors appearing in the console when loading layouts (1211540)
Editor: Fixed Quick Search installing preview package when using shortcut. (1285146)
Editor: Prevent NullReferenceException from being thrown when calling AnimationMode.StartAnimationMode.
Graphics: Added support for VK_LAYER_KHRONOS_validation.
Graphics: Fixed a crash when resizing the materials array on a renderer when using material property blocks. (1188507)
Graphics: Fixed GetPixels on Texture2D that is compressed with Crunch to throw an exception and not crash. (1257655)
Graphics: Fixed splashscreen playmode test crash. (1286956)
Graphics: Fixed VertexCompression setting being interpreted incorrectly. (1281361)
Graphics: Updated Post-processing package to version 3.0.1.
IL2CPP: Corrected the behavior of UnityEngine.Mathf methods when invoked via a delegate for WebGL players. (1252289)
IL2CPP: Fixed to correctly report the public key for assemblies where is exist. (1271060)
IL2CPP: Fixed to enforce the --maximum-recursive-generic-depth command line option at run time. (1276405)
IL2CPP: Fixed to provide a user-readable error during code conversion for value types which have a recursively defined field that is a nullable version of the same type. (1268007)
IL2CPP: Fixed un-needed box call in generic code when using enums. (1271254)
IL2CPP: Removed unnecessary assertions that are triggered incorrectly in WebGL debug builds. (1165055)
iOS: Added iPad Pro 4th Generation and iPad Pro 11" 2nd Generation to DeviceGeneration (1280059)
iOS: Fixed rotation issues when app is not required to be full-screen and is running on iPad. (1091688)
iOS: Fixed UnityGet2DClipping function on iOS with GLES2 where it was returning incorrect results (1288174)
License: Fixed to drain leftover messages from licensing IPC after timeout. (1226308)
macOS: Fix issue where OnApplicationFocus misreported when GameCenter UI was visible. (1278005)
macOS: Fixed issue where installer on macOS 10.15 would error when disagreeing with the license. (1240184)
Package Manager: Fixed an issue where requests would fail when they took over 2 minutes to complete. (1287098)
Package Manager: The Packager Manager no longer fails to write the project manifest file (
Packages/manifest.json
) or the lock file (Packages/packages-lock.json
) when they are read-only. (1263361)Physics: Ensure that changing a Rigidbody2D constraint on a prefab instance results in the change being indicated by a bold label in the inspector. (1265836)
Physics: Ensure that changing the Rigidbody2D mass distribution correctly adjusts the center of mass velocity. (1272075)
Physics: Fix an issue when filtering out bad 2D physics collision shapes produced by the internal shape tessellator where occasionally a good shape is filtered out. (1274172)
Physics: Fix an occasional crash when destroying a PhysicsScene2D while destroying active contacts or collider-ignore-collision settings. (1268659)
Profiler: Fixed an issue where FrameCount inside the ProfilerUserSettings would clamp to a 0 - 2000 frame range instead of 300 - 2000, thus causing the charts inside the ProfilerWindow to throw out of range exceptions. (1288878)
Profiler: Fixed issue where entering PlayMode with the editor open would throw "GetInt is not allowed error". (1289794)
Profiler: Fixed RawFrameDataIterator.threadId always returning 0 for profiler frame data loaded from .data files. (1279213)
Profiler: Fixed: scroll wheel will now work on the scroll bars in the profiler timeline view. (1280335)
Scripting: Added support for "||" (OR) operator for the Plugin Inspector. (1270592)
Scripting: Fix CS0649 "Field is never assigned to..." warning for uninitialized private or internal fields. (1080427)
Scripting: Fixed issue where thread statics that reused thread static slots would not adhere to type alignment. This would cause the garbage collector to incorrectly clean up thread static data because it would only scan pointer aligned memory for references. This would lead to memory becoming corrupted and inducing random crashes. (1266322)
UI: Canvas RectTransform size calculation now done for standalone renders as well. Camera needs to be enabled to pick up the RenderTexture size change. (833456)
UI Toolkit: Added EditorWindow.CreateGUI entry point to safely add visual elements to the window. (1281376)
Video: Fixed such that VideoPlayer jumps to kf on Play() if paused near kf. (1271421)
Video: Fixed to crash when destroying VideoPlayer while it is still initializing. (1241848)
WebGL: Fixed WebGL build issue when the default system Python version is Python3 instead of Python2. (1280386)
XR: Backport trunk fix to 2019.4. Utilize volume up and down buttons on VR devices to confirm and proceed when Android dialog is not visible on VR devices instead of only restricting to click "Ok" button on screen. (1140155)
XR: Correct mismatched Vulkan framebuffer and renderpass configurations that caused validation errors, and issues with rendering when using multiple rendering passes.
XR: Fixed an issue where the XR splash screen is missing when using SRP. (1230976)
XR: Fixed Hololens 2 apps pausing when carry along apps are open.
XR: Fixed issue when using deferred rendering and stereo multipass where if the spotlight intersected the camera near and camera far planes then the spotlight would render incorrectly in the right eye. (1140490)
XR: Fixed issue where attempting to use separate cameras while using stereo multipass to render each eye caused the left eye to render the right eye and the right eye to not render at all. (1280266)
XR: Fixed stereo skybox rendering when a sphere is used instead of a cube. (1223567)
API Changes
- Physics: Added: Added writeable WheelCollider.sprungMass, to enable explicit mass distributions. In addition to that, expose WheelCollider.ResetSprungMasses() to reset the vehicle back to automatically calculated implicit sprung masses. It's the same usage pattern as with Rigidbody.inertiaTensor / Rigidbody.ResetInertiaTensor().
Changes
- Package Manager: Temporarily removed the Burst compiler warning about exception throws not in [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] methods, to let us address user feedback. The next minor version of Burst will reincorporate this in a more friendly manner.
Improvements
- IL2CPP: Improved error message when required Visual Studio components are not installed when building for Windows.
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
News from Unity QA
We’re not just toolsmiths, but wordsmiths too! Read all the Unity QA blogposts past and present.