Release notes

Known Issues in 2021.1.0a2

  • AI: Correct the stray NavMeshAgent to always move to the closest NavMesh instead of somewhere above or below. (1072945)
    Fixed in 2021.1.0a3.

  • Animation: Unable to rename Animator Parameter & Layer once it is created (1286614)

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

  • Asset Bundles: [Performance Regression] AssetBundleLoadSingleAssets : LoadAsync_Prefabs_SingleAssets is significantly slower than 18.4 (1203511)

  • Asset Import Pipeline: Crash on mdb_txn_begin when SourceAssetDB has a lock on it from another process (1208749)

  • Asset Import Pipeline: Parent and child nested Scriptable Object Assets switch places when parent Scriptable Object Asset is renamed (1189089)

  • Asset Import Pipeline: Project Startup time slow due to unmatched Custom Dependencies (1276078)

  • Asset Import Pipeline: Texture Assets are reimported when the launched Editor is recovering from an unexpected close if there were compilation errors (1264055)

  • Asset Import Pipeline: The Inspector window is continually repainted when an Asset from the Project window is selected (1283558)

  • Asset Importers: [Performance Regression] Importing an fbx model is noticeably slower when the model contains Animations (1265275)

  • Audio: [editor][fmod][macOS] Editor is preventing Mac OS from entering sleep mode automatically (995866)

  • Editor: Fix incorrect error message in audio importer. (1279810)
    Fixed in 2021.1.0a3.

  • Global Illumination: Crashing with progressive GPU when baking lighting with the AZURE Nature demo scene (1277383)

  • Global Illumination: [OSX] Crash on 'Preparing Bake' stage when rebaking GI after changing lighting settings and clearing baked data (1271626)

  • Global Illumination: [PLM] Viewport progressively updating, even with progressive updates toggle unchecked (1284697)

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

  • Graphics - LowLevel: Creating AssetBundle containing custom assets with meshes crashes the editor (1281361)

  • Graphics Device Backends: Editor crashes on RtlWaitOnAddress on switching between different Graphics APIs (1286593)

  • Graphview: The majority of the Graph View functionality stops working when adding a Node into the Stack Node (1275569)

  • Hub: [Android] Invalid Android NDK Directory get detected when 'Android SDK and NDK Tools' installed through HUB (1284418)

  • IMGUI: Tool(Hand, Rotate, Rect, Grid) icon is not visible until click on button (1283628)

  • IMGUI: Editor performance loss when selecting an object in the Select Object window (1285342)

  • Linux: Performance Regression in Play Mode while using the Editor on Linux. Play mode is unable to reach more than 10FPS. (1271213)

  • MacOS: [iOS] after choosing to append/replace an existing build another window shows up asking if you want to replace it (1265065)

  • Mobile: [Android][IL2CPP] Empty project crashes on launch with "Using memoryadresses from more than 16GB of memory" messages (1284525)

  • Mono: macOS Apple silicon Standalone player with Mono scripting backend crashes on macOS Big Sur beta 6 (1278359)

  • Package: [Reflect] Standalone build fails with package errors if Unity Reflect is installed (1266377)

  • Packman: Editor crashes when upgrading/downgrading between 2020.1 and 2020.2 (1276565)

  • Profiling: [OSX][Win10] Manual sellection of the build in profiler is required after building with autoconnect profiler to start profiling (1223025)

  • Quick Search: NullReference Exception thrown on saving and replacing the existing search data (1283621)

  • Scene Management: Allocated memory is not cleared when loading and unloading scenes (1275751)

  • Scene Management: Crash on GameObject::ActivateAwakeRecursivelyInternal when enabling a broken Prefab (1280054)

  • Scene/Game View: Editor locks up when applying a material to a prefab in isolation mode after renaming the prefab (1284799)

  • Scene/Game View: [Scene View] Pixels of the GameObject are not getting refreshed which leads black trails on moving GameObject in the Scene view (1283647)

  • Scripting: Infinite project load when PrecompiledAssemblyException is encountered with clean project (1277885)

  • Scripting: [URP Template] Major performance drop in the Editor during Play Mode (1277222)

  • Scripting: [Virtual Texturing][HDRP] VT cache settings cannot be edited in HDRP asset (1274526)

  • Serialization: Unity crashes when saving something while being out of space (840183)

  • Serialization: [Performance]Console Pro in non-collapse mode and with large logs causes Slow asset refresh when modifying any script, 45 second (1270910)

  • Serialization: [SerializeReference] Polymorphic instances are always recreated when applying any inspector value change (1193322)

  • Shader System: Editor freezes/crashes when connected to NordVPN (1025558)

  • Shader System: Unity hangs on launch when restarting the attached project (1284748)

  • Shadows/Lights: Skybox lighting is not rendered after creating gameobjects in the new scene until the lighting is rebaked (1250293)

  • Terrain: CPU usage spikes in the Loading.LockPersistentManager when async loading/unloading Scenes with Terrain (1276854)

  • Universal RP: Terrain Lit Opacity as Density option causes alpha'd areas on the 5th layer or greater to appear with artifacts (1283124)

  • Window Management: Display.displays.Length outputs wrong display count in Editor console (786492)

  • iOS: [UaaL] UnityFramework with 3rd party plugins triggers watchdog termination after launch (1262272)

  • iOS: [presets] 'Bundle Identifier' field in Player Settings no longer works for iOS (1284759)

Preview of Final 2021.1.0a2 Release Notes

Fixes

  • 2D: Clear existing Tile data in Tilemap when refreshing Tilemap due to editor validation. (1272540)

  • 2D: Fix dynamic batching for TilemapRenderer in Individual mode with SpriteRenderers when Sprites have secondary textures set. (1277223)

  • 2D: Fix Grid Selection outline when undoing a Grid Select action. (1275085)

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

  • 2D: Sprite Editor Window shows Editor Window's 'Save Changes' dialog before if it is closed if there are pending changes that needs to be apply. (1274232)

  • 2D: Sprite is removed from Objects for Packing list of Sprite Atlas when using undo after replacing the Sprites. (1261537)

  • 2D: [Android][SpriteAtlas] totalSpriteSurfaceArea get reserialized when switching build platforms. (1273235)

  • AI: Fix an issue where pathfinding returns the end point on the wrong "floor" of the NavMesh. (1124570)

  • AI: Fix missing override indicators in NavMesh editors for the size of NavMeshObstacle and Area Mask for NavMeshAgent. (1269446)

  • AI: Fix NavMesh agent 'Area Mask' dropdown display when all values are selected. (1117300)

  • AI: Fixed an issue where CreateLocation does not return correct projection of an input point on an OffMeshLink. (1246726)

  • AI: Fixed editor crash when accessing null terrain tree meshes. (1271682)

  • Android: Automatically enable 'Custom ... Manifest' and 'Custom ... Template' checkboxes in Player Settings if appropriate files are added to Plugins/Android directory. (1227315)

  • Android: Enables 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: Export gradle project failing when using custom base build.gradle only the first time. (1245249)

  • 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 black build settings window when SDK/build-tools are missing. (1230551)

  • Android: Fix bug where draws after indirect draw result in corrupt geometry on Adreno. (1271258)

  • Android: Fix crash when using UAV with Vulkan on older Mali devices. (1256902)

  • Android: Fix messages, pointing to Preferences menu item (OSX vs. Windows). (1213519)

  • Android: Fix regression in 180 degree rotation reporting. (1273594)

  • Android: Fixed compilation error when using framebuffer fetch on single-channel texture formats. (1261534)

  • Android: Fixed GL_EXT_shader_framebuffer_fetch not being added when fragment method is in an included file.

  • Android: Fixed issue when Unity Remote system is unable to connect to Android devices due to incorrect adb executable file path. (1251622)

  • Android: Fixed mismatch between deltaTime and unscaledDeltaTime. (1266965)

  • Android: Fixed problem with camera capture session related crash while enabling/disabling camera access permission. (1262468)

  • Android: Fixed wrong caret position inside InputField when typing/deleting text fast. (1252556)

  • Android: When running external tools, print error messages as two items in Editor console instead of item per line. (1269685)

  • Animation: Added a new function that copies a motion output in its integrality from an animationStream into another animationStream. (1277405)

  • Animation: Adding multiple StateMachineBehaviours to an object will now properly display in the Inspector Window. This may cause generated behaviours on Playables to also be displayed in the inspector in play mode (see case 1173312). (1278575)

  • Animation: Fixed a Playmode crash in the Editor that happens after modifying scripts while animating certain UI Components using the Animation Component. (1238859)

  • Animation: Fixed an issue where the animation clip timeline is not aligned to the left if its length is lower than 0.05s. (1267304)

  • Animation: MeshFilter.mesh property is now animatable. (1228956)

  • Asset Bundles: Fix main thread hitching when loading an AssetBundle asynchronously while loading other assets in the background.

  • Asset Import: Added Help box in the Model importer rig panel to inform about the state of QualitySettings.skinWeights when the Model importer skin weights value is higher. (1194866)

  • Asset Import: Ensure 3DS Importer handles NaN vertices. (1268563)

  • Asset Import: FBX Meshes are imported deterministically between MacOS and Windows. (1281393)

  • Asset Import: Fixed issue where Reset does not apply to the 'Bake Axis conversion' setting in ModelImporter. (1228920)

  • Asset Import: Prefab Variant operations in the project browser do not throw UI errors in the console. (1263712)

  • Asset Import: Reimport of a FBX used in prefabs is now faster in large scenes. (1279974)

  • Asset Import: ScriptedImporters that create a Prefab as the main asset does not throw UI errors when renamed anymore. (1263389)

  • Asset Import: Substance files do not display an import warning anymore when the substance plugin is correctly set up in a new project. (1221240)

  • Asset Pipeline: Asset db file scanner will now error report files/folders that have a path or name that exceeded current limits. Path limit is 505/510 bytes (510 for meta file) and file name limit is 250/255 (255 for meta file). This fixes also an issue that would occur if a folder name was too long for getting a .meta counterpart. (1280028)

  • Asset Pipeline: Check that current directory has not changed in beginning of refresh. (1278242)

  • Asset Pipeline: Deleting an asset in use in import worker could cause an infinite refresh loop. (1263755)

  • Asset Pipeline: Disable editors for removed assets. (1158081)

  • Asset Pipeline: Do not crash if preview image is destroyed indirectly. (1163297)

  • Asset Pipeline: Fix for invalid artifact id assert that could get raised, when undo was restoring an object from a deleted asset. (1254071)

  • Asset Pipeline: Fix issue when calling AssetDatabase.IsValidFolder() with a path that has a trailing slash at the end. (1153840)

  • Asset Pipeline: Fixed issue where Assertion failed on expression: 'txn.IsBlacklistEmpty()' was being triggered, due to certain checks not happening before a Refresh was deemed completed. (1247090)

  • Audio: Fix 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 "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)

  • Audio: Fixed audio in timeline preview not pausing/resuming when changing focus between the editor and other applications. (1016423)

  • Audio: Fixed inspector window not immediately showing the "Wet" slider after selecting "Allow wet mixing" on an effect in the AudioGroup Strip View. (1276039)

  • Audio: Synchronize audio source playing state with timeline clip playing state. (1146694)

  • Build Pipeline: Fixed an issue where asset bundle dependencies might not have been deterministic. (1282671)

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

  • Burst: ABI struct ret/by val for trivial aggregates for WASM is now respected.

  • Burst: Allow to call [BurstCompile] functions from other [BurstCompile] functions.

  • Burst: Bitmask intrinsic was broken on non intel platforms.

  • Burst: Burst will now error if a cpblk was used to copy into a [ReadOnly] parameter or field.

  • Burst: Debug symbols are now output when using the native toolchain on mac.

  • Burst: Debug symbols for function names on some platforms are no longer hashes.

  • Burst: Dwarf symbols from multiple modules (e.g. multithreaded AOT compilation) now have correct compilation unit information.

  • Burst: Filter symbol warnings to prevent them reaching logs.

  • Burst: Fix a bug where a static readonly variable that was a System.Guid would result in an internal compiler error.

  • Burst: Fixed a bug where a stfld into an element of a vector could deduce the wrong type for the underlying vector.

  • Burst: Fixed a bug where the mm256_cvtepi32_ps intrinsic would crash the compiler.

  • Burst: Fixed a bug with constant expressions that could cause a compile-time hang.

  • Burst: Fixed a bug with float/double vector constructors of Unity.Mathematics that take half or half vector parameters.

  • Burst: Fixed an issue where UNITY_DOTSPLAYER builds not building for NET_DOTS would be unable to compile do to references to UnityEngine.

  • Burst: Fixed handling of conversion from signed integer to pointer which caused issues as discovered by Zuntatos on the forums.

  • Burst: Fixed incorrect struct layout for certain configurations of explicit-layout structs with overlapping fields.

  • Burst: Fixed potential error that could occur when unloading cached libraries.

  • Burst: Fixes a caching issue where stale cached libraries may have been used if a project was copied to a different folder, or Unity was upgraded to a newer version.

  • Burst: Inspector slow down when scrolling/moving the window on large listings.

  • Burst: Job Entry point symbols should now reflect the job name and type rather than a hash in callstacks/native profilers.

  • Burst: Job entry points without symbols now use the Execute location rather than pointing to unknown/unknown.

  • Burst: Sleef fallback to scalar float for WASM.

  • Burst: We no longer attempt to replace the debug metadata multiple times for a given export.

  • DX12: Fix a crash when RayTracingShader.Dispatch is called with an acceleration structure that was deleted in the meantime.

  • DX12: Fix for incorrect parameter type on native plugin API IUnityGraphicsD3D12v5::TextureFromRenderBuffer and IUnityGraphicsD3D12v6::TextureFromRenderBuffer. (1278695)

  • DX12: Fix for shader resource view of indirect argument buffer. (1276431)

  • DX12: Fixed alembic mesh udpating.

  • Editor: Added a foolproof EditorGUIUtility.ResetGUIState(); when drawing inspectors in override preview panel. (1242693)

  • Editor: Added a new flag called forceChildVisibiityfor the SerializedObject to control the visibility of hidden children. (1273848)

  • Editor: Added some missing sizes (64, 128, 256) for selected icons. (1249745)

  • Editor: Adds 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: Allow Hyphen character in Input Field when ContentType Property is set to Name. (1270473)

  • Editor: Checking and enabling VSync when Unmaximizing the game view. (1254640)

  • Editor: Correct prefab positioning in hierarchy after undo and redo are called. (1268662)

  • Editor: Cursor is now locked to the center of the gameview in the linux editor instead of the center of the screen when cursor lock is called in playmode. (1272190)

  • Editor: Detect circular asset references, instead of crashing. (1249114)

  • Editor: Fix 'Toggle hidden packages visibility' does not affect embedded/local packages. (1245277)

  • Editor: Fix an issue where, after Play In Editor completed, settings were reset to default.

  • Editor: Fix ConsoleWindow copy for SafeMode. (1276089)

  • Editor: Fix custom cursor appears while hovering mouse on the Package Manager Window. (1186485)

  • Editor: Fix ETC Compression Legacy/Default that auto fills fast/normal settings. (1277170)

  • Editor: Fix GameObjects with Playable Director component can't be turned into a prefab when Timeline window is open in preview mode. (1223541)

  • Editor: Fix initial size of SafeMode if first time usage. (1275799)

  • Editor: Fix issue where the Editor Script extending GameView function like Device Package in Non-English(e.g. Japanese) raises exceptions every frame. (1275960)

  • Editor: Fix issue with the alignment of certain buttons in some of the 2D colliders. (1281292)

  • Editor: Fix Player Settings Reset not clearing some icons for Android and iOS. (1263065)

  • Editor: Fix player settings visual glitch, "Metal API Validation" checkbox had an extra indentation level.

  • Editor: Fix restoration of static EditorGUI fields in case of exception during rendering of audio mixer effect inspector. (1232339)

  • Editor: Fix SceneHierarchy renaming using the context menu while a renaming is already active. (981190)

  • Editor: Fix script order exception when adding scripts from dll. (1280737)

  • Editor: Fixed "Frame Selected" shortcut being invoked when Game View is focused and Play Mode is active, improving performance. (1252043)

  • Editor: Fixed "Run in background" option causing a dramatic increase in CPU usage. (1275832)

  • Editor: Fixed a bug in the Preferences window where searching for "Create Objects at Origin" would not show any results. (1276118)

  • Editor: Fixed a crash that could occur when Burst compilation was scheduled before Burst had been initialized.

  • Editor: Fixed a potential null reference exception in the Editor Tool Manager. (1251555)

  • Editor: Fixed a small issue with item position varying slightly in the editor when display scaling is set to something other than 100%. (1269754)

  • Editor: Fixed an issue on Mac where open/save dialogs could not use copy/paste keyboard or menu shortcuts. (1252424)

  • Editor: Fixed an issue on Mac where user-defined NSWindows could not get copy/paste events. (1279756)

  • Editor: Fixed an issue to avoid "<multi>" string in the "Aniso Level" slider's value input field, in the Inspector, with multiple textures selected. (1226069)

  • Editor: Fixed an issue to create Sorting Layers with the different names. (1268131)

  • Editor: Fixed an issue where Account, Layer and Layout buttons disappear when resizing the editor beyond the width of the screen in the macOS. (1254983)

  • Editor: Fixed an issue where assembly reloading happened more than once when switching to the Unity Editor from another app or between Unity Editor windows. (1272211)

  • Editor: Fixed an issue where deselecting floating preview window throws null reference exception and GUI errors. (1278192)

  • Editor: Fixed an issue with adding new tags and sorting layers in the Preset of 'Tags & Layers'. (1268174)

  • Editor: Fixed Animation window keyframe Copy/Paste keyboard shortcuts not working before the main curve area has been clicked on. (1265480)

  • Editor: Fixed case case where terrain objects could still be selected despite picking being disabled. (1251889)

  • Editor: Fixed crash in GizmoUtilTests. (1274537)

  • Editor: Fixed Custom font reset option not resetting all the values to their defaults. (1268319)

  • Editor: Fixed custom layout submenu item is showing when it should not (i.e. Window/Panels). (1265713)

  • Editor: Fixed incorrect key values being passed to the new input system on Linux. (1275964)

  • Editor: Fixed LOD Group presets not to include references to renderers as these are related to Game Objects rather than project assets. (1251159)

  • Editor: Fixed modal window becoming non-interactable when creating a child modal window. (1215161)

  • Editor: Fixed Play and Pause button toggle icons not loading the correct "On" state when entering Play mode.

  • Editor: Fixed rectangle selection box sometimes does not select all vertices in the rectangle when editing shape for Shadow Caster 2D. (1282153)

  • Editor: Fixed spacing in warning message when attempting to attach a debugger to the Editor. (1254306)

  • Editor: Fixed spurious memory leak warning when using JobHandle.CombineDependencies() with long-running jobs. (1284488)

  • Editor: Fixed the Inspector is empty when selecting the Blend Tree that has been copied and pasted of other Blend Tree. (1274572)

  • Editor: Fixed the issue where AddComponentMenu could have folders with no name. (1259764)

  • Editor: Fixed the issue with Editor mode defaulting to Normal after restart. (1156788)

  • Editor: Fixed the Package related MenuItem issue. (1233571)

  • Editor: Fixed the title issue with a tooltip. Since the name of the texture you have selected is already there where you clicked, a tooltip is sufficient showing the full name if it is not being fully visible due to size constraint. (1248621)

  • Editor: Fixed the Unity crash handler on Windows to use the active project of the editor from which it spawned when creating bug reports. (1246875)

  • Editor: Fixed Tools.ViewTool returning ViewTool.Pan when not in GUI context. (1165779)

  • Editor: Fixed undoing color change while picker is open produces a warning. (1262695)

  • Editor: Fixed UnityEngine.Selection.objects should not return nulls. (1274421)

  • Editor: Handle null camera case in some of Handles functions, was for example producing a null reference exception when opening a ProBuilder UVEditor with a face selected. (1242263)

  • Editor: Handle Set/Clear As Active Parent Object action Undo correctly. (1275084)

  • Editor: Include Asset Database dependencies when exporting packages. (1250495)

  • Editor: Lightmap visualization tonemapping now works on Editor start (1279800)

  • Editor: Made 3D RenderTexture inspector use 3D Texture preview. (1227413)

  • Editor: Mouse dragging on macOS no longer degrades editor performance. (1281005)

  • Editor: Object are not selected anymore when clicked on backfaces. (1282977)

  • Editor: On Windows, LTS builds of the editor will now each have their own entry in Add/Remove programs. (1267038)

  • Editor: On Windows, when using the mouse in a Unity window, the wrong mouse position is used in other Unity windows. (1274741)

  • Editor: On Windows, when using the mouse in a Unity window, the wrong mouse position is used in other Unity windows. (1275064)

  • Editor: Optimized rendering of TreeView when it has a large selection set.

  • Editor: Preview Objects names when selecting multiple assets are now displayed correctly. (1184882)

  • Editor: Reverted fontRenderingMode from FontRenderingMode.Smooth back to FontRenderingMode.OSDefault. (1262281)

  • Editor: Scene/Game view gizmo fadeout is less aggressive now, and can be user controlled via "Fade Gizmos" slider in Gizmos window. (1274317)

  • Editor: The camera inspector FOV slider now correctly adjusts its range when the FOV axis is horizontal. (1219321)

  • Editor: The green button on windows in macOS now shows menu items correctly enabled when button is held. (1268232)

  • Editor: The Windows standalone uninstaller now correctly cleans up all files and removes the install directory. (1277752)

  • Editor: Transform component inspector context menu is better organized now (Copy/Paste/Reset items under their own submenus). (1264870)

  • Editor: Updated Navigation icons. (1254021)

  • Editor: When app bundle identifier contains invalid chars (iOS/Android), remove them with warning. (1183580)

  • Editor: When installing the Windows editor, installing Linux Mono support alongside Linux IL2CPP support will no longer overwrite Linux IL2CPP support. (1276104)

  • GI: Add a Gizmo for the Disc Light. (1273193)

  • GI: Backup and restore builtin parameters when rendering cubemaps. (1242415)

  • GI: Fixed an issue where Enlighten would run on build despite being disabled. (1258154)

  • GI: Fixed crash in Enlighten::CpuUpdateManager::UpdateGpuTexture when starting GI bake after baking previous scene with GPU progressive lightmapper. (1250819)

  • GI: Fixed HDR reflection probe baking when editor is in mobile platform mode with 11.11.10 HDR format active. (1280354)

  • GI: Fixed the 'Could not load symbol clCreateCommandQueueWithProperties' error when opening project on some systems with OpenCL 1.2 or older drivers. (1268288)

  • GI: Fixes an error log message in the light conversion script that could occur when light colors produced denormalized floats. Light without any color channel exceeding 1e-20 will be treated as completely black (0,0,0). (1275179)

  • GI: Make GPU lightmapper work on Apple Silicon DTK.

  • GI: Prevent CPU version of A-Trous lightmap denoiser from introducing triangle-aligned artefacts into the filtered output. (1255973)

  • GI: Stop writing to stored LightProbes when setting baked coefficients in play mode. (1265063)

  • GI: The "Auto Generate" is now available on every tab in the Lighting Window. (1266957)

  • GI: The user observed that their scene was still being lit after they pressed the clear baked data button. This was due to the ambient probe and the default reflection probe, created from the skybox, never being reset. This change very simply resets these fields when the button is pressed. (1200802)

  • GI: The user observed that upon deleting a lightmapped scene object and undoing the deletion, the scene object was no longer being lit. This was caused by the fact that we do not serialize lightmapping data such as indices and ST. This change explicitly handles the case where a lightmapped scene object is deleted in an undo-able manner. (1225425)

  • GI: Wrong GPU chosen when baking using eGPU. (1274223)

  • Graphics: Add Shader Precision Model into Player Settings, to change between current platform defaults and the new Unified Model. Unified model defaults to full sampler precision on all platforms, but allows declaring lower precision explicitly and use FP16 ops on targets where available. (1280157)

  • Graphics: Added a space in the Tier list UI in Graphic Settings. (1259327)

  • Graphics: Added exposure slider to the inspector of HDR RenderTextures (excl 3D) & 2D/2DArray textures. (1225327)

  • Graphics: Added missing script API taking GraphicsBuffer parameters, for SetBufferCounterValue and SetBufferData.

  • Graphics: Added prompt when switching colors space in editor.
    Setting color space to uninitialized via script is no longer valid.
    Updated RenderTextureDesc documentation. (1274452)

  • Graphics: Added SupportsRandomWriteOnRenderTextureFormat to query if a given RenderTextureFormat can be used when enabling the random write flag. (1266102)

  • Graphics: Avoid m_PreWarmDeltaTime negative values. (1167237)

  • Graphics: Clarifies and simplifies the texture resource views within the Xcode GPU frame debugger. (1281175)

  • Graphics: Copy spawn count because we can process several time Init/Update per frame. (1268360)

  • Graphics: Crash while calling VFX.VisualEffect.SetGradient with null. (1271839)

  • Graphics: Draw calls done in script are now displayed correctly when the Frame Debugger is connected to remote players. (1261959)

  • Graphics: Editor text on Mac OSX will no longer randomly become corrupted. (1267885)

  • Graphics: Encoding an R8-image to JPG or TGA no longer results in a cyan-tinted image; the result is now gray, as is the case for R16-images and for encoding to PNG. (1259972)

  • Graphics: Fix a casting issue when assigning int to bool with HLSLcc.

  • Graphics: Fix in calculation of disk read data. (1274963)

  • Graphics: Fix shadow caster culling for HDRP. (1185407)

  • Graphics: Fix targetTexture rendering black screen when changing it in OnPreRender(). (1274376)

  • Graphics: Fix Validation error from creating 0 size frame buffers on Vulkan. (1278091)

  • Graphics: Fixed depth buffer size check when implicit backbuffer depth is used, removing error message spam. (1268201)

  • Graphics: Fixed erroneous precision when deducing the precision of a sampler from a texture and using inline state. (1271276)

  • Graphics: Fixed incorrect shadows when using DrawMeshInstancedIndirect. (1281700)

  • Graphics: Fixed loading of png files with large chunks. (1273050)

  • Graphics: Fixed metal/vulkan shaders sometimes referencing inputs omitted by the compiler. (1277144)

  • Graphics: Fixed potential divide by 0 when running graphics jobs on UWP Player.

  • Graphics: Fixed Shader.globalRenderPipeline tag is not being set correctly at runtime. (1141848)

  • Graphics: Fixed terrain material being reset to builtin terrain material after reopening an SRP project.

  • Graphics: Fixed terrain trees casting both real-time and baked shadows in shadowmask mode. (1122324)

  • Graphics: Fixes a crash, when changing the mesh data during the frame. (1227781)

  • Graphics: Fixes instanced shadow rendering when using closest fit with a single cascade. (1257896)

  • Graphics: Fixes NullReferenceException on Terrain Shaders when project is opened after deleting Library folder. (1240491)

  • Graphics: Fixes reflections in baked reflection probes not being rendered when rendering path is set to deferred. (1260144)

  • Graphics: Fixes vulkan validation error VUID-VkFramebufferCreateInfo-pAttachments-00882. (1278684)

  • Graphics: Frame Debugger does not show formats of MRT (multiple render targets) correctly. (1261622)

  • Graphics: Handle depthSlice -1 for backbuffer when using OpenGL ES. (1281747)

  • Graphics: Improved frustum test for point lights. Fix cyclic error in computing Projection -&gt; CalculateObliqueMatrix -&gt; Projection. (1266851)

  • Graphics: Keep it possible to create textures using deprecated ASTC enums. (1277203)

  • Graphics: Made accessing buffer dimensions an error when compiling for metal. (1274166)

  • Graphics: Make it clear that some Line Renderer Inspector options are for Scene View editing, and do not belong to the Line Renderer instance. (1199217)

  • Graphics: Prevent ability for users to incorrectly pick a scene object when picking a detail mesh prefab. (1270627)

  • Graphics: Prevent drag and drop of Material, Shader, Texture on a GameObject with VFXRenderer. (1251051)

  • Graphics: Properly warn about double usage in shaders on metal.

  • Graphics: Restore all settings on LODGroup to defaults when Reset. (1254015)

  • Graphics: Sample Mesh - Color store as float. (1229974)

  • Graphics: Shaders in development builds using the DX12 rendering API will now be displayed in external frame debuggers. (1221511)

  • Graphics: Static batching and Mesh.CombineMeshes can handle more vertex formats now, for example Float16 normals or UVs. It also no longer clamps vertex colors to UNorm8 format - if input meshes have higher precision vertex colors, then combined mesh will have high precision colors too. (1274815)

  • Graphics: Terrain asset presets no longer include instance data. This corrects the intended behavior, and significantly improves performance. (1244214)

  • Graphics: Using Mesh Compression import setting on non-standard vertex data formats no longer crashes. (1267820)

  • Graphics: Warn user for rendering artifacts when importing texture with cubemap sequence/cross layout with non-optimal size. (1163002)

  • Graphics: Warning while compiling player (internal). (1262740)

  • GraphView: Added capability support to stacks, stack children, and groups to help better avoid unsupported behaviors. Specifically with grouping and heterogeneous selections.

  • IL2CPP: Correctly report the public key for assemblies where is exists.

  • IL2CPP: Fixed issue with generated Visual Studio Solution project files that caused IntelliSense and other code analysis tools to fail when scanning source files. (1285102)

  • IL2CPP: Remove 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 application not rendering when using a very high Application.targetFrameRate.

  • iOS: Fixed builtin deferred renderer using 2 extra encoders to just clear GBuffer. (1277009)

  • iOS: Fixed rotation issues when app is not required to be full-screen and is running on iPad. (1091688)

  • License: Fixed license validation when serial number is missing on Mac. (1279866)

  • Linux: Added check for return value of write as its possible it could fail. (1228164)

  • Linux: Fix the Bug Reporter suggestion box. (1156930)

  • Linux: Fixed a bug where unplugging/plugging in controllers would lead to a bad input device tracking state. (1279308)

  • Linux: Fixed an incorrect assert message on disconnecting a game controller. (1279323)

  • Linux: Fixed game controller and joystick serial numbers. (1269974)

  • Linux: Fixed Linux test instability by making GTK window creation and resize events blocking. (1262870)

  • Linux: Fixed Linux test instability by making GTK window creation and resize events blocking. (1274255)

  • Linux: Fixed Linux test instability by making GTK window creation and resize events blocking. (1274897)

  • Linux: Fixed Linux test instability by making GTK window creation and resize events blocking. (1275098)

  • Linux: Fixed Linux test instability by making GTK window creation and resize events blocking. (1275150)

  • Linux: Fixed Unity Bug Reporter taskbar icon on Ubuntu LTS showing "unknown". (1188799)

  • Linux: Re-enable CanAllocateALotOfMemory test. (1111793)

  • Linux: Show error if Linux Mono support is not installed. (1276232)

  • Linux: Updated from SDL 2.0.7 to 2.0.12.

  • macOS: Application is correctly focussed and unfocussed when the GameCenter UI is used. (1278005)

  • macOS: Fix code signing of native plugins in Xcode projects. (1276317)

  • macOS: Fixed an issue where a unitypackage created on another filesystem might fail to import. (1266321)

  • macOS: Fixed aux window remains active when a tab is moved. (1265583)

  • macOS: Fixed Unity Editor activating tooltips when other apps are currently active. (1269177)

  • macOS: Fixed x64 + ARM64 builds not starting on macOS Big Sur beta 6 and later when run on Apple silicon devices. (1278362)

  • Multiplayer: Fixed out of bounds access error when doing connection checks in unet.

  • Multiplayer: Resolved an issue where you can now set the threadpool size for LL API.

  • Networking: UnityWebRequest: fix il2cpp stripping potentially making ReceiveContentLength not called on custom download handler. (1282106)

  • Networking: UnityWebRequest: fix possible data corruption in UploadHandlerFile. (1238418)

  • Package Manager: 'See All Versions' from Project Settings should not affect 'My Registries' package version discovery. (1284861)

  • Package Manager: Clear subsystem instance map on deinitialize so that stale instances aren't being retrieved on restarts.

  • Package Manager: Document link underlining is correct.

  • Package Manager: Fix NullReference Exception when fetching sample from package.json. (1260558)

  • Package Manager: Fix removing package with a read-only file throws UnauthorizedAccessException if package is in Packages directory (Git clone). (1237777)

  • Package Manager: Fixed issues with Samples display when switching between low width and regular width view.

  • Package Manager: Modify Preview Packages in Use behavior to conform to lifecycle v2. (1284843)

  • Package Manager: Package manager not recognizing new package name from A$.

  • Package Manager: Remove the upm error that is logged twice. (1283355)

  • Package Manager: Select the first added scoped registry when we open the project settings from the popup.

  • Package Manager: Updated com.unity.purchasing to 2.1.1 - fixes some compatibility issues with platforms without analytics.

  • Package Manager: VW unable to see Unity packages since they access them from a server that is not on unity.com domain. (1274555)

  • Package Manager: We now tag Scoped Registry packages in their Package Details according to the version tag.

  • Particles: Fixed assertion failure caused by active ParticleSystems. (1272220)

  • Particles: Fixed crash when using BakeTrails with Attach Ribbons to Transform.

  • Particles: Fixed missing Trail Material slot in the inspector. (1284719)

  • Particles: Remove the warning about mis-matched vertex streams when creating a default Particle System. (1259366)

  • Physics: Add an icon for the ArticulationBody component. (1201422)

  • Physics: CCD type is restored to specified Collision Detection type in Rigidbody Inspector when isKinematic is toggled from true to false. Inspector does not show speculative CCD in use during kinematic override. There are no warnings that this is occurring. (1177698)

  • Physics: Physics Collider Tooltips were revised. (1261350)

  • Playables: Fixed an issue where an Assert would pop if you were evaluating a PlayableDirector in OnEnable of a MonoBehaviour that has the [ExecuteInEditMode] Attrbute. (1246997)

  • Prefabs: Added missing tooltips for Revert and Apply buttons in Prefab overrides comparison view. (1261334)

  • Prefabs: Fix Applying component or property takes current Animation Mode Preview or Recording values. (1077718)

  • Prefabs: Fix editor crashes caused by prefabs instance with missing assets. (1219109)

  • Prefabs: Fix Editor crashes/hangs when using PrefabUtillity.SetPropertyModifications() where some propertymodification.target are invalid (null). (1276769)

  • Prefabs: Fix Prefab preview in Inspector doesn't update until reselected. (1056071)

  • Prefabs: Fix that dragging a Prefab asset to the Scene view while in Prefab Mode in Context did not render the dragged object normally but instead using the context render mode. (1279539)

  • Prefabs: Fix that the Inspector preview window displays all LODs on a prefab simultaneously, stacked on top of one another. (1089143)

  • Prefabs: Fixed crash when exiting prefab mode in some circumstances. (1269978)

  • Prefabs: Managed field types in prefabs containing Arrays are now serialized correctly to allow field to be initialized before Array.size is set. (1255012)

  • Prefabs: Opening Prefab from the prompt displayed when deleting 2nd level nested Prefab shows double rendering in Prefab Mode. (1277627)

  • Prefabs: When opening a UI Prefab in Prefab Mode in Context and then opening a child UI Prefab in a nested Prefab Mode in Context, the UI of the child would sometimes get hidden below the UI of the context. (1268329)

  • Profiler: Fix CPU Module Detailed view sorting when search field is active. (1214785)

  • Profiler: Fixed "Show Calls" view not counting Calls correctly for the "Called From" section in Profiler Window. (1180144)

  • Profiler: Fixed a bug which caused RegisterNewMarkerCallback to be called multiple times with the same marker. (1158554)

  • Profiler: Fixed a situation when Profiler remains active even with Profiler window closed in play mode. (1249581)

  • Profiler: Fixed large amount of tris and verts are being reported in an empty scene by the Game View statistics when refocusing the Editor. (1275827)

  • Profiler: Fixed Profiler settings option to clarify what it does. (1240432)

  • Profiler: Fixed RawFrameDataIterator.threadId always returning 0 for profiler frame data loaded from .data files. (1279213)

  • Profiler: Fixed recursive call in ProfilerUnsafeUtility.CreateMarker causing il2cpp builds to fail.

  • Profiler: Fixed sorting order in Show Related Objects panel to be numerical instead of alphabetical. (1198266)

  • Profiler: Fixed Standalone Profiler recording without clearing previously recorded data when Clear on Play is selected. (1249920)

  • Profiler: Fixed visualization of a selected frame which is no longer available in Profiler hierarchy view to unify hierarchy and timeline view behavior. (1242627)

  • Profiler: Fixes a race condition in the Shadow Casters stat observed as part of case 1265648, which can cause inconsistent collection of the stat. (1265648)

  • Scene/Game View: Fix Scene View Invert Selection not taking into account scene picking/visibility state. (1277187)

  • Scene/Game View: Fixed an issue where toggling scene visibility for shadow casting objects would not affect shadows cast from local lights. (1282033)

  • Scene/Game View: Fixed crash in GizmoManager when trying to build gizmos for a GameObject with a null transform component. (1260013)

  • Scene/Game View: Fixed Line Renderer editor not repainting the Scene View when selecting points. (1276045)

  • SceneManager: Enforce required full path for LoadSceneInPlayMode. (1220015)

  • SceneManager: Make GetSceneByPath no longer case sensitive. (1214583)

  • SceneManager: Prevent loading scene where multiple objects have same identifier. (1138553)

  • SceneManager: Scene is set dirty when child dragged upon own parent. (1278128)

  • Scripting: Add option to disable Signed Assembly version validation. (1193928)

  • Scripting: C# scripts containing invalid characters in disabled conditional sections are now correctly imported. (1279339)

  • Scripting: Common math and geometry structs such as Vector3 no longer depend on CultureInfo.CurrentCulture to implement ToString method overloads. (1275065)

  • Scripting: Fix debugger crashes caused due to incorrect marshalling for pinvoke byte array return type. (1274470)

  • Scripting: Fix modifying Assembly Definitions results in recompile all.
    When Adding/Removing/Moving we still result in a recompile all. But we are working towards getting this fixed as well. (1268925)

  • Scripting: Fix modules being disabled by a platform not getting reenabled when switching platforms which could cause incorrect compiler errors. (1196164)

  • Scripting: Fixed issue with dynamic methods not being cleaned up on domain reload which would lead to corrupted data that would then cause this crash. (1273662)

  • Scripting: Quaternion.Angle: Apply the same epsilon tolerance value when comparing q & -q as we do when comparing q & q, both of which should always result in an angle of 0. (1246947)

  • Scripting Upgrade: Compiler error verification check prolongs compilation by 10-20 minutes when handling multiple errors. (1238888)

  • Scripting Upgrade: Fix issue which may prevent ApiUpdater from running when C# syntax (>= 5.0) is used. (1046329)

  • Serialization: Fields of type UnityEngine.Hash128 are now correctly serialized in ScriptableObjects and MonoBehaviours. (1271062)

  • Services: Added a fix for the removal of CEF from the editor causing an exception when a tracker is added to a game object.
    The removal of CEF meant that when analytics is not enabled, and you add an analytics tracker to a game object, the library
    required to create the "go to service menu and enable analytics" button didn't exist, and thus would throw an exception. The solution was
    to have a seperate class initialised on load that would override this functionality for all editors that don't have this library. (1277664)

  • Shaders: Added Material.SetInteger, Material.GetInteger, MaterialPropertyBlock.SetInteger, MaterialPropertyBlock.GetInteger, Shader.SetGlobalInteger and Shader.GetGlobalInteger that use integers internally; added Integer property type to ShaderLab. (1277994)

  • Shaders: Fixed bad constant buffer data in Editor compute shaders right after build. The bug could cause Editor to crash after build. (1263233)

  • Shaders: Fixed bad GLSL code generation on some cases accessing loop inductor inside the loop. (1267920)

  • Shaders: Fixed include files not enabling Adreno framebuffer fetch extension. (1269926)

  • Shaders: Having a compute shader inspector open will no longer produce an error in the console when entering Play mode. (1270335)

  • Shaders: Reduced memory consumption of Caching preprocessor by a factor of 2 on large shaders. (1278110)

  • Shaders: Removed redundant shader upgrader pass on editor startup. (1274174)

  • Shaders: Reset m_LightmapFlags in Material::ResetWithShader(). (1283694)

  • Shaders: When set texture parameter to a compute shader, check if it is a RenderTexture and if it has been created. If not, created it. This made sure the RenderTexture is created when ComputeShader.Dispatch is called. (1261303)

  • Terrain: Fixed a connection cleared when AutoConnect is not used in first frame. (1241302)

  • Terrain: Fixes confusing behavior for Lock Width To Height feature when painting trees on Terrain where width is randomized within the specified height range instead of using the randomized height value. (1265350)

  • Terrain: Fixes crash that occurs when deleting terrain component during OnTerrainChanged callback. (1281737)

  • Terrain: Paint Terrain Help text properly wraps. (1281097)

  • Terrain: Paint Tools which are overriden forward shortcut selection to the tool that is overriding them. (1251645)

  • Terrain: Painted terrain details now are culled more precisely against hole edges. (1270061)

  • Terrain: Re-use of the leaf icon for the tree component as the component icon was missing. (1260457)

  • Terrain: Undoing after removing terrain layer correctly restores alphamaps. (1276283)

  • Terrain: When reparenting a element of the tree, all modification made by hand are reset to avoid strange behaviors. (1272795)

  • Timeline: Fixed timeline audio playing at the wrong time when Time.timeScale is not 1. (981046)

  • Timeline: Fixed timeline audio playing on timelines with GameTime update mode when Time.timeScale is 0. (1269783)

  • 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: Fix issue where a selected UI element would not get the highlight state when hovered. (1274735)

  • UI: Fixed issue where PixelPerfect wouldn't update right away when toggled on the Canvas. (1261788)

  • UI: Fixing issue with vertex attributes not getting pass through to the profile rerendering leaving the view empty. (1276001)

  • UI: Fixing uGUI doc population.

  • UI: Make use to first materials texture ID and texel size if no texture has been provided. (1257149)

  • UI: OnDrop callback not being called when using a TouchScreen. (1279352)

  • UI Toolkit: Fixed disappearing icons. (1279796)

  • UI Toolkit: Fixed error with UI Elements Samples window after Minimizing/Maximizing another window. (1244800)

  • UI Toolkit: Fixed layout being affected by the state of RenderTexture.active. (1268095)

  • UI Toolkit: Fixed panel color that was not being premultiplied before clearing the target texture background. (1277149)

  • UI Toolkit: Fixed ScrollView's scroll bars not showing when children are using position:absolute. (1247583)

  • UI Toolkit: Fixed the ellipsis activated unpredictably with scaling factor other than 100%. (1268016)

  • UI Toolkit: Only use mapped buffers when the graphics device support it. (1281641)

  • UI Toolkit: Prevent NullRefException when providing textureless sprites as background.

  • UI Toolkit: Throw a proper argument null exception when using UQuery.

  • Universal Windows Platform: Fixes duplicate OnClick event from an Xbox controller after loading a new Scene. (1263078)

  • Version Control: Fixed '-vcsMode' command-line argument being applied after API Updater. (1266509)

  • Version Control: Fixed a crash on initial script recompilation when script tried to checkout assets. (1275692)

  • Version Control: Status overlay icons are no longer "washed out colors" in Linear color space. (1218701)

  • Version Control: UnityYAMLMerge : Fixed an issue where duplicate keys could cause empty data to be output, and improved transform mapping to work with a wider range of Unity versions. (1258865)

  • Video: Fix video preview in editor.

  • Video: Use 2d spatial blending when playing audio in direct mode. (1276611)

  • Virtual Texturing: Fixed issue where the VT system was trying to use some formats that are not natively supported by the GfxDevice. (1253381)

  • Virtual Texturing: Fixes crash when trying to preview a VT texture with an unsupported format. (1274476)

  • Virtual Texturing: Reduced sizes of VT fallback caches used by GfxTests to prevent out-of-memory. (1266524)

  • WebGL: Add sysroot package support to Unity for building WebGL platform on Linux, providing a consistent and self contained build environment. (1268262)

  • WebGL: Added support for JS side to customize the render target size of the WebGL canvas, instead of requiring it to always match 1:1 with the High DPI CSS size of the canvas (enabled by setting 'config.matchWebGLToCanvasSize = false; in page .html template). (1178725)

  • WebGL: Added support for PVRTC and RG16 textures. Enable use of high-performance WebGL GPU powerPreference. (1187965)

  • WebGL: Applied a workaround to Chrome specific Web Audio performance issue https://bugs.chromium.org/p/chromium/issues/detail?id=1133233. (1270768)

  • WebGL: Attempting to open a dynamic library will now throw a DllNotFoundException rather than aborting execution as a runtime error. (1227393)

  • WebGL: Consistently refer to WebGL APIs by names "WebGL 1" and "WebGL 2". (1260548)

  • WebGL: Fix for TAB keys being ignored by UI input fields. (1281765)

  • WebGL: Fix mouse wheel scrolling with the new input system on WebGL. (1264545)

  • WebGL: Fix pixelated edges of soft shadows for WebGL. (1240932)

  • WebGL: Fixed a bug where calling unityInstance.Quit() from JavaScript would not let JS VM garbage collect away the Unity game instance. (1188667)

  • WebGL: Fixed a bug where keyboard up events would be missed if WebGLInput.captureAllKeyboardInput was set to false while a key was being held down. (1195047)

  • WebGL: Fixed a bug where shaders placed in extra resources ("Always Included Shaders" list) might be built incorrectly. (1120359)

  • WebGL: Fixed a bug with compressed single channel textures attempting to target unsupported BC4 compression format. (1274662)

  • WebGL: Fixed a crash at startup that occurred if initial filesystem data triggered a heap resize. (1174367)

  • WebGL: Fixed a crash with Unity web loader on new macOS Big Sur.

  • WebGL: Fixed a GUI blit issue in WebGL builds with linear color space enabled, that caused washed out UI images on web browsers compared to other platforms. (1187401)

  • WebGL: Fixed a hang in Caching.ClearCache() when building against multithreaded WebGL. (1146530)

  • WebGL: Fixed a WebAssembly trap when a touch point got canceled on mobile devices. (1262657)

  • WebGL: Fixed an issue when a failing cross-domain revalidation request prevents a file from being downloaded. (1266091)

  • WebGL: Fixed audio clip autoplay regression in WebGL builds. (1276713)

  • WebGL: Fixed audio not looping seamlessly in WebGL. (1189720)

  • WebGL: Fixed DST time computation for locales that have changed their DST behavior since year 2000. (e.g. Lithuania). (1179945)

  • WebGL: Fixed inverted y axis for game controllers with the Input System on WebGL. (1273623)

  • WebGL: Fixed issue with paused audio clicking in Firefox. (1238052)

  • WebGL: Fixed Keyboard.current and Mouse.current to be immediately available in MonoBehaviour.Start() functions, instead of returning null. (1239007)

  • WebGL: Fixed Preset incompatibilities in Player Settings. (1232138)

  • WebGL: Fixed video playback in Firefox to loop seamlessly. For more information, see https://bugzilla.mozilla.org/show_bug.cgi?id=1668591. (1267333)

  • WebGL: Fixes WebGL build issue when the default system Python version is Python3 instead of Python2. (1280386)

  • WebGL: Improved error messages that are printed when a build to WebGL fails. (1245847)

  • WebGL: Keyboard input is not detected in the Input Field when built on WebGL. (1258876)

  • WebGL: Reduced memory usage on dual Intel integrated + NVidia GPU Windows laptops when using URP in a large scene with many individual objects. (1225254)

  • WebGL: Resolved issues with touch events and the new input system on WebGL. (1257101)

  • WebGL: WebGL: WebGL: Fix use after free of m_Context in GfxDeviceGLES destructor, which resulted in "Memory access out of bounds" exceptions when quitting an application in WebGL builds. (1204734)

  • Windows: Fix Unity Editor Icon at the top left is blurry. (1264422)

  • Windows: Fixed UI animation stutter when Alt-Tabbing to and from the Editor. (1278085)

  • Windows: Popover window in Frame debugger now closes when pressing up or down on the keyboard in the tree view.

  • XR: Fix CommandBuffer.SetRenderTarget() with XR single-pass rendering. (1261545)

  • XR: Fix Graphics.Blit when using VRTextureUsage.TwoEyes. (1258990)

  • XR: Fix screenspace shadows with XR multiview. (1168315)

  • XR: XR Devices no longer report errors if no tracking features found on device.

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

API Changes

  • 2D: Added: Add Tilemaps.TileFlags.KeepGameObjectRuntimeOnly flag to allow users to keep GameObjects from Tiles after removing the originating Tile

  • 2D: Added: SpriteAtlasAsset can be loaded/saved using SpriteAtlasAsset.Load and SpriteAtlasAsset.Save.

  • Android: Added: Add API level 30 to AndroidSdkVersions enum.

  • Animation: Added: A new parameter was added to the MatchTarget function for auto matching completion in case of interruption

  • Animation: Added: Published UnbindAllStreamHandles and UnbindAllSceneHandles to manage Animation C# job handles life cycle. (1238832)

  • Asset Bundles: Added: Added AssetBundle.UnloadAsync for unloading assetbundles in the background (1281619)

  • Asset Import: Added: Added CanOpenAssetInEditor method to check whether an asset would be opened in Editor

  • Build Pipeline: Added: New API FilterToSubset on BuildReferenceMap & BuildUsageTagSet providing more control over native build data, reducing unnecessary asset bundle rebuilds.

  • Editor: Added: Added a callback when pivot mode, pivot rotation, view tool enable and grid snap enable are changed.

  • Editor: Added: Added attributeType argument to OnOpenAssetAttribute to denote a function used to check if the asset would be opened in Editor

  • Editor: Added: API method for setting custom diff tool (1246952)

  • Editor: Obsoleted: Remove Slave from MPE API and documentation.

  • Editor: Obsoleted: Renamed some SearchService API's classes to prevent name clashes.

  • Graphics: Added: Add new API Graphics.minOpenGLESVersion and built-in keyword SHADER_API_GLES30

  • Graphics: Added: Added an option to flag renderers as static shadow casters in order to facilitate the implementation of cached shadow map in SRP.

  • Graphics: Added: Added methods to check if Material/MaterialPropertyBlock contains a property based on type (e.g. MaterialPropertyBlock.HasFloat, Material.HasColor, etc.).

  • Graphics: Added: Added new API SystemInfo.GetRenderTextureSupportedMSAASampleCount(RenderTextureDescriptor desc) to query the correct MSAA samples count of a RenderTexture

  • Graphics: Added: BatchRendererGroup: Added optional visibleIndicesY array. Data available in shader in Y channel. (Hybrid Renderer V2)

  • Graphics: Added: Expose API to set the renderDynamicObjects for Custom reflection probes.

  • Graphics: Added: Made GraphicsSettings.GetGraphicsSettings() public.

  • Graphics: Changed: Add callbacks to RenderPipelineManager that don't cause GC. (1259717)

  • Graphics: Changed: RenderRequestMode now has enum values for PBR materials data

  • iOS: Obsoleted: The public accessor for the legacy Game Center player ID is now unavailable, and will be removed completely in the next major release of Unity

  • Networking: Added: UnityWebRequest now supports sending/receiving data using NativeArray, avoiding managed allocations (UploadHandlerRaw and DownloadHandlerBuffer). (1138156)

  • Package Manager: Added: The UnityEditor.PackageManager.PackageInfo class has a new GetAllRegisteredPackages method which returns the list of packages currently registered.

  • Package Manager: Obsoleted: 'UnityEditor.PackageManager.PackageInfo.status' and 'UnityEditor.PackageManager.PackageStatus' are now obsolete.

  • Physics: Added: Make WheelCollider.sprungMass writable, 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().

  • Player: Added: Added several object pool implementations including: ObjectPool, LinkedPool, GenericPool, UnsafeGenericPool and CollectionPool.

  • Scripting: Added: Added a new AsyncReadManager FileInfo() API to check for a file's existence and (if present) the file size.

  • Scripting: Added: Introduced query for compute shader hardware support:
    ComputeShader.IsSupported(int kernelIndex)

  • Scripting: Added: Time.timeAsDouble added
    Scripting: Time.timeSinceLevelLoadAsDouble added
    Scripting: Time.fixedTimeAsDouble added
    Scripting: Time.unscaledTimeAsDouble added
    Scripting: Time.fixedUnscaledTimeAsDouble added
    Scripting: Time.realtimeSinceStartupAsDouble added

  • Scripting: Changed: New
    Added Unity.IO.LowLevel.Unsafe.ReadStatus.Truncated result for completion of a truncated read. A truncated read occurs when an asynchronous file request attempts to read beyond the end of a file.
    Added Unity.IO.LowLevel.Unsafe.ReadStatusExtension methods -Unity.IO.LowLevel.Unsafe.ReadStatusExtension.Complete() returns true on successful completetion regardless of truncated file reads.

  • UI Toolkit: Added: Add MeasureTextSize method for InputFields

  • UI Toolkit: Added: Added EditorWindow.CreateGUI entry point to safely add visual elements to the window (1281376)

Changes

  • Android: Android does not longer make use of QualitySettings.vSyncCount to match iOS behavior.

  • Android: Bump Android Logcat verified version to 1.2.0.

  • Burst: Bursted DOTS Runtime Jobs are now decorated with [NativePInvokeCallback] instead of [MonoPInvokeCallback] which could generate callback wrappers which could cause native code to inadvertently interop with the managed VM.

  • Burst: Improved Burst initialization time.

  • Burst: Improved Burst Inspector loading time.

  • Burst: Improved eager-compilation performance.

  • Burst: Improved performance of "eager-compilation" (scheduling compilation immediately after assemblies are changed) by cancelling queued eager-compilation when entering play mode with Synchronous Compilation unchecked.

  • Burst: Improved performance of eager-compilation by not eager-compiling test assemblies.

  • Burst: In versions of Unity older than 2019.3, changing the following options in the Burst menu now requires the Editor to be restarted: Enable Compilation, Safety Checks, and Native Debug Mode Compilation. In versions of Unity older than 2019.3, previously-compiled methods will not be recompiled after changing those options, which could lead to undefined behavior where methods may or may not be compiled with the correct options. This change removes that possibility.

  • Burst: Made the compiler better at constant-folding complex static readonly constructors.

  • Burst: The Burst Inspector no longer uses JIT compilation. The code it shows is now compiled the same way as for editor / player usage.

  • Burst: The Burst menu-item Safety Checks has been changed to a modal choice of Off, On, and Force On. Force On will overwrite any user job or function-pointer with DisableSafetyChecks = true. To avoid users falling into the consistent trap of having Safety Checks set to Off, any reload of the Editor will issue a warning telling the user that Safety Checks have been reset to On.

  • Burst: The command line option --burst-disable-compilation is now disabling entirely Burst, including the AppDomain.

  • Burst: Updated Cross Compilation Tooling To LLVM 10.

  • Burst: Use platform provided memory intrinsics for iOS, tvOS, WASM, and console platforms.

  • Burst: Warnings are hidden in the inspector view.

  • Burst: When using "Executable Only" build type on Universal Windows Platform, Burst will now only generate code for a single CPU architecture that you're building for.

  • Editor: Quick Search is now built-in the Unity Editor and no package needs to be installed.

  • Graphics: ComputeBuffer.IsValid now returns false when compute is not supported and ComputeBuffer.BeginWrite throws InvalidOperationException for invalid ComputeBuffers. (1259525)

  • Package Manager: The Package Manager no longer discards the existing package state in case of critical errors such as failure to parse the project manifest.

  • Scripting: Reintroduced warning that is thrown when a script that is derived from MonoBehaviour has the same name as a built-in component (e.g. Transform).

  • Timeline: Updated Timeline package to version 1.4.3.

  • UI Toolkit: Changed the blending equation to allow blending of the resulting RenderTexture.

  • UI Toolkit: Improved renderer batching.

  • XR: The Oculus XR Plugin package has been updated to 1.5.0.

  • XR: Update verified packages for AR Foundation and related packages.

Improvements

  • 2D: Improve performance when applying changes after slicing a texture for the Sprite Editor.

  • 2D: Improved memory and speed of Animation SpritePostProcess for large sprite count.

  • 2D: Improved performance in SceneView for SceneViewOpenTilePaletteHelper.

  • 2D: Show grid preview when slicing spritesheets.

  • 2D: Update 2D template to use current verified version of 2D packages.

  • Android: Improved load and reload time for obbs.

  • Android: Improved Time.deltaTime consistency for OpenGL ES and Vulkan graphics APIs.

  • Android: updating NDK to r21d.

  • Asset Import: Improved performance of registering Scripted Importers especially when large numbers are being registered together. (1228635)

  • Asset Import: Optimized "Alpha is Transparency" texture import option processing; it's several times faster now.

  • Asset Pipeline: Added documentation for: IsDirectoryMonitoringEnabled, IsAssetImportWorkerProcess, GetTextMetaFilePathFromAssetPath, CacheServerConnectionChangedParameters, cacheServerConnectionChanged.

  • Asset Pipeline: Logging done in imports run in an import worker is now forwarded to the main editor log.

  • Asset Pipeline: SpriteAtlas importer gathers its differences differently now.

  • Build Pipeline: (DS-1018) Add WithDebugInformationFormat to the compiler settings for MsvcCompiler.

  • Documentation: Clarified an aspect of Mip Stripping docs.

  • DX12: When reading vertex attributes from vertex buffers (closest hit / any hit shaders), we now fill only the channels that are available instead of returning 0 when trying to read more attribute channels than available.

  • Editor: Arrays/lists inspector UI control supports multi-selection of array elements now.

  • Editor: Clear on Recompile' option added to console's 'Clear' context menu. (1264753)

  • Editor: Improve the multi-selection display of Culling Mask and Static fields of certain components. (1190806)

  • Editor: LOD Group values can now be edited via input fields in addition to the slider. Input field editing also works in multi-selection mode.

  • Editor: Optimized various parts of texture importing (5%-20% faster depending on settings & texture types used).

  • Editor: Optimized various parts of texture importing (~10% faster depending on settings & texture types used).

  • Editor: Scene/Game view Gizmos dropdown window now has a search field. (1274775)

  • Editor: Two new events added to ObjectSelector: ObjectSelectorSelectionDone: An item in the list is double-clicked; and ObjectSelectorCanceled: The window was closed by explicitly pressing escape on the keyboard.

  • GI: Hiding Enlighten specific settings when it is not supported by the SRP. Affected areas are Mesh Renderer, Light, Scene view, Lighting Explorer and Lightmap Parameters.

  • Graphics: Improved compression speed for ASTC textures.

  • Graphics: Optimized static batching process, e.g. entering play mode with 30k static batched objects in the editor is faster by two seconds.

  • IL2CPP: An IL2CPP failure will now result in one (instead of two) error messages. The error message text will be displayed with as little extra information as possible, so that the error is (hopefully) more understandable.

  • IL2CPP: When script debugging is enabled, stack traces will now include C# source code line numbers for all assemblies where debug symbols are available.

  • Networking: Make UnityWebRequest objects properly show up in profiler. (1017004)

  • Prefabs: Performance of 'Undo' operations on objects in nested prefabs has been optimized by up to 30%.

  • Profiler: Added ability to specify port in the direct Profiler connection UI.

  • Profiler: Added profiling support to Asset Import process via direct IP connection.

  • Profiler: Added progress bar when loading and saving Profiler data.

  • Profiler: Duplicated sample name for the Call view in Profiler in the tooltip to ensure it is fully readable. (1241955)

  • Scripting: GameObject.FindGameObjectWithTag and GameObject.FindGameObjectsWithTag are much faster.

  • Shaders: #pragma require now works from compute shaders as well.

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

  • Terrain: Now a "Hole Edge Padding" option is added to terrain Detail Prototype that you can control how far details objects will be from the hole edge.

  • Terrain: Reduced Terrain per-frame CPU update cost.

  • Version Control: Smart Merge (UnityYamlMerge) now allows ignoring "tiny" float differences in some fields. For a configuration example, see mergerules.txt. (1211899)

  • XR: Update XR Plug-in Management to 3.2.16 and Windows MR XR Plug-in to 5.0.0.

  • XR: Updated api docs on XRDisplaySubsystem.scaleOfAllViewports and XRDisplaySubsystem.scaleOfAllRenderTargets.

  • XR: Updated Windows Mixed Reality XR Plugin verified version to 4.1.1.

Features

  • 2D: Add Isometric Grid slicing to Sprite Editor

  • 2D: Allow showing of confirmation dialog when Apply or Revert button on Sprite Editor Window in pressed. This can be turned on or off in Preferences

  • Burst: A new option [BurstCompile(DisableSafetyChecks = true)] that allows per job or function-pointer disabling of safety checks. This allows users to have blessed code run fast always.

  • Burst: Add intrinsics support for AtomicSafetyHandle.NewStaticSafetyId

  • Burst: Add support for try/finally and using/foreach for IDisposable patterns.

  • Burst: Add BurstCompiler.IsEnabled API.

  • Burst: Added a compiler warning for any use of throwing an exception from a method not guarded by [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")]. Since exceptions in Burst are only supported in the editor, this provides a useful warning to users who may be relying on try/catch behaviors for control-flow which is not supported in final game builds.

  • Burst: Added first batch of Arm Neon intrinsics. Currently, only ArmV8 (AArch64) targets are supported. The supported intrinsics include all ArmV7 and ArmV8 ones.

  • Burst: An error message if attempting to BurstCompiler.CompileFunctionPointer() on a multicast delegate, since this is not supported in Burst.

  • Burst: Burst compilation status is now displayed in the Background Tasks window in Unity 2020.1 and above (click the spinner in the bottom-right of the Editor to open this window).

  • Burst: Experimental support for tvOS

  • Burst: Improve Editor experience by scheduling compilation immediately after assemblies are changed, instead of waiting until Play Mode is entered.

  • Burst: Improved our aliasing detection to allow DynamicBuffer structs to be easily vectorizable.

  • Burst: Upgraded Burst to use LLVM Version 10.0.0 by default, bringing the latest optimization improvements from the LLVM project.

  • Burst: VS 2017 support for platform that needs it.

  • Burst: You can now select explicit x86/x64 architecture SIMD target for Universal Windows Platform.

  • Graphics: Mesh sampling skinned & Index

  • Package Manager: Give the users more choices concerning the load next value to load their assets in My assets filter.

  • Package Manager: Removed 'See all versions' option in version list for external users, added Project Setting for internal users to re-enable this option.

  • Package Manager: Updated Package Manager UI version tags for new Lifecycle and logic for recommending/showing available versions to users.

  • UI Toolkit: Added support for azimuthAngle, altitudeAngle, twist, and multiple Pen devices in EventSystem when using Input System package

  • UI Toolkit: Adds support of mixed values mode for UI Toolkit's implementation of the Property field.

  • UI Toolkit: Dynamic texture slots to reduce batch breaking

  • UI Toolkit: Sprite support in UI Toolkit

Changeset: 37c5ec4c3cb1