Unity 2020.2.0 Alpha 7

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

Known Issues in 2020.2.0a7

  • 2D: Editor crashes during Sprite Atlas baking when not enough disk space is available (1228614)

  • 2D: Editor freezes on a broken project when editing a Scene using Tilemap (1221127)

  • Animation: Fix crash on Animator::CreateInternalControllerPlayable when entering Play Mode (1227838)
    Fixed in 2020.2.0a8.

  • Animation: Fixed InvalidOperationException error when undoing GameObject removal on an active AnimationWindow selection. (1230209)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • Animation: Fixing a crash when assigning an invalid AnimatorOverrideController to the Animator field. (1229421)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • Asset Import Pipeline: Editor crashes when importing prefab referencing scripts from precompiled libraries (1217707)

  • Asset Import Pipeline: Same Asset generates different Dependency Hash on different machines (1190390)

  • Asset Importers: Crash when importing Elongata package from the Asset Store (1209240)

  • Audio: Editor crashes on changing 'System Sample Rate' when Audio track preview is being played in Timeline window (1232743)

  • Audio: Fixed unassigned AudioSource game object from causing a memory leak which would eventually result in a crash. (1225987)
    Fixed in 2020.2.0a8.

  • Audio: [Windows] Editor uses one CPU Logical Processor at 100% while the game is in Pause Mode (1219619)

  • Editor: Byte order marks located anywhere in C# scripts no longer make importing fail. (1230036)
    Fixed in 2020.2.0a8.

  • Editor: Fixed UnityEngine.GUI:CallWindowDelegate crash when focusing scene view in Play Mode. (1230441)
    Fixed in 2020.2.0a8.

  • Editor: Fixed crash on opening compiled compute shader code. (1231120)
    Fixed in 2020.2.0a8.

  • Editor: Fixed editor crashes in Play Mode when switching between Game and Scene view tabs (1229924)
    This is a change to a 2020.2.0a2 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • GI: Fixed the lightmapper sometimes getting stuck, especially on undo after moving instances or changing resolutions. (1144403)
    Fixed in 2020.2.0a8.

  • Global Illumination: Crash on Baking with RadeonPro Denoiser (1233474)

  • Global Illumination: [OSX][GPUPLM]OS Kernel Panic crash with 'Thread may have been prematurely finalized' after baking the scene with AMD GPU (1160419)

  • Global Illumination: gi::InitializeManagers() takes 0.6s during Editor startup (1162775)

  • Graphics - General: 'task.rasterData.vertexBuffer == NULL' errors when using a Particle System (1226357)

  • Graphics - General: [Performance Regression] AssetBundleLoadAllAssets - Load_Prefabs_AllAssets is significantly slower than 18.4 (1203512)

  • Graphics - General: [Performance Regression] AssetBundleLoadSingleAssets : LoadAsync_Prefabs_SingleAssets is significantly slower than 18.4 (1203511)

  • Graphics: Editor crashes when using BatchRendererGroup and SRP Batcher without Hybrid renderer (1233527)
    This is a change to a 2020.2.0a5 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • Graphics: Fixed - [A2] Crash when opening A2 using DX12. (1222487)
    Fixed in 2020.2.0a8.

  • Graphics: Keep reference to dragged VisualEffectAsset when dragging in empty hierarchy space (1234747)
    This is a change to a 2020.2.0a7 change, not seen in any released version, and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • Graphics: Mesh Yaml content could no longer be parsed properly leading to unitialized VertexBuffers causing crash. (1230188)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • Hub: "Unity is already in list" error appears when opening a project (1232681)

  • IL2CPP: Handle complex inputs to NativeArray intrinsics. (1230717)
    Fixed in 2020.2.0a8.

  • IL2CPP: Performance regression in UnityLinker.exe when building to UWP (1229420)

  • IMGUI: [Cache Server] Connection with IP goes into infinite loop state on clicking on Check Connection button (1232279)

  • Linux: Mac Support is only pseudo-installed through Hub for Linux Editor (1100382)

  • MacOS: Editor is leaking memory when Aura Camera component is attached to a GameObject in the scene and Aura preview is enabled (1229502)

  • MacOS: [OSX] Unity fails to ask camera permission and crashes on privacy violation (1202032)

  • MacOS: [macOS] BugReporter doesn't get invoked when the project crashes (1219458)

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

  • Mobile: [iOS] Debug .pdb files are added to iOS release builds (1232798)

  • Prefabs: Fix crash when variant get a self reference through it base prefab (1225758)
    Fixed in 2020.2.0a8.

  • Profiler: Fix Unity hangs when Deep Profiling and Call Stacks are enabled on Linux (918779)
    Fixed in 2020.2.0a8.

  • Profiling: CPU Usage Profiler opens up to Timeline View on every session, not remembering state (1231941)

  • Profiling: Missing Profiler.EndSample errors appear after switching profiling target (1181306)

  • Profiling: Native object references for some object types are always 0 in the memory profiler (1234714)

  • Profiling: Profiler 'UI' Module does not display any data in the chart even when the Scene has some UI Components (1233107)

  • Scripting: Editor crashes on EventHandler`1:invoke_void_TEventData when invoking an event (1228198)

  • Scripting: ManagedJobIndexPool runs out of indices when using a processor with a large amount of cores, crashes on exit (1204885)

  • Serialization: Fix error where OcclusionData yaml file parsing was no longer working. (1228835)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2020.2.0a8.

  • Visual Effects: [VFX] [Mac] Creating Sub Graph of "System" section causes the editor to freeze (1233056)

  • WebGL: Built project causes an uncaught abort exception when using dlopen() dynamic linking in Emscripten (1192963)

  • WebGL: VideoPlayer is not rendered in WebGL builds when the video is loaded via URL (1188316)

  • Windows: Cannot activate license within a docker container (1193364)

  • Windows: TDR Crash when opening a project with Image Sharpening enabled (1238022)

  • Windows: Undocked windows does not run copy, cut, paste actions when they are executed from top menu (1191649)

  • macOS: Improves the module installation button in Build Settings (1219284)
    Fixed in 2020.2.0a8.

Preview of Final 2020.2.0a7 Release Notes

System Requirements Changes


  • 2D: Colliders should also respect Pivot property of Edge Sprites in Sprite Shape

  • 2D: Ensure SpriteShape are not generated when not in view on Runtime.

  • 2D: Fix generation of collider shapes for TilemapCollider2D with AnimatedTiles while tile is animated

  • 2D: Fixed a crash that might happen when a Sprite Renderer in Sliced/Tiled Draw Mode was rendered with the Universal Render Pipeline. (1217696)

  • 2D: Fixed an issue where the preview of a deleted secondary texture entry was still visible in Sprite Editor. (1211176)

  • 2D: Fixed an issue where the vertical scrollbar of the Secondary Textures panel in Sprite Editor did not react to the mouse wheel. (1204429)

  • 2D: Fixed broken documentation links in inspectors for com.unity.2d.animation package

  • 2D: Fixed exception after reverting from creating new vertices and edges in Skinning MOdule

  • 2D: Fixed OnDrawGizmos to Get/Release RenderTexture through CommandBuffer.

  • 2D: Fixed PSDImporter broken documentation links in inspectors

  • 2D: Fixed PSDImporter creates empty GameObject in certain cases

  • 2D: Fixed Sprite asset used by SpriteSkin in Scene is being deleted

  • 2D: Fixed Sprite deformation not updated when GameObject is being enabled with SpriteSkin component

  • 2D: Fixed Sprite Editor doesn't show the Sprite when the Inspector is locked and the Sprite is not selected in the Project window (1215581)

  • 2D: Fixed SpriteSkin always deform even when culled by adding alwaysUpdate option to SpriteSkin to determine if SpriteSkin execution should occur even when the associated SpriteRenderer is culled

  • 2D: Fixed visual defect after undoing changes to Bone Transform properties in SpriteSkin's Inspector

  • 2D: SpriteShapeController leaks memory when zero control points are used

  • 2D: _NormalMap Secondary Texture is streched to AtlasSize when Atlas Texture size is larger than Normal Map texture size (1167829)

  • AI: Baking ignores FBX files with Mesh Compression set to Low or Medium when baking NavMesh (1152594)

  • Android: Avoid using depthClamp on GPUs that don't support it when using Vulkan

  • Android: Fix RenderPass API implementation when using OpenGL ES (1219327)

  • Android: Fixed an issue where master sprite atlases did not use the specified ETC2 fallback format (1175291)

  • Android: Fixed performance regression on Mali GPUs when using CBUFFERs. (1157313)

  • Animation: Added documentation for AnimatorControllerPlayable methods. (1195131)

  • Animation: Animation count in Scene from the Stats window does not drop down when all of the Animation are finished in the Scene (1201251)

  • Animation: Animation window now shows clips from both the animation and animator components if both components exist on the GameObject. (1198771)

  • Animation: Crash in AnimationCurveTpl<Vector3f>::EvaluateClamp when animation.Play(AnimationPlayMode.Queue) is called in Update() (1218218)

  • Animation: FIxed playable graph with animations breaking when 'Disable Unity Audio' is enabled. (1187693)

  • Animation: Fixing unstable test CanMaintainSelection (1224904)

  • Animation: Hidden Animator Layers/Parameter view opens back again after entering Play Mode (1219412)

  • Animation: Memory leak occurs due to TransformStreamHandle memory not being deallocated when deactivating GameObjects (1167280)

  • Animation: OnStateUpdate will not be called when a new AnimatorControllerPlayable is attached by the first time (1168332)

  • Asset Bundles: Fix crash due to threading race issue with LoadAssetAsync and Unload called in the same frame. (1228306)

  • Asset Import: Adding multiple MonoBehaviour scripts on the same GameObject using OnPostprocessModel during a ModelImporter import does not log uniqueness warning on new assets. It still does log the message on already imported assets because all references to it would be lost otherwise. (1176912)

  • Asset Import: AssetDatabaseExperimental.GetAvailableImporterTypes returns all expected registered importers for a given asset path. (1218830)

  • Asset Import: Fixed a memory leak and console errors when using ClearImporterOverride on Model assets (fbx files and other formats using the ModelImporter). (1218841)

  • Asset Import: Fixed AssetImportWorker taking autoconnect player connections.

  • Asset Import: LoadImage now returns PNGs in the authored colorspace when gAMA block is authored, instead of gamma 2.0. A new static flag has been added to the ImageConversion class to disable this behavior. See Texture2D.LoadImage for additional details. (1199896)

  • Asset Pipeline: ArtifactID is now unique for an import result (1193231)

  • Asset Pipeline: Asset Import results can now have dependencies to script types. If an asset has a dependency to a script type, the asset will now get re-imported if script type serialization format changes. (1215729)

  • Asset Pipeline: Changed behavior in Refresh

    • Empty folders that don't have .meta files get deleted if the folders were known before.

    • If an orphaned .meta file is marked as folderAsset the folder is recreated.
      These changes address issues related to creating/deleting folders in certain (p4, git) version controlled projects where empty folders don't get created/deleted when the user gets latest version on the client.

  • Asset Pipeline: Changing the platform is not propagated to the asset import worker process

  • Asset Pipeline: Fixed crashes happening when calling (ADBv2) SetImporterOverride directly from OnAssetsModified for a new asset that hasn't been imported previously (i.e. dragged into the project browser). (1231143)

  • Asset Pipeline: Fixed issue where postprocessors with version 0 wouldn't be used

  • Asset Pipeline: Having information that says "version 2" is selected, can be confusing, since users could assume that the "version 1" of the asset import pipeline could be selected. This has been removed completely as 2020.1 can on the Asset Import Pipeline that was re-written for 2019.3

  • Asset Pipeline: If the license is not valid asset import worker processes will fail and block the main editor (1224855)

  • Asset Pipeline: Optimized Project Browser in Two Column mode when a change happens to the AssetDatabase (added/removed/updated assets). (1228345)

  • Asset Pipeline: Source Asset reloading improved, so that loaded objects get reloaded, if the associated script is modified (1141360)

  • Audio: Changing audio mixer attenuation to or from 0 dB resulted in popping / spiking sounds (1101442)

  • Audio: Chorus and Flange filters didn't apply initial parameters correctly under certain situations when used in the audio mixer or as audio filter components. (579690)

  • Audio: Fix import failures with certain low-bitrate/-samplerate clips (1143239)

  • Bug Reporter: Added a name of the file causing the error to the project packer error message (1223660)

  • Bug Reporter: Fix a folder compression failure when path length is bigger than 260 symbols (1175262)

  • Build Pipeline: Fix rare race condition causes error message when calling AssetBundle.LoadAsset and then immediately unloading the bundle. (1181323)

  • Build Pipeline: Fixed the incorrect file header size outputted in the Editor.log after a build (1209767)

  • Burst: Fix a regression that could break usage of native plugins.

  • Burst: Fixed an issue that prevented burst from resolving functions on platforms when it's statically linked such as iOS.

  • CodeEditor: Built-in attributes for JetBrains Annotations have been modernized and include all new annotations (minus ASP/Razor attributes which have no relevance to Unity). For more info on these attributes, see https://www.jetbrains.com/help/resharper/Code_Analysis__Code_Annotations.html. (1208183)

  • DX12: FrameTimingManager now works on DX12 Windows Standalone and UWP. (1212335)

  • Editor: 'Create Empty Parent' added to the hierarchy window context menu

  • Editor: 'Cut' and 'Paste As a Child' functionality added to Scene View (1215583)

  • Editor: (case 1215825) UnityEngine.Diagnostics.ForceCrash does not produce crash dump when editor exits due to fatal error log message (1215825)

  • Editor: Added IMGUI dependency on UGUI. (1211425)

  • Editor: Automatic "unity is busy" progress dialogs on Windows no longer steal focus or pop up while the editor is not the active application.

  • Editor: Changed CTRL click in Hierarchy so it's changes the active object to reflect the scene view behavior (1154444)

  • Editor: com.unity.test-framework does not print any messages when loaded into a project. (1214217)

  • Editor: Disabled the Texture2D editor in inspector debug mode. (1197056)

  • Editor: Don't display blank GameObject preview for Camera Prefab Assets. Instead, treat it the same as other Prefabs that don't have renderer components. (1182438)

  • Editor: Fix alignment issues for Glyph tables in inspector (1201325)

  • Editor: Fix disappearing "Edit..." button next to Shader dropdown list on Material UI.

  • Editor: Fix dragging on Empty Favorites (1224386)

  • Editor: Fix error in import by adding support for the conversion of SkinWeights using UNorm16 and SNorm16 format. (1218889)

  • Editor: Fix Transform manipulator to use Undo.RecordObject so it works with livelink.

  • Editor: Fixed "Reload Assembly called from managed code directly" error printed in some cases of interacting with progress bar done during long asset modification operations (e.g. deleting a lot of assets). (1226561)

  • Editor: fixed a bug where UTR fails with "No tests have been selected to run message" when in fact we attempt to run playmode tests in standalone player and connection times out.

  • Editor: Fixed an issue where certain dropdowns are misaligned in the player settings preset editor (1218668)

  • Editor: Fixed an issue where Console's Search bar gains focus after maximizing or restoring the console window (1225154)

  • Editor: Fixed an issue where snapping didn't work only lines were showing.

  • Editor: Fixed an issue where the Save Asset window does not close automatically after saving all assets. (1222647)

  • Editor: Fixed cancel of multiple objects rename that would set their names to "<multi>" instead of keeping their original names. (1218183)

  • Editor: Fixed Cut action being canceled after switching between scene and prefab modes (1219275)

  • Editor: Fixed flickering when multiple windows were shown on macOS Editor (1221722)

  • Editor: Fixed Frame Debugger to show Compute Shader dispatch information properly.

  • Editor: Fixed Highlighter APIs. (1223530)

  • Editor: Fixed incorrect GUI style for Influence Mask field in the ParticleSystem External Forces Module

  • Editor: Fixed New InputSystem not handling absolute mouse positions including those sent over RDP.

  • Editor: Fixed Scene View not accepting input after Maximizing and Un-maximizing while holding the right mouse button. (1186624)

  • Editor: Fixed tessellated objects rendering with a replacement shader when filtering in the Scene View. (1180254)

  • Editor: Fixed the coverage issue in enum data utility (1215827)

  • Editor: Fixed the Dropdown null exception issue in Playmode. (1222714)

  • Editor: Fixed the issue where the Grid opacity Input field is highlighted on changing the Grid Axis from the scene view grid settings window (1221530)

  • Editor: Fixed unselected Scene Views not respecting the mouse scroll wheel zoom shortcut. (1216819)

  • Editor: Fixed vertex snapping incorrectly snapping to objects hidden by Scene Visibility flags. (1222442)

  • Editor: Fixes issues caused when components required by other components do not exist. (876288, 887641, 888143, 1086961)

  • Editor: GameObjects are not draggable when using the scroll wheel in macOS (1175328)

  • Editor: Gizmo icons are now displayed on all objects all the time unless object is selected (1223375)

  • Editor: Light icons in scene view now update immediately after light type is changed in inspector (1229003)

  • Editor: P/Invoke library name resolution is now more robust (1226012)

  • Editor: Removed HideFlags.DontSaveInEditor or HideFlags.DontSaveInBuild restriction on Scene Vis (1217361)

  • Editor: Transform shift rotate always reset the rotation value when used (1221620)

  • Editor: When attempting to create a new file beginning with a dot, auto-convert the character to an underscore, similar to what we do for other invalid characters, instead of displaying an error. (1117029)

  • Editor: [GameView] VSync gets disabled after Maximize on Play is disabled and Play Mode is unpaused after pausing (1230428)

  • GI: Added convergence stats for additional probes in the Lighting window.

  • GI: Faster light probe and additional probes baking.

  • GI: Fix for case when TempBuffer<RenderTexture> is not released in memory when using deprecated Realtime Global Illumination

  • GI: Fixed crashes occurring when inspecting a mesh renderer with no vertex buffer or no index buffer. (1197692)

  • GI: Fixed debug Editor failing in CheckAutoLDA.AssertLightprobesInAutoLDA. (1216793)

  • GI: Fixed Editor crash in RadeonRays::PlainBvhTranslator::Process when using GPU Lightmapper for neighboring Terrains (1198965)

  • GI: Fixed GI baking in batchmode when using Scriptable Render Pipelines. (1211448)

  • GI: Fixed issue where RGB, R, G and B button does nothing in Lightmap thumbnail preview. (1199790)

  • GI: Fixed issues where LightmapParameters was null on a new scene, and how it was not accessible for the API. Added "pushOff" to the API as well, and corrected the docs. (1215629)

  • GI: Fixed prefab issues with Mesh Renderer (1179530)

  • GI: Fixes incorrectly set distance on lodded objects.

  • GI: GPU lighting bakes take a very long time or do not finish when using high resolution heightmap terrain. (1194794)

  • GI: GPU Lightmapper produces invalid texels in a certain scene (1217996)

  • GI: GPU lightmapper wrong OpenCL kernel argument in prepareLightRays.cl

  • GI: Static Batching Corrupts Baked Lightmap scene visualization on Play. (1059722)

  • Graphics: "ReadPixels" errors appear when modifying a directional light with a reflection probe when HDRMode is R11G11B10 (1217364)

  • Graphics: - Fixed performance slowdown when releasing large amounts of buffers at once in Vulkan. Affects SRP batcher the most. (1102159)

  • Graphics: Add parameter to SkinnedMeshRenderer.BakeMesh(Mesh mesh, bool useScale) to take scaling into account when baking a mesh. By default this value is set to false to keep backwards compatibility. (1013310)

  • Graphics: Add ScriptableCamera that allow to extend a Camera by inheritence.

  • Graphics: Added additional return code validation to various QueryInterface calls (1229903)

  • Graphics: CopyTexture with explicit mips and regions now copies the full texture when both textures have no mips specified and Texture Quality is not FullRes. This also adds a warning when Texture Quality is set and CopyTexture is used to copy textures with mismatched mips. (1215135)

  • Graphics: Ensure that when you have > 63 material inspectors displayed that they will render and not throw an exception. (1156199)

  • Graphics: Fix crash when using Trails, Lines or Particles in a command buffer (1216216)

  • Graphics: Fix DXGI swapchain update regression from 2020.1.0a21, changed texture format could cause a crash

  • Graphics: Fix Frame Debugger when using RenderPass API

  • Graphics: Fix issue where one object in the scene would need ReceiveShadows set to true for Screen Space Shadows to be enabled when using deferred path. (1218683)

  • Graphics: Fix potential rendering issue with SRP Batcher + PolyBrush meshes (1220956)

  • Graphics: Fix RenderBufferLoadAction.Clear when using SRP RenderPass API (1225431)

  • Graphics: Fix the ObjectToWorld matrix used by the BatchRendererGroup when the shader opts for nomatrices instancing.

  • Graphics: Fix unintentional built-in shader build time regression

  • Graphics: Fixed a crash on DirectX11 when creating a texture with a partial mip chain. (1213005)

  • Graphics: Fixed a race condition in the shadow culling code. (1223565)

  • Graphics: Fixed an issue where CopyTexture might not respect the ignore texture limit flag resulting in wrong copies.

  • Graphics: Fixed crash when using out-of-bounds indices with RenderPass API (1226312)

  • Graphics: Fixed issue where a Canvas in Screen space camera mode has a 0 height when a non standard custom projection matrix is set. (1203097)

  • Graphics: Fixed offline texture processing with ARGB texture format on PS4

  • Graphics: Fixed regression preventing switching graphics API if we don't restart (1219587)

  • Graphics: Fixed uninitialized variable in MeshRenderer (1226229)

  • Graphics: Fixes incorrect gamma decoding at import of LDR textures that target a HDR graphics format in a gamma colorspace project

  • Graphics: GrabPass does not support Depth targets. Only a single color target is supported. This applies to all platforms that we have. Added error check to prevent editor from crashing. (1208293)

  • Graphics: Ignore points/line topology when raytracing mesh in editor for selection (1183667)

  • Graphics: ImageConversion.EncodeArrayToXXX now converts input data if needed by the encoding algorithm. (1219010)

  • Graphics: Metal: Added checks for YUV2 format when creating Cubemap or Texture3D. (1219296)

  • Graphics: Shader Memory usage optimization in player (1223610)

  • Graphics: The DX12 renderer performance has been improved by only adding IASetPrimitiveTopology to a command list when the topology has changed.

  • Graphics: Throw an exception when creating mesh with more streams than supported for mesh (1226104)

  • Graphics: Tree Billboard textures now only update when they are used in the scene. (1198821)

  • Graphics: Updated message that is shown in Inspector when using a mesh without animation data for SkinnedMeshRenderer. (1229548)

  • Graphics: When creating shaders for desktop metal, do not forcibly generate constexpr shader for comparison (this is needed for ios where older devices do not support setting comparison from the application side) (1201857)

  • IL2CPP: Allow inspection of NativeArray objects in the debugger. (1215119)

  • IL2CPP: Fix building Universal Windows Platform player when using Windows SDK versions 15063 or 16299.

  • IL2CPP: Respect the DllImportAttribute.PreserveSig property on PInvoke definitions.

  • IL2CPP: Respect the PreserveSigAttribute on COM interop types. (1202914)

  • iOS: Fixes sound becoming muted after quickly swapping to voice dictation and back to app. (1176463)

  • Kernel: AlignOf<T> returns C# required structure alignment, instead of 4.

  • Kernel: Fixed issue with debug assert raised in unique_ptr, when move-from is either default constructed or already moved-from. (1226908)

  • Kernel: Fixed rounding when undoing parenting. (1214246)

  • Kernel: NativeArray.Dispose behavior to not throw when Allocator.None is used.

  • Linux: Fix UnitySetup -L option incorrectly showing defaults (1160471)

  • Linux: Fixed issue where single-instance was not being honored when set in the player settings. (1211694)

  • macOS: Fixed issue where plugins were not being placed and loaded from the correct location (1216171)

  • macOS: IME works in both editor and player in the proper location

  • Mobile: Removed Game SDK 3.1 initialization due to issues in GameSDK 3.1. Any other GameSDK version is still supported.

  • Multiplayer: Adding and/or fixing range validation of indexes coming from network to be in-bound before using them.

  • Package Manager: Adjusted package 'Preview' and 'Verified' tag colors in Light mode to meet minimum legal contrast requirements.

  • Package Manager: fix scroll for package dev description

  • Package Manager: Fixed responsiveness issues with Package Details. (1222766)

  • Package Manager: grey out package in inspector

  • Package Manager: Match counter to search result (1222784)

  • Package Manager: Match download bar to windows size

  • Package Manager: Moved storage of npm credentials from system/global configuration to user configuration. The file format was also changed to TOML.

  • Package Manager: set actif remove button when element present

  • Particles: Fixed particle lights being re-rendered over multiple frames

  • Physics: Fix ArticulationBody.jointPosition crash that happened sometimes in articulations more than two objects deep

  • Player: Re-enable OnAudioConfigChanged and AudioRenderTest tests on the Stadia Platform.

  • Prefabs: "Find References In Scene" did not work with nested prefabs (1213528)

  • Prefabs: Fix Overrides dropdown comparison view remaining open if last override has been applied or reverted via context menu. (1071433)

  • Prefabs: Fix SerializableObject.GetIterator() throws ArgumentNullException when UnpackPrefabInstance() is called on an instantiated Prefab in Inspector logic (1164099)

  • Prefabs: Fix slow scene deserialization, when scene contains broken prefab instances with many duplicate overrides. (1228147)

  • Prefabs: Fix: Crash when calling PrefabUtility.SaveAsPrefabAsset with absolute path outside of project's Assets folder. (1210526)

  • Prefabs: Fix: PrefabUtility.SaveAsPrefabAsset() freezes the editor when called from OnValidate() method. (1127313)

  • Prefabs: Fixed 50% of all object references appear as null within a scripts OnBeforeSerialize callback, during domain reloads. (1152124)

  • Prefabs: Fixed an issue where a parent prefab might fail to correctly override changes to its nested children (1195496)

  • Prefabs: Fixed placement of Prefab override margin lines for controls that are inside GUI clipping groups. (1197808)

  • Prefabs: Fixed preview material getting permanently set when dragging over Prefab instance with missing Asset. (1124308)

  • Prefabs: Fixes a test instability (1101428)

  • Prefabs: If prefabs are imported when a script is missing, the prefabs do not automatically reimport when the script is reintroduced. The prefab will lose all settings for the script.
    This PR ensures that prefabs are automatically reimported when references scripts are reintroduced. (1216914)

  • Prefabs: If the user destroys the root game object of a prefab, Unity editor would crash. Now an error message is printed instead (1218129)

  • Prefabs: Overrides Window: Fix overrides in nested instances are collapsed when one override is applied (1112995)

  • Profiler: Fixed 'Current Frame' button looking interactable when it's not. (1225682)

  • Profiler: Fixed alignment of sorting arrow being different on Overview vs Show Calls. (1226605)

  • Profiler: Fixed GC Allocations not displaying values less than 1024 bytes in Memory chart of ProfilerWindow

  • Profiler: Fixed GPU Profiler Module Warning icon tool-tip not appearing. (1225376)

  • Profiler: Fixed inability to select reoccurring samples in Raw Hierarchy. (1093368)

  • Profiler: Fixed issue where profiler (standalone process) would not show final frame of a capture. (1211959)

  • Profiler: Fixed networking charts drawing out of bounds. (1058920)

  • Profiler: Fixed View Type Dropdown of the CPU Module disappearing when switching to Hierarchy View without data to display. (1223740)

  • Scripting: Changed behavior on debugger-agent, if we can't parse new behavior we now return invalid_argument instead of asserting. (1197204)

  • Scripting: Fix crash in debugger during enter playmode. (1013579)

  • Scripting: Fixed Debug.Log* printing Debug.Filename.h after the stacktrace in IL2CPP/Mono with no PDB. (1099724)

  • Scripting: Fixed issue where deserializing an abstract class containing a hierarchy of classes would fail and throw an unhelpful exception. (1204074)

  • Scripting: Fixed possible crash caused by race condition during startup when the script debugger and profiler systems are enabled.

  • Scripting: Fixes Catalina OSX returning 0 for disk space on read only drives. (1221933)

  • Scripting: Improved error messages for errors in generated code coming from the jobs debugger and safety system

  • Scripting: Unable to delete NewAssembly from Assembly Definition References list in Test Import Setting (1217184)

  • Scripting Upgrade: avoids checking VCS if only files outside /assets folder needs updating. (1217542)

  • Serialization: When resizing a managed reference array through SerializedProperty, insert null references instead of duplicating the last reference id. (1228136)

  • Shaders: Platform keywords that only depend on the current build target now affect #pragma selection (1226253)

  • Terrain: Export raw terrain now shows up immediately in Project Folder view (1178342)

  • Terrain: Fixed Terrain to properly switch from base map to splat map rendering when splats are in a dirty modified state (1178928)

  • Terrain: Fixed undo tracking for Terrain to be correctly record multiple different Paint operations in the same Undo operation, and properly Undo adding Terrain Layers (1138273)

  • Terrain: Fixing baked shadow masks for terrain with more than 4 materials (1148970)

  • Terrain: Fixing Terrain Brush list to update when brushes are modified, and adding tooltips to the Brush properties (1170563, 1170565, 1170567)

  • UI: Fix canvas drawing multiple times per frame when OnDemandRendering.renderFrameInterval is more than 1 (1214921)

  • UI: Fixed issue where GetModifiedMaterial would get root canvas even if not maskable causing performance spikes.

  • UI: Fixed issue with indexedSet array access

  • UI: Fixed issue with Selectable OnDrag not resetting to proper position as it used localPosition instead of anchoredPosition.

  • UI: fixing issue where if a dropdown was part of a nested overrideSorting canvas it would grab the very root canvas which could have the wrong sorting layer data

  • UI: Update uGUI package documentation to include EventSystem

  • UI Elements: Enabled MSAA on inspector windows to provide antialiased UIElements content. (1215973)

  • UI Elements: Fixed Editor memory leak on EditorWindow docking/undocking.

  • UI Elements: Fixed issue with right-click passing through the inspector preview if it's drawn over other inspector components. (1226328)

  • UI Elements: Fixed issue with the inspector preview reacting to scroll wheel events when mouse is outside preview area. (1198560)

  • UI Elements: Fixed radial gradients on metal. (1225848)

  • UI Elements: Fixed right-click on titlebar outside of open or failed-to-load tabs not supposed to show context window. (1228991)

  • UI Elements: Fixed the SubUpdatesDoesntBreakNextElements test to work on OpenGL and Vulkan on Windows. (1222743)

  • UI Elements: Fixed UIElements shaders not respecting the UNITY_COLORSPACE_GAMMA define (1221261)

  • UI Elements: Limiting the relative mouse position to account for the max size as well.
    Added automated tests for the Visual Splitter (1215097)

  • UI Elements: now the UIElements Debugger no longer sends a ChangeEvent when updating the VisualElement's Text field. (1185718)

  • UI Elements: Setting twice a TextValueField (without notify) would sometimes skip display updates and result in displaying the wrong values (the field's value itself is ok, but not the text that represents the value). (1202400)

  • UI Elements: The package shader for the editor will now be used when the UIElements package is used. (1232012)

  • UI Elements: The Scrollbar is one item behind when using ScrollToItem method. (1219416)

  • UI Elements: UI Tools: Fixed LayerMaskField choices values when using UXML Template. (1183189)

  • Universal Windows Platform: Expose EnableFrameTimings in Player Settings for Universal Windows Platform. (1163531)

  • Video: Addresses an instability in video playmode tests (VideoPlaybackCanPlayAudio).

  • Video: Fix VideoPlayerTimeReference playmode test instability.

  • WebGL: Fix WebGL builds for projects with utf-8 symbols (1179135)

  • WebGL: Fixed issue with gzip compression being broken for CentOS7. (1168715)

  • WebGL: Fixed the issue which prevented usage of ES6 in user jspre plugins in WebGL. (1211536)

  • Windows: Adds support for VideoCapture API to Windows Standalone Player and Editor (1195027)

  • Windows: Fixed build icon's alpha value is not shown correctly (1209971)

  • Windows: Popup windows now stay open when opened by a button in a custom popup menu. (1219122)

  • XR: Fix regression introduced in render pass fix. (1225548)

  • XR: Fixed a case where the camera does not respect near/far clipping plane settings

  • XR: Implement full render pass/render param support for XR SDK providers. (1222873)

API Changes

  • 2D: Added: Added API to access SpriteSkin deformed buffer

  • Asset Import: Added: Using AssetDatabaseExperimental.SetImporterOverride after an Undo.RegisterImporterUndo call allows reverting the importer type change operation.

  • Asset Import: Added: Using AssetDatabaseExperimental.SetImporterOverride after an Undo.RegisterImporterUndo call allows to revert the importer type change operation.

  • Asset Import: Changed: ScriptedImporterAttribute has an updated API to declare supported extensions and override extensions. See the documentation on ScriptedImporterAttribute for more details.

  • Asset Pipeline: Added: Add APIs to the Asset Database that take and return UnityEditor.GUIDs instead of strings

  • Asset Pipeline: Changed: Rename AssetDatabase GetArtifachHashXXX functions to ProduceArtifact counter parts

  • Editor: Added: JIRA case: https://unity3d.atlassian.net/browse/EC-704
    This is part of our Editor Query Framework epic : https://unity3d.atlassian.net/browse/EC-696

  • Editor: Added: make some internal properties public, required to fix case 1226204

  • Editor: Changed: New Guids are added on search contexts to support multiple searches.

  • Editor: Removed: Handles.DrawCapFunction and associated method overloads are removed.

  • Graphics: Added: added api to UnityEngine.Apple.FrameCapture to capture next frame as a whole: CaptureNextFrameToFile and CaptureNextFrameToXcode

  • Graphics: Added: added Mesh.SetSubMeshes to set all submeshes in one go avoiding all kinds of corner cases when updating existing mesh

  • Graphics: Added: API Added to allow native plugins to register and unregister 3D Textures with Unity

  • Graphics: Added: Image encoders that use NativeArray as input/output added.

  • Particles: Added: Added NativeArray overloads to SetParticles and GetParticles

  • Timeline: Added: Added ClipCaps.AutoScale to automatically change the speed multiplier value when the clip is trimmed in the Timeline window.

  • UI: Added: Add a new property "IsMaskingGraphic" so we dont have to do a GetComponent each enable/ disable if we are not the masking graphic

  • Web: Obsoleted: UnityWebRequest: isNetworkError and isHttpError are now deprecated, use UnityWebRequest.result instead.

  • WebGL: Added: Added "CodeOptimization" option to WebGL.UserBuildSettings. Possible values: "Speed" (default) and "Size".


  • 2D: Remove unused Reset Bounds button from SpriteSkinEditor

  • Editor: Creating a new GameObject from the Hierarchy view now places the instantiated object at world origin when invoked from a context menu on a Scene. (1179419)

  • Editor: Removed "macOS Color Picker" editor preference setting (that setting only ever partially worked anyway, e.g. it did not support HDR colors).

  • Editor: Revert reintroduction of OnDestroy/Awake calls for ExecuteAlways scripts when we enter Play Mode with the Scene Reload disabled.

  • Editor: The Position handle now follows mouse movements more precisely. (1217150)

  • Editor: When calculating an object's bounds for the Rect tool, GameObjects with a MeshFilter but no MeshRenderer are now included.

  • GI: LightingSettings asset is only created when saving an upgraded project

  • Package Manager: Changed path and file format of global configuration file. The configuration file format is now TOML. The old global configuration file path is deprecated. New global configuration should be set in this new file.

  • Package Manager: Version conflicts involving a direct project dependency are now reported like any other version conflict instead of being silenced.

  • Scripting: Removed boo and unityscript dlls from mono distribution.

  • Services: Support in the In-App Purchasing Service Settings for safe migration of com.unity.purchasing to 3.0+ from older versions. The ability to update to the most recent of the legacy versions of In-App Purchasing without migrating is retained. Projects without any versions of this package installed already will only be able to install 3.0+ from the In-App Purchasing Settings user interface.

  • Timeline: ControlPlayableAsset.searchHierarchy (a.k.a. Control Children) now defaults to false.

  • XR: Temporarily disabling runtime MSAA level changes if running with Vulkan and XR Management.

  • XR: Unity no longer includes the ARCore client libraries. These libraries are now added to a project by installing the ARCore SDK for Unity (distributed by Google).


  • 2D: Added message to inform user on dependent packages when viewing certain sample Scenes in com.unity.2d.animation

  • 2D: Adjust length of popup and value fields for Weight Slider Window in Skinning Module

  • 2D: Improved Memory Allocations

  • 2D: Improved SpriteSkinEditor UI

  • Android: Screen.resolutions is filled with supported display resolutions for 4K detection. (1178233)

  • Android: Update Android Logcat package version to 1.1.1

  • Android: Update Screen.currentResolution.refreshRate in case the display refresh rate changes

  • Asset Import: AssetDatabaseExperimental.SetImporterOverride is now accessible from the inspector in every Assetimporter header by selecting which available Importer Override to apply to this asset.

  • Asset Import: AssetDatabaseExperimental.SetImporterOverride is now accessible from the inspector in every Assetimporter header by selecting which available Importer Override to apply to this asset.

  • Asset Pipeline: Be less verbose about adb profiler output in the editor log unless necessary

  • Audio: Stop audio previews when Unity loses focus and "Run in Background" is disabled

  • Editor: Add Recent Scenes to the File menu in the top toolbar.

  • Editor: Added "Set as Default" option to Hierarchy objects to allow setting a custom parent for objects dragged into the Scene/Hierarchy Windows and objects created via the GameObject menu.

  • Editor: Calculate a ray direction relative to the camera instead of in world space. This should significantly improve precision when interacting with handles far away from the origin. (1178966)

  • Editor: Certain Version Control state icons (Out of Sync, Conflicted, Remote Locked, Remote Delete, Remote Checkout) will be displayed (if enabled in the Project Settings) for prefabs in the Hierarchy.

  • Editor: Ctrl+C on a focused progress dialog in Windows Editor copies the progress text to clipboard.

  • Editor: Editor status bar lower right corner icons have tooltips now.

  • Editor: Improved progress bar details for texture importing (Crunch compression, cubemap convolution etc.).

  • Editor: Improved the property editor component header title. (1223752)

  • Editor: Material preview in the inspector now remembers the last used preview mesh.

  • Editor: Minimize allocations when calculating bounds for the Rect tool.

  • Editor: Optimized by ~74x the style catalog asset post processing. (1222761)

  • Editor: Release Quick Search 1.5.2 with minor fixes and a bit more performance.

  • Editor: Release Quick Search 1.5.3 with minor fixes and improve tests stability regarding asset store.

  • Editor: Scroll smoothness in Editor in macOS

  • Editor: Text field for Scripting Define Symbols in ProjectSettings replaced with foldout string array

  • GI: Make the update of Light Probe Proxy Volumes components only once per frame and not per camera render since these components are not camera relative.

  • Graphics: Color writes during a scriptable render pipeline shadow pass has been disabled to improve performance.

  • Graphics: Enabled threaded texture creation on Xbox DX11 to removed hitch. Added support for direct upload of offline processed data on DX12 when threaded texture creation is disabled

  • Graphics: Improve input validation of RenderPass API

  • Graphics: Improve validation of RenderTexture with bindTextureMS for unsupported formats

  • Graphics: Improved documentation for Texture.allowThreadedTextureCreation

  • Graphics: Improved DX12 async texture loading to fail more gracefully when out of GPU memory

  • Graphics: Improved the error messaging interface when incorrectly setting up texture stacks.

  • Graphics: Improves DX12 performance with hybrid renderer.

  • Graphics: Slightly reduced shader compilation times and application build sizes for GLSL/Metal platforms.

  • Graphics: The URP Shadow Pass is now more performant when rendering cascaded shadow maps due to an increase of draw calls per command list.

  • iOS: Camera.targetDisplay now works with iOS Metal (1171951)

  • Kernel: Fix crash when empty filename is passed to AsyncReadManager.Read API

  • Kernel: Reduce job system overhead on Mac

  • Kernel: Refactoring in memory label code which resulting in lowering generated code size.

  • Kernel: Small optimisation for low-level atomic queue container used by the JobQueue

  • macOS: Remove project name in the normal window title bar

  • Mobile: Update Adaptive Performance Samsung Android package to verified version 1.1.1.

  • Package Manager: Added tooltips to action buttons for a package.

  • Profiler: Ability to see metadata associated with a profiler sample in Hierarchy View.

  • Profiler: Hierarchy and Timeline view no longer display frame data while profiling unless "Live" toggle is pressed, reducing the Editor Overhead while profiling Edit or Play Mode.

  • Profiler: Player Connection: Improved stability of player connection by better handling sending/receive messages and splitting receiving of messages across multiple frames.

  • Scripting: Add GC-free way to get stack trace in editor

  • Scripting: Added inline documentation, constructors and implicit conversion operators to LazyLoadReference.

  • Scripting: Added locking around tls->frames usage/freeing in the mono debugger. This eliminates some crashes involving memory corruption while using the managed debugger as well as a known hang.

  • Scripting: Improve performance of memory profiler

  • Scripting: Improved Performance of DefineConstraintsHelper

  • Scripting: UnityWebRequest.certificateHandler is now invoked for root certificates on Windows

  • UI: Add the ability to toggle maskable option from the inspector (property has always been there for API only)

  • UI: Adding secondary list of only graphics that are raycast targets to CanvasRegistery. This prevents iterating over the whole list all every frame

  • UI: Cache .Count access on for loops where throughout UI source code

  • UI: reworked GraphicRaycaster eventCamera implementation to cache some calls for performance

  • UI: UIStruct memory saving by use of bitfields

  • UI: Updated documentation for OnRectTransformDimensionsChange to say when it could be called.

  • UI: updating colorblock to have a static colorblock for default instead of creating new each time

  • Version Control: Updated existing version control icons. Added theme support.

  • XR: Updated Oculus XR Plugin to 1.2.0


  • Android: Added more complete support for playing video in addressables and asset bundles. Compressed and in-memory bundles are now supported on Android 9 and newer devices.

  • Editor: Added -version argument to command line arguments which prints out the unity version to console

  • Editor: Added functionality to have snap lines inside Graphview turn on and off in Preferences.
    If enabled, GraphElements in Graph Views (such as Shader Graph) align with one another when you move them. If disabled, GraphElements move freely.

  • Editor: auto_quitter has been renamed to UnityAutoQuitterauto_quitter on all platforms. It is now a native program on MacOS and Linux.

  • Editor: Update ProBuilder to 4.2.3.

  • Graphics: Add ExtensibleCamera that allow to extend a Camera by inheritence.

  • Graphics: Added an experimental ExternalGPUProfiler capture API enables developers to programmatically take GPU frame captures using supported GPU debugging tools.

  • Package Manager: Add links in package description so users can copy them.

  • Package Manager: Added changelogUrl and licensesUrl as optional properties which can be specified in a custom package's package.json. If specified, will replace the auto-generated changelog and licenses links with the custom URLs.

  • Package Manager: Added user setting for skipping the 'Asset Store has Moved' window. This setting can be enabled from the 'Asset Store has Moved' window itself. If enabled, this setting will cause the Asset Store to be opened directly in the browser when clicking on 'Window > Asset Store', and the user will not see the 'Asset Store has Moved' window again once they close it.

  • Package Manager: Changed Package Details to display full version of package, with tags (i.e. preview). Also, the '(Current)' note has been removed from Release Details of UPM Packages.

  • Package Manager: Http range request.

  • Package Manager: In the Package manager window, the refresh button is now a dropdown button to choose what kind of refresh the user wants to do.

  • Package Manager: Introduced two new environment variables to override user and global configuration files path. UPM_GLOBAL_CONFIG_FILE overrides the default path of the global configuration file. UPM_USER_CONFIG_FILE overrides the default path of the user configuration file.

  • Package Manager: Package details for packages installed locally/from tarball now displays the path they were installed from.

  • Package Manager: Split the package Name into the Name and the organization.

  • Shaders: It is now possible to override shader preprocessor on a per-shader basis

System Requirements

For development

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

CPU: SSE2 instruction set support.

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

The rest mostly depends on the complexity of your projects.

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

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

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

For running Unity games

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

  • Desktop:

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

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

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

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

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


Third Party Notices

For more information please see our Open Source Software Licenses FAQ on the Unity Support Portal

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

Got it