发行说明

Known Issues in 2021.1.0b6

  • Asset Pipeline: Fixed problem with ResourceManager that at startup sometimes could get invalid asset states. (1296212)
    This has already been backported to older releases and will not be mentioned in final notes.
    Fixed in 2021.1.0b7.

  • Shaders: Caching preprocessor will now correctly handle function-like macros declared in include files during shader import (1311259)
    Fixed in 2021.1.0b7.

  • Scripting: Application.quitting event is not raised when closing build (1309540)

  • Scene Management: Freeze or crash on EditorSceneManager::ReloadScene when importing an Asset and reloading the opened Scene (1309393)

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

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

  • Scene/Game View: [Wild Crash] Editor crashes on mono_aot_get_cached_class_info when GizmoSetup has cached an outdated data (1259765)

  • Global Illumination: Reflection Probe is not baked after pressing "Bake" button in the per-probe Inspector window (1311231)

  • Windows: The Cursor is visible when Cursor.visible is set to false and new InputSystem package is used (1273522)

  • CodeEditors: Crash on System.Net.Sockets.Socket:QueueIOSelectorJob when using a VPN and opening a project that uses Visual Studio (1308797)

  • Shuriken: Infinity loop issue about Sub-Emitters of Particle System Editor (1311111)

  • uGUI: AspectRatioFitter gives a warning when changing the Components Aspect Ratio if it's attached to a Canvas (1302464)

  • Global Illumination: Crash on baking GI, moving reflection probe, baking only reflection probe (1310112)

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

  • Editor - Functionality: Menu does not appear where the mouse Left or Right clicked, when Left or Right clicking to open Menu (1309452)

  • UI Toolkit: [SerializeReference] Editor crashes when creating a GraphView Node after deleting a GraphView Node with SerializedProperty (1305198)

  • Cloth: Skinned Mesh Renderer's Bounds Extent is set to half of the Transform's Scale when using a Cloth Component (1209765)

  • MacOS: Drop-down menus appearing in the wrong position (1305889)

  • HD RP: RenderGraph execution error at pass Partial Depth Prepass when Unity has lost focus for a few min (1305637)

  • Build Pipeline: [Cache Server] Building process freezes on compiling shader variants when connected to Accelerator (1296800)

  • Texture: uGUI in Texture2D is different than in the Game view when calling ToTexture2D() method on a RenderTexture (1301378)

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

  • Input: [Input System] MultiplayerEventSystem throws a warning when more than one MultiplayerEventSystem is active (1303961)

  • Android: Crash with GenericRemote::CheckAndroidSDKPath when entering play mode (1302221)

  • Installer: WindowsInstallerSet builder calculates compressed install sizes (1297868)

  • UI Toolkit: Editor Crashes when name of Serialized Sprite variable is edited (1302872)

  • Inspector Framework: An error is thrown when trying to delete an Axis from the Input Manager (1298138)

  • Asset Importers: Properties of an image can't be modified if changes are applied through popups (1299779)

  • Quick Search: Search doesn't display all results in project view (1310140)

  • Editor - Functionality: Broken search for many types (mesh, texture, etc.) when attempting to assigning assets to exposed property fields. (1307402)

  • Shader System: Upgrading a HDRP project results in numerous Kernel at index invalid errors (1306116)

  • IMGUI: Unity hangs up when adding "Blend Mode" component from "Blend Modes" Asset to Sprite GameObject (1300381)

  • Quality of Life: Infinite load when trying to display Lists of custom classes in Inspector (1298594)

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

New 2021.1.0b6 Entries since 2021.1.0b5

Fixes

  • Asset Import: Fixed issue where embedded textures cannot be extracted from FBX files. (1307542)

  • Burst: Moved burst to its own app domain, and handle the editor switching between release/debug script compilation, ensuring the burst domain is correctly recreated in with the same script compilation settings. This will fix managed debugging instabilities when burst compilation occurs during the debug session after the compilation mode was switched from release at launch. (1293391)
    This has already been backported to older releases and will not be mentioned in final notes.

  • DX12: Fix player crashing with "Failed to switch resolution" dialog in non-development builds. (1306126)
    This is a change to a 2021.1.0 change, not seen in any released version, and will not be mentioned in final notes.

  • Editor: 'Create Empty Parent' does not rely on Scene View position anymore

  • Editor: Fixed crash importing Book of the Dead into a new HDRP Project. (1300615)

  • GI: Fix missing selection highlighting in the light explorer window. (1295670)
    This is a change to a 2021.1.0a2 change, not seen in any released version, and will not be mentioned in final notes.

  • Graphics: Fix wrong game view rendering when using very special projection matrices with SRP (1268477)

  • Networking: UnityWebRequest: do not print errors to console for aborted requests. (1297654)

  • Profiler: Fixed crash in EditorProfilerConnection::HandleProfilerPlayerInfoMessage during Editor shutdown (1297988)

  • Profiler: Fixed occasional crash when using deep profiler with il2cpp (1303033)

  • Profiler: Fixed performance overhead in Asset Importer process due to profiler capture always enabled (1298257)

  • Profiler: Fixed statistics window showing 0 or flickering when in the Play Mode (1301835)

  • Scripting: Fix incorrect UTC offset during daylight savings time transitions (1288231)
    This has already been backported to older releases and will not be mentioned in final notes.

  • Scripting: Fixed crash that would occur when we would attempt to deserialize and new a class that is not fully instantiated. (1293534)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI Toolkit: Fixed a bug where users could drag the slider knob behind the its text field when enabled.

  • UI Toolkit: Fixed PropertyField now able to have no label displayed if an empty string is passed as the label argument. Note that if a null value is passed, the label will still be displayed using the localized display name, like before. (1293580)

  • UI Toolkit: Fixed wrong addressing of dynamic transforms when new atlas slot is used (1293058)
    This has already been backported to older releases and will not be mentioned in final notes.

  • UI Toolkit: UQuery: Query<VisualElement> now correctly returns all elements (1288531)
    This has already been backported to older releases and will not be mentioned in final notes.

API Changes

  • iOS: Added: Added iOS.Device.iosAppOnMac flag to check if app built for iOS is running on Mac equipped with Apple Silicon chip.

  • UI Toolkit: Added: UQuery: Enumerator support allows for foreach iteration with no or minimal gc allocations

Improvements

  • GI: Move memory related logging from console to log file.

Preview of Final 2021.1.0b6 Release Notes

Fixes

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

  • 2D: Fixed dynamic batching of SpriteRenderers with TilemapRenderers in Individual Mode with the BaseMap shader property.

  • 2D: Fixed exception when upgrading/downgrading packages used by Sprite Editor Window that is currently active. (1242988)

  • 2D: Fixed GameView does not refresh when dragging Sprite into SceneView on Windows. (1284452)

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

  • 2D: Fixed IDE tooltip for Tilemap documentation. (1292596)

  • 2D: Fixed missing Sprite reference after loading scene from AssetBundles. (1274645)

  • 2D: Fixed null exception error when entering PlayMode with the Tile Palette window open and Inspector window open inspecting a GameObject. (1287664)

  • 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: Fixed Sprite with no animation data is being processed during AssetPostProcessor.

  • 2D: Made com.unity.2d.sprite and com.unity.2d.tilemap discoverable in Package Manager.

  • 2D: Name Tiles based on Texture of Sprite when creating Tiles from nameless Sprites. (1281572)

  • 2D: Order Tile Palette better when creating Tiles from a Sprite Texture when the size of Sprites are of multiples of each other. (1281560)

  • 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: Store modified values of Grid Selection when asset/s are saved. (1287084)

  • AI: Fixed an issue with OffMeshLink prefab leaking to the main scene after closing the prefab window. (1120451)

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

  • Android: Added .mov to supported extensions in VideoPlayer. (1282206)

  • Android: Added a warning if making a signed release Android build without Arm64 binaries. (1289652)

  • Android: Don't make gray banner when no graphics. (1199310)

  • Android: Fixed black build settings window when SDK/build-tools are missing. (1230551)

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

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

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

  • Android: Fixed issue when using RenderDoc on Android with Vulkan on some Adreno devices caused by Unity's ASTC HDR support detection. (1287309)

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

  • 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 problem with custom Aspect ratio value in manifest file. (1284210)

  • Android: Fixed to automatically deselect ARM64 when switching to Mono, restore when switching back to IL2CPP. (1281826)

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

  • Android: Greatly reduced the overhead of GetBigLittleConfiguration() call happening every frame. (1285344)

  • Android: When running Android SDK tool with elevated privileges use JDK bundled with Unity, previous behavior was the SDK tool would use java from PATH env variable, and would fail if there's no java installed and there's no java path set in PATH env variable. (1290206)

  • Animation: Added a null check when using culling mode and having the renderer become visible. (1294699)

  • 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 bug where stepped animation was not evaluated properly. (1277195)

  • Animation: Fixed an animation coverity defect by making sure we cannot go out of bounds. (1295247)

  • 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: Fixed humanoid mask not overriding correctly the base mask when there is transform. (1218558)

  • Animation: Fixed timeline playback being disabled after unlinking the AnimationWindow. (1285659)

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

  • Asset Bundles: Fixed 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: Fixed a rare unstable asset hash for assets with large metadata. (1285620)

  • Asset Import: Fixed bug where renaming a script doesn't properly take effect on asset import workers.

  • Asset Import: Fixed corrupted PSD file could crash the Editor. (1284882)

  • Asset Import: Fixed issue where embedded textures cannot be extracted from FBX files. (1307542)

  • Asset Import: Fixed issue where FBX and Sketchup files with paths longer than 260 characters cannot be imported on Windows.

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

  • Asset Import: Fixed OnOpenAsset callbacks ignoring callback order. (1297473)

  • Asset Import: Fixed such that Arguments are used as doubles rather than floats, allowing the FindGridCell method to have greater boundaries. (1280470)

  • Asset Import: ModelImporter's remap Materials entries do not accept sub-assets materials anymore. (1243094)

  • Asset Import: Removed auto-alphabetization of items within a prefab. (1112123)

  • Asset Import: Texture Preview now updates correctly when switching from Alpha 8. (1181655)

  • Asset Pipeline: Added warning dialog before running out of disk space. Check is done on every refresh.

  • 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: Deleting an asset in use in import worker could cause an infinite refresh loop. (1263755)

  • Asset Pipeline: Fixed an issue where hash of a .asset file on disk was being updated locally without going through the AssetDatabase, resulting in native source assets to not be reloaded. (1183116)

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

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

  • Asset Pipeline: Fixed shutdown discovered when reimporting all assets. (1274119)

  • Asset Pipeline: Fixed: changes made to Asset outside Unity are not applied during Play Mode when "Recompile After Finish Playing" is set in preferences. (1150790)

  • Asset Pipeline: Logging in import worker will now always log to local import worker log file. (1286454)

  • Audio: Fixed DSPGraph playback not pausing when player is paused.

  • Audio: Fixed incorrect behavior of audio filter components on game object with multiple attached audio sources. Previously the effects were only applied to the first source, now the effects are instantiated per source. (1241932)

  • Audio: Fixed initialization issue on macOS when no audio input devices are available.

  • 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: Fixed macOS editor crashing when repeatedly stopping and playing the AudioRenderer. (1283073)

  • Audio: Fixed potential volume fluctuation in timeline audio on scene change. (1198128)

  • Bug Reporter: Bug Reporter throws an error if the project contains a shortcut to a path outside of the Assets folder. (1160328)

  • Build Pipeline: GlobalObjectIdGlobalObjectIdentifiersToObjectsSlow returned random objects when then GlobalObjectId references a non-existing object. Now fixed. (1291291)

  • 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: Fixed 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 if you used an enum argument to a function to index into a fixed array, a codegen error would occur.

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

  • Burst: Fixed a bug whereby for platforms that require us to write intermediate LLVM bitcode files, UTF paths would be incorrectly handled.

  • 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 a poor error message when a generic unsupported type (like a class or an auto-layout struct) combined with an unsupported managed array (like (int, float)[]) wouldn't give the user any context on where the code went wrong.

  • Burst: Fixed an internal compiler error when nested managed static readonly arrays were used (produces a proper Burst error instead now).

  • Burst: Fixed an issue that could prevent the Editor from shutting down.

  • 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 permissions error when running lipo tool to combine libraries.

  • 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: If targeting multiple iOS architectures, produce a combined burst library containing all architectures, this fixes "New Build System" on xcode version 12.

  • 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: Multiple bugfixes (please look at https://docs.unity3d.com/Packages/com.unity.burst@1.5/changelog/CHANGELOG.html for a detailed list).

  • Burst: Sleef fallback to scalar float for WASM.

  • Burst: Strings can now be passed between methods.

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

  • Core: Fixed static analysis issue:
    Non-static class member "isListening" is not initialized in this constructor nor in any functions that it calls. (1291660)

  • Documentation: Updated the documentation to describe the design of OnApplicationFocus when using Play Mode in the Editor. (1283510)

  • DX12: Fixed a crash when executing a CommandBuffer that references a deleted RayTracingAccelerationStructure object.

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

  • DX12: Fixed alembic mesh udpating.

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

  • Editor: 'Create Empty Parent' does not rely on Scene View position anymore

  • 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 padding to ReorderableList elements. (1281324)

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

  • 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: Context menu shows in destination window in the mac editor, regardless if the destination window is focused. (1134774)

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

  • Editor: Creating a terrain material from a terrain preset no longer causes a null reference access warning. (1240871)

  • 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: Double click on tab header maximizes/unmaximizes it. (1279177)

  • Editor: Drag-and-dropping files across folders inside the Project Window will now prompt the user to choose what to do with a file when there are conflicting file names. (1210088)

  • Editor: Expand/collapse icon settings when clicking on label. (1195293)

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

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

  • Editor: Fixed -api-profile flag causing editor to write to ProjectSettings/ProjectSettings.asset using binary serialization mode despite ForceText being configured in ProjectSettings/EditorSettings.asset.

  • 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 adding and removing components expands collapsed components view in the inspector window. (1280892)

  • Editor: Fixed an error where Slider1D was called with an invalid vector. (1284682)

  • Editor: Fixed an issue causing incorrect display of redo operation when using GameObject.RegisterCreatedObjectUndo with a custom action name. (1281435)

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

  • 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 avoid overlapping of Input fields and their label in CustomRenderTextureEditor's Inspector if the Inspector is resized. (1268481)

  • Editor: Fixed an issue to avoid trimming of text in header, if header parameter contains line separator. (1269034)

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

  • Editor: Fixed an issue to disable cut and copy in context when multiple objects are selected with different values. (1292164)

  • Editor: Fixed an issue to set EnumFlagsField values properly while editing with multi-selected objects. (1282836)

  • Editor: Fixed an issue to set static flag in inspector on 'Set to Value of X' in context menu . (1221145)

  • 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, after Play In Editor completed, settings were reset to default.

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

  • Editor: Fixed an issue with object selector closing inappropriately on click. (1286812)

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

  • Editor: Fixed bad initial sync of searchquery. (1296709)

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

  • Editor: Fixed changing editor mode shows "Failed to load window layout". (1293093)

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

  • Editor: Fixed crash importing Book of the Dead into a new HDRP Project. (1300615)

  • Editor: Fixed crash in GizmoUtilTests. (1274537)

  • Editor: Fixed crash when duplicating a GameObject with HideInHierarchy flag. (1288394)

  • Editor: Fixed CSharpCompiler.CompileAssemblyFromSource on Linux.

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

  • 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 default index doesn't filter prefabs using t:prefab. (1284865)

  • Editor: Fixed doc and typo in Scene Template Pipeline. (1286440)

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

  • Editor: Fixed focused inspector window tab is not updated when GameObject is renamed. (1285646)

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

  • Editor: Fixed invisible asset created in the project browser after renaming it with 260+ characters. (1281291)

  • Editor: Fixed issue where not all memory held by the editor console was freed after it had been cleared. (1264725)

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

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

  • 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 not being able to delete array elements via keyboard 'Delete' key. (1260899)

  • Editor: Fixed OnDrawGizmos function is not called when the "Enter Play Mode Options" is enabled. (1296270)

  • Editor: Fixed organization refresh every tick. (1280142)

  • Editor: Fixed out of bounds errors when copying mesh renderer lists containing more renderers than the destination LOD Group in the Inspector. (1299768)

  • Editor: Fixed ping highlight does not mark a folded child GameObject in the Hierarchy correctly when scrolling is required to reach the object. (1171103)

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

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

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

  • Editor: Fixed PropertyEditor callback issue which prevented PropertyEditor from being deallocated.

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

  • Editor: Fixed ReorderableList having wrong label/field width ratio.

  • Editor: Fixed ReorderableList incorrectly looping element selection when using arrow up or arrow down keys. (1305527)

  • Editor: Fixed ReorderableList sometimes reordering items when the user is multi-selecting elements. (1299784)

  • Editor: Fixed repaint during Drag and drop. (1288096)

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

  • Editor: Fixed scene view move/rotate/scale handles not rendering if editor is using OpenGL ES 2 graphics API. (1287914)

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

  • Editor: Fixed search index incremental update progress sometime never finishes. (1292594)

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

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

  • Editor: Fixed the issue where game object name could be set to empty string when changed in inspector window. (1169191)

  • Editor: Fixed the issue where Game View focus is lost when entering Play mode with maximized Game View. (1252097)

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

  • Editor: Fixed the issue with Slider Component using an Image for its Fill Rect field not marking the Image's Fill Amount property as driven. (1264829)

  • Editor: Fixed the issue with space between rectangles drawn using GUILayout. (1282874)

  • 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 to restrict the access of CurrentViewWidth Property within OnGUI. (1289492)

  • 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: Fixed Arrow Left and Arrow Right keys not collapsing and expanding array elements. (1281321)

  • 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: Improved the performance of the model importer when dealing with degenerate triangles. (1232201)

  • Editor: Last selected console log entry now stays active after search filter is removed. (1264776)

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

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

  • 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. (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: Rare crash when several editors are opened fixed.

  • Editor: Reduced unnecessary gameview repaint during lod crossfade animations.

  • Editor: Resolve errors when opening Player Settings from Build Settings. (1291443)

  • Editor: Reverted changes regarding DS-1131.

  • Editor: Roslyn analyzer rulesets are now correctly applied for script compilations that happen very early during editor startup. (1273682)

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

  • Editor: Since the picking zones were increased for touch (tablet + finger) it seems that tablet users have trouble using scrollbars because the splitter gets in the way.
    The behavior is reverted. (1240329)

  • Editor: String, Integer, Float, Character and BoundsInt type SerializedProperties now have Copy/Paste context menu options.

  • 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 input package now correctly calculates mouse deltas when the cursor is locked under Linux. (1248389)

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

  • Editor: Tooltips are now passed through into PropertyDrawers as part of the label. (885341)

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

  • Editor: Update GUI.Color to reflect that it doesnt get effected in personal addition. (1273117)

  • Editor: Updated sync icon. (1296453)

  • Editor: Updated the EULA for Mac installers. (1274616)

  • Editor: Use Search Default Search engine for new project. (1296465)

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

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

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

  • GI: Fixed cookies on baked point lights ignoring light rotation. (1289490)

  • GI: Fixed error message in console regarding GPULM when GPU doesn't meet GPULM requirement. (1289660)

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

  • GI: Fixed Radeon Pro denoiser artifacts when using HDR lightmaps. (1272945)

  • GI: Fixed Static Analysis Defect 53772 in EnlightenJobHelpers.h: Passing tainted expression "sz" to "resize", which uses it as an allocation size. (1290400)

  • GI: HashTexEnv in Materials.cpp can be expensive. (1138460)

  • GI: Made indirect bounce intensity animatable. (1278770)

  • 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: Added a space in the Tier list UI in Graphic Settings. (1259327)

  • Graphics: Added backbuffer MSAA support to OSX/Game View. (1289045)

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

  • Graphics: Added missing macros to sample 2D textures.
    Fixed issue on Switch where declaration of a texture with full-float precision was ignored.

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

  • Graphics: Added support for Buffer<> and RWBuffer<> in all shader stages (not just compute) for Nintendo Switch.

  • Graphics: Added support for CreateExternalTexture with the Vulkan API.

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

  • Graphics: Added the support of a custom shader editor per render pipeline with the CustomEditorForRenderPipeline ShaderLab keyword allowing to fix HDRP and URP material editor issues. (1276432)

  • Graphics: Adding Chinese pure dynamic font characters causes atlas memory leak of about 0.5mb each. (1273364)

  • Graphics: Backporting fix for Metal bug where multiple render targets that share a blend state can have an incorrect write mask. (1296917)

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

  • Graphics: Corrected list of formats supported by Virtual Texturing.

  • Graphics: CPU optimisation for graphics memory allocation/deallocations.

  • Graphics: Dirty prefab when dirtying a material used by that prefab. (1282291)

  • 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: Extended supported formats for GPU readback. (1123748)

  • Graphics: Fix wrong game view rendering when using very special projection matrices with SRP (1268477)

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

  • Graphics: Fixed an issue where high numbers of materials would slow down unloading of Asset Bundles containing shaders. (935529)

  • Graphics: Fixed blit operation when source is null and a custom shader is being used. (1278604)

  • Graphics: Fixed case 1086548 (RenderToCubemap offsets shadows when the material on the mesh has GPU Instancing enabled), by adding support for STEREO_CUBEMAP_RENDER_ON for instanced rendering. (1086548)

  • Graphics: Fixed case 1266922.

  • Graphics: Fixed ComputeShader.SetConstantBuffer causing a freeze. (1299319)

  • Graphics: Fixed custom shaders with no explicit Pass defined to respect the "receive shadows" flag. (1050091)

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

  • Graphics: Fixed drop of VisualEffectAsset within a prefab. (1285794)

  • Graphics: Fixed erroneous assertion after calling Object.DestroyImmediate on a rendertarget that was just unbound. (1270401)

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

  • Graphics: Fixed for setScissorRect crashing on metal when adjusting panels in editor. (1256241)

  • Graphics: Fixed FrameTimingManager produced incorrect frame time on Vulkan and DirectX12. (1274505)

  • Graphics: Fixed gradient sampling in Fixed mode. (1212002)

  • Graphics: Fixed inconsistency issue where some meshes would be dynamically batched in editor but not in standalone player. (1278480)

  • Graphics: Fixed incorrect GeometryJob Fence initialisation causing graphical corruption in UI canvas rendering.

  • Graphics: Fixed issue on Metal-MacOS Standalone where HDR enabled Don't Clear and Depth Only cameras would clear the background (rendering the empty texture). (1184769)

  • Graphics: Fixed issue where passing a null value to GetBlendShapeIndex function on Mesh class would cause the editor to crash. (1288012)

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

  • Graphics: Fixed Metal error when creating pipeline state if number of shader components is less than render target pixel format. (1242218)

  • Graphics: Fixed missing support for coarse/fine derivatives in shader code.

  • Graphics: Fixed missing support for mip tails in sparse textures on Vulkan. (1265578)

  • Graphics: Fixed OpenGL bug where projection matrix was not correctly restored after calling Graphics.DrawMeshNow and GL.PopMatrix. (1262117)

  • Graphics: Fixed possible crash on Adreno when using RenderPass API and Vulkan. (1282143)

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

  • Graphics: Fixed Prefab Inspector preview (Editor) adding Renderer components into existing RayTracingAccelerationStructures while the Inspector preview is visible. (1297799)

  • Graphics: Fixed repaint of VFX Graph in play mode.

  • Graphics: Fixed sample mesh skinned (vfx) when GPUSkinning is disabled. (1275889)

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

  • Graphics: Fixed shadow maps in frame debugger. (1278463)

  • Graphics: Fixed shadowmask behavior for terrain trees that have LODs. (1285466)

  • Graphics: Fixed situation where Hybrid Renderer could throw errors because of invalid reflection data.

  • Graphics: Fixed stateful case where ComputeShader could be put in a bad state internally if user forgot to bind out buffer. Required Editor restart to get rid of previously.

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

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

  • Graphics: Fixed Vulkan validation error Shader requires vertexPipelineStoresAndAtomics but is not enabled on the device. (1288889)

  • Graphics: Fixed Vulkan Validation warnings when fragment shader input is not produced for render pass attachment. (1278088)

  • Graphics: Fixed [VFX] HUP regressions introduced by editor repaint optimizations. (1293323)

  • 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: Frame Debugger now works also when using Camera.SetTargetBuffers. (1278884)

  • Graphics: GetGraphicsApiMask should be called in VisualEffectImporter to force reimport while changing API. (1300054)

  • 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: Nodes using camera buffers (depth or color) from the main camera will use the buffers from the scene camera when the main camera is not rendered. (1256861)

  • 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: Removed parent hiearchy keeping world transform in sceneView for VisualEffect. (1288444)

  • Graphics: Reseed is proceed while calling an OnPlayEvent. (1300115)

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

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

  • Graphics: Small bugfixes in the texture mipmap streamer.

  • Graphics: Standalone Server Build forces Gfx Threading Mode Direct.

  • 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: Terrain no longer has artifacts on some iOS devices when using Anisotropic Textures and Instancing. (1103084)

  • Graphics: The Post-processing package has been updated to version 3.0.1.

  • Graphics: Typed UAV read supports mediump on Switch.

  • Graphics: Update SRP packages to 10.1.0.

  • Graphics: Updated SRP packages to 10.2.0.

  • Graphics: Updated terrain warning against using shaders that rely on tangents to recommend the correct shaders for SRPs. (1281595)

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

  • Graphics: When blitting textures with multiple slices, all slices are now blit across the source and destination. (1211291)

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

  • IL2CPP: Corrected stack frame entries for instance methods on value types. (1289863)

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

  • IMGUI: Fixed Null object being created when dropping Sprite to Array in Inspector. (1281986)

  • IMGUI: Https://jira.unity3d.com/browse/UIT-191: The rect transform rectangle visual is too light.

  • IMGUI: Updated Layers drop down icon positions and images. (1184677)

  • iOS: Background audio is no longer cut when "Mute Other Audio Sources" is unchecked. (1259748)

  • iOS: Background audio no longer stopped when Unity audio is disabled. (1286259)

  • iOS: Fixed application not rendering when using a very high Application.targetFrameRate.

  • iOS: Fixed crash/hang when going to background from portrait upside down on some devices. (1285042)

  • iOS: Fixed password input cleared on first character when touch keyboard input is hidden. (1251498)

  • iOS: Fixed xcode12 picking "generic" target by default resulting in "build and run" not running app. (1279315)

  • iOS: Removed prohibited API usage.

  • Kernel: Fixed enter playmode regression when there are many outstanding Burst jobs to compile.

  • License: Fixed broken login during batchmode license activation. (1294709)

  • License: Fixed serverDirectory in license server configuration file.

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

  • 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 an issue where the Linux Downloader would not properly extract files.

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

  • Linux: Fixed tooltips are not resized correctly when shown consecutively one after another. (1279878)

  • 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: Added a semaphore to break out of the editor's idle loop when a tick is signaled. (1281419)

  • macOS: Added logging to Thread shutdown to help determine possible broken threads, as well as potential fix for HID thread not properly shutting down when exiting.

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

  • macOS: Eyedropper now works on multiple screens. (1278129)

  • 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 code signing of native plugins in Xcode projects. (1276317)

  • macOS: Fixed crash when trying to access Movies, Music, or Photos folders on Catalina. (1280375)

  • macOS: Fixed improper layout of the Inspector when making the Editor full screen. (1283862)

  • macOS: Fixed improper layout of the Package Manager Window when making the Editor full screen. (1278245)

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

  • macOS: Report shader compiler error when invalid texture samplers are used in Metal shaders. (1214014)

  • macOS: Target directory has to be selected instead of target .xcodeproj when building MacOS Xcode Project.

  • Mobile: Fixed iOS plugin compile flags not updating on build append. (1254117)

  • 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: do not print errors to console for aborted requests. (1297654)

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

  • Package: Error message when loading new scene with DontDestroyOnLoad. (1283984)

  • Package: Fixed edge-case exception when vcam is deleted. (1284701)

  • Package: Lens inspector sometimes displayed ortho vs perspective incorrectly for a brief time. (1060230)

  • Package Manager: Added ellipsis when package (name, version and tag) is truncated. (1284866)

  • 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: Fixed an issue where changes in the project manifest wouldn't be applied when autorefresh is disabled. (1292471)

  • Package Manager: Fixed an issue which prevented starting the Unity Package Manager on Linux under specific circumstances.

  • Package Manager: Fixed an issue which prevented starting the Unity Package Manager on Windows 7. (1298330)

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

  • Package Manager: Fixed packages left selected when clicking a package that has a path exceeding the maximum path limit. (1268917)

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

  • Package Manager: Fixed sample display name error info box when package is not in development and package manager set to lowest width.

  • Package Manager: Fixed the issue where advanced settings no longer persisted in project.

  • Package Manager: Fixed the issue where new versions of a package doesn't show up after a refresh in In Project tab. (1281125)

  • Package Manager: Fixed the issue where package name in dependencies does not match either the display name or name.

  • Package Manager: Fixed the issue where the add from git URL text field does not shrink properly.

  • Package Manager: Fixed to support installing a package to a location that exceeds the maximum path length. (1268396)

  • Package Manager: Fixed uninformative error when path to package files exceeds the maximum path length limitation. (1266765)

  • Package Manager: Fixed when a user switches account, and the package list refresh the new assets, a null ref exception occurs.

  • Package Manager: Improved performance of accessing HiddenPackagesCount in PackageManagerUtilityInternal. (1275248)

  • 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: Packages view tab shrinks when there is plenty of space to display complete text.

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

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

  • 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: Updated com.unity.purchasing to 3.0.0-pre.4.

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

  • Package Manager: When a package name text is long, the status icon gets an offset and won't be aligned to other icons. (1287317)

  • Package Manager: Whenever the user manually refreshes a list, we should apply the search query text.

  • Particles: Added shortcuts for Resimulate, Show Bounds and Show only Selected. (1268064)

  • Particles: Ensure smooth size updates when doing slow-mo scrubbing of the particle playback time. (1224857)

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

  • Particles: Fixed emit from script bug when emitting particles from LateUpdate during Edit Mode. (1283939)

  • Particles: Fixed ParticleSystem Window throwing an error when Undo was performed after creating a sub-system. (1280126)

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

  • 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: Display Linear and Angular damping in the root of the ArticulationBody.

  • Physics: Fixed crash of physics simulation after changing parent for game object with ArticulationBody moved using ArticulationBody.Teleport API call. (1296194)

  • Physics: Fixed crash when trying to save joint state values for unparented ArticulationBody components. (1264800)

  • Physics: Fixed crashes/instabilities of physics simulation for ArticulationBody component hierarchy modifications during the runtime.

  • Physics: Fixed editor crash when entering Play Mode with Articulation Bodies and Scene Reload disabled. (1272468)

  • Physics: Fixed internal issues happening when a joint connected a rigidbody to an inactive articulation body. (1293798)

  • Physics: Fixed Physics Debug window section titles to be clickable for dropdown. (1261353)

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

  • Physics: When using the Physics Debugger, GameView and SceneView gizmo highlights are now synced. (1285340)

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

  • Plugins: Removed console exceptions for Magic Leap. (1252217)

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

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

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

  • Prefabs: Fixed so deleting the context parent in Prefab Mode in Context is prevented from the UI. (1291699)

  • Prefabs: Fixed that there is no information provided about the Prefab when a Prefab's child has broken references after using ForceReserializeAssets. (1262196)

  • Prefabs: The apply menu in the Prefab overrides comparison view no longer lists apply targets where all overrides are default overrides compared to that apply target. This brings the apply menu items in the comparison view in line with the apply menu items in component context menus and ensures there's no apply menu items that don't have any effect. (1190143)

  • 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: Fixed a bug when UnityEditor.UnityStats returned invalid number of active animations. (1252764)

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

  • Profiler: Fixed a crash while using Profiler ProfilerProperty and ProfilerFrameDataIterator API. (1289580)

  • Profiler: Fixed an issue when Profiler might lose metadata for markers spanned across multiple frames. (1288339)

  • Profiler: Fixed an issue with wrong chart scale after profiler capture load. (1283344)

  • Profiler: Fixed crash in EditorProfilerConnection::HandleProfilerPlayerInfoMessage during Editor shutdown (1297988)

  • Profiler: Fixed crash when -profiler-enable arg is used. (1295637)

  • Profiler: Fixed errors after switching from Main Thread to another in Editor profiling. (1293246)

  • Profiler: Fixed exit gui state when clearing to prevent errors when clearing profiler. (1305901)

  • Profiler: Fixed issue when threads could have empty name in Profiler. (1278270)

  • 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 Mesh runtime size reporting in development builds, previously we would not track some of the mesh data when reporting memory footprint. (1268289)

  • Profiler: Fixed occasional crash when using deep profiler with il2cpp (1303033)

  • Profiler: Fixed performance overhead in Asset Importer process due to profiler capture always enabled (1298257)

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

  • Profiler: Fixed Profiler window breaking after switching treads. (1293257)

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

  • Profiler: Fixed situation when Audio Profiler view can show information from an invalid frame. (1240903)

  • 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 statistics window showing 0 or flickering when in the Play Mode (1301835)

  • Profiler: Fixed the Thread Selection Dropdown in Hierarchy view showing multiple threads as selected if they all share the same name.

  • Profiler: Fixed to generate unique names for new Profiler Modules to avoid confusion. (1256273)

  • Profiler: Fixed to make sorting stable for identically named threads in Profiler CPU Timeline view. (1283571)

  • Profiler: Fixed UnityEngine.Profiling.Recorder.gpuElapsedNanoseconds produced invalid results on Vulkan. (1273246)

  • Profiler: Hierarchy Views randomly collapsing (i.e. hiding their children) parts of the sample tree when Editor Only samples are present in a frame and the "Collapse EditorOnly Samples" option is turned on (default setting is on).

  • Profiler: Removing the Loading.IDRemapping profiler tag which was causing excessive profiling overhead when loading AssetBundles.

  • Profiler: Selections CPU or GPU samples made in the CPU Usage and GPU Usage Profiler Modules now carry over correctly and persistently to all views (Timeline, Hierarchy, Raw Hierarchy) as well as to all frames that contain them. In frames other than the one the selection was originally made in, the selection will point to the first sample that provides the best match to the stack of sample names that lead up to that original sample. So if there are e.g. multiple Components of the same type "MyComponent", and you select the "MyComponent.Update()" sample of one of them, there is no way for the Profiler to identify the "MyComponent.Update()" sample of exactly that sample Component in the next frame. It will therefore just select the very first "MyComponent.Update()" sample it can find. If a part of the Sample Stack is missing in a frame, the selection Tooltip in Timeline or an extra line at the bottom of the Hierarchy views will alert you of the fact, that the selection that was carried over to this frame is just an approximation. An option was added to show the difference in this approximated Sample Stack, and the originally selected Sample Stack. If not even one of the sample names from the original selection fits the samples in a particular frame and thread, no selection will be displayed. If a selection was made on a thread other than the Main Thread, switching to the Hierarchy Views will automatically switch them to the right thread this selection was made in. (1066309)

  • Profiler: Stops UI System Preview Window from being maximised and throwing an exception. (1287275)

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

  • Scene Manager: Made sure objects are cleaned up properly if they are children of GameObject with DontSave flag. (1157422)

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

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

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

  • Scene/Game View: Exposed a property to make grid snapping usable from custom EditorTools.

  • Scene/Game View: Fixed "Width & Height" field in the new Game View aspect ratio menu not allowing mouse drag input. (1284724)

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

  • Scene/Game View: Fixed picking in sceneview for materials with non-2D _MainTex textures. (1288999)

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

  • Scene/Game View: Fixed Scene View overlays preventing other IMGUI windows in the Scene View from receiving input. (1282859)

  • 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: Favor .pdb files over .mdb files when symbols are loaded for managed assemblies if both files exist. (1278282)

  • Scripting: Fixed a crash when calling fast memory APIs with null CommandBuffer. (1290649)

  • Scripting: Fixed an issue with System.XML depending on writing/reading from the registry which caused macOS Notarization to fail. (1292941)

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

  • Scripting: Fixed minor documentation issue in Player Settings for Get/SetAdditionalCompilerArgumentsForGroup.

  • Scripting: Fixed potential AsseblyUpdater assembly corruption when applying Camera.GetScreenHeight() / GetScreenWidth() -> Screen.height/width updates.

  • Scripting: Fixed potential AsseblyUpdater assembly corruption when field name and type needs updating.

  • Scripting: Fixed potential error due to ApiUpdater not handling extension methods correctly.

  • Scripting: Fixes usage of comment in rsp file. (1216598)

  • Scripting: Fixes usage of whitespace in rsp command arguments. (1223381)

  • 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: Sign bee_backend.exe so it does not trip up user virus protection.

  • Search: Do not show empty explicit search provider tabs. (1296463)

  • Search: Fixed mesh filtering in Project window (t:Mesh) doesn't show any Meshes. (1305383)

  • Search: Fixed selecting a saved query from the saved searches list doesn't update the providers. (1296559)

  • Search: Improved search index artifact asynchronous resolution performance for very large projects (i.e. 900k files). (1296452)

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

  • Serialization: Fixed potential null dereference code path detected by static analysis run. (1292485)

  • Serialization: Fixed to avoid YAML parse errors if script class had field names ending with "guid". (1273539)

  • Serialization: HDRP/TerrainLit shader no longer produce build errors when in Always included Shaders list. (1237876)

  • Services: Fixed an issue where in some cases a game would stall on close if analytics are enabled. (1300333)

  • Services: Fixed the parameter supplied to the request to enable analytics.

  • Shaders: Added a new keyword to handle the custom editors per render pipeline in ShaderLab to ensure a smooth material workflow between render pipelines.

  • 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 a crash when PrimitiveID is the only input to a stage. (1289378)

  • Shaders: Fixed bad HLSLcc shader code generation on some RWTexture writes. (1296751)

  • Shaders: Fixed Integer property type not affecting uniform state and fixed function state in shaders. (1294048)

  • Shaders: Fixed iOS Tesselation shader compilation issue when using appdata_full. (1281129)

  • Shaders: Frame debugger now shows Integer properties in the draw call description. (1294069)

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

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

  • Shaders: ShaderUtil.ClearShaderMessages() now actually clears all the current shader errors. Any previously encountered errors will come back when trying to compile the shader again either for build or rendering, or when reimporting. (1283645)

  • Shaders: Support Texture.CalculateLevelOfDetail function in Metal shaders. (1237836)

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

  • Terrain: Fixed being unable to rotate branch group. (1283095)

  • Terrain: Fixed new Tree GameObjects instantiating with the name "OptimizedTree" instead of "Tree.". (1283097)

  • Terrain: Fixed Terrain paint tool selection persistence when loading or removing paint tools. (1283242)

  • Terrain: Fixed: terrain in draw instanced mode now cast shadows when illuminated by spotlights. (1192100)

  • 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: Internal: fixed crash when copying terrain during callback with debug allocator active. (1286747)

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

  • Terrain: The reset functionality from the component burger menu was not working for trees, the PR fixes this. (1252536)

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

  • Text: Fixed a crash in the Text system. (1288809)

  • Timeline: Fixed misalignment of exposed property reference fields in Timeline. (1222744)

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

  • UI: Added OnSubmit functionality which will be called when the input field should be sumitted. (1262424)

  • UI: Fixed an issue where canvas takes the Display size for RenderTexture. (1294869)

  • UI: Fixed issue where a selected UI element would not get the highlight state when hovered. (1274735)

  • UI: Fixed issue where focus wouldnt be given back to main window on mouse click causing incorrect input event position. (1290074)

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

  • UI: Fixed issue with layout property preview not having contrast in light skin. (1293782)

  • UI: Fixed issue with UI profiler showing wrong batch count for canvas's that shrink. (1290246)

  • UI: Fixed uGUI description to not mention UI Toolkit to avoid confusion.

  • UI: Fixed Unity Events that were set as Runtime only to initialize properly upon entering playmode with the FastEnterPlay mode enabled. (1206410)

  • 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 Toolkit: Added the possibility to put an event on mouse down before showing a contextual menu. (1268159)

  • UI Toolkit: Changed EnumField+derivatives & BasePopupField-based classes to properly handle pointer down events. (1248669)

  • UI Toolkit: Changed TextField to match IMGUI behavior of select-all-on-mouse-up. (1179932)

  • UI Toolkit: Enabled dynamic atlassing of sprites. Fixed tight sprite scale modes.

  • UI Toolkit: Fixed a bug where users could drag the slider knob behind the its text field when enabled.

  • UI Toolkit: Fixed being able to drag elements onto existing elements outside the currently active sub-document.

  • UI Toolkit: Fixed being able to drag or create elements onto empty space in the Canvas while editing a child sub-document in-place, leading to elements being added to the wrong document.

  • UI Toolkit: Fixed being able to paste USS Selectors from the Hierarchy pane and elements from the StyleSheets pane. Paste now works based on which pane is currently active. (UI Builder).

  • UI Toolkit: Fixed clicking in empty space in Hierarchy pane not deselecting a USS Selector and vice-versa for the StyleSheets pane. (UI Builder).

  • UI Toolkit: Fixed closing of no UI Toolkit installed warning disabling Viewport zoom.

  • UI Toolkit: Fixed disappearing icons. (1279796)

  • UI Toolkit: Fixed document settings (like Canvas background and zoom) being reset when editing a sub-document in-place. (UI Builder).

  • UI Toolkit: Fixed element highlight overlay not being reset after deleting the element. (UI Builder).

  • UI Toolkit: Fixed Element not visisle after being hiden/shown in specific sequence. (1269414)

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

  • UI Toolkit: Fixed exception thrown when selecting the currently open UXML asset in the Project Window. (UI Builder).

  • UI Toolkit: Fixed float and double attributes not being stored correctly in UXML as CultureInvariant. (UI Builder).

  • UI Toolkit: Fixed handling of a deleted StyleSheet that is being used by the currently open UXML UI Document. (UI Builder).

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

  • UI Toolkit: Fixed ListView Horizontal Scrolling attribute value not being reflected properly in the Inspector.

  • UI Toolkit: Fixed ListView range selection when initial selection is set programmatically.

  • UI Toolkit: Fixed non-whole pixel size and position values resulting from resizing or moving elements in the Viewport with the zoom set to 75%. (UI Builder).

  • UI Toolkit: Fixed not being able to create a single-character selector. (UI Builder).

  • UI Toolkit: Fixed not being able to rename USS Selectors directly inside the StyleSheets pane via double-click or the right-click menu.

  • UI Toolkit: Fixed null reference exception when using the Align style properties on a USS Selector. (UI Builder).

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

  • UI Toolkit: Fixed possible instability inside in-place sub-document editing mode after selecting elements belonging to a parent document.

  • UI Toolkit: Fixed potentially losing assigned StyleSheets in parent document when discarding changes before going inside a sub-document.

  • UI Toolkit: Fixed PropertyField now able to have no label displayed if an empty string is passed as the label argument. Note that if a null value is passed, the label will still be displayed using the localized display name, like before. (1293580)

  • UI Toolkit: Fixed re-importing of a child UXML asset that is instanced by a parent UXML asset causing the parent to be unusable via the Library pane.

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

  • UI Toolkit: Fixed scrollView's showHorizontal and showVertical limitations. They are converted to a tristate enum, horizontalScrollerVisibility and verticalScrollerVisibility, to support a new Hidden state, along with AlwaysVisible and Auto. (1278466)

  • UI Toolkit: Fixed settings search not working for UI Builder settings in the Project Settings window. (UI Builder).

  • UI Toolkit: Fixed the InvalidCastException thrown when assigning a built-in image asset to a Texture2D in the UI Builder inspector. (UI Builder).

  • UI Toolkit: Fixed unsaved changes * indicator not being reset when going inside a child sub-document while discarding changes in the parent.

  • 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: PropertyField will now use a custom label(if provided) when drawing a property with an IMGUI PropertyDrawer.

  • UI Toolkit: PropertyFields on array fields would not refresh properly when array size changed in some use cases. (1290774)

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

  • Universal Windows Platform: Fixed input on IMGUI elements when using the new input system. (1201666)

  • 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: Status overlay icons are no longer "washed out colors" in Linear color space. (1218701)

  • Video: Enabled the previously disabled tests and re-ran them on PS4 and Android on Katana with testRepetitions set to 100. (1068853)

  • Video: Fixed video preview in editor.

  • Video: Uncommented the EndReached callback in VideoPlayback playmode tests and updated the tests since the original fix for the callback issue had landed. (1062515)

  • Video: [Android] WebCamTests broken. (1202416)

  • Virtual Texturing: Fixed a crash during tile extraction of invalid virtual texture stacks.

  • WebGL: Added more detailed information when a page load fails due to misconfiguration in server hosting settings. Note that Firefox does not currently support Brotli compression for local development (https://bugzilla.mozilla.org/show_bug.cgi?id=1670675). (1283658)

  • 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: 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: 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 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 default page template to properly scale the canvas size at startup on mobile. Removed by-default low DPI scaling on mobile pages (use a custom template .html to do half-res or quarter-res rendering if desired). (1274295)

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

  • 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 mouse wheel scrolling with the new input system on WebGL. (1264545)

  • WebGL: Fixed occasional large values with Input.GetAxis. (1208971)

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

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

  • WebGL: Fixed Screen.orientation API to work on Android and iOS. On desktop browsers Screen.orientation is simulated by checking whether browser window width < height. (1283211)

  • WebGL: Fixed UnityWebRequest with relative URLs on WebGL platform when built with no exception support (Enable Exceptions = None). (1283652)

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

  • 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: Overlay cameras will no longer cause full screen renders to be incorrect. (1184385)

  • 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: Removed support for Wasm arithmetic exceptions in preparation for updating to LLVM Wasm backend. (1286167)

  • 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: Batchmode now allows settings resolution and window mode. (1266308)

  • Windows: Fixed Time.deltaTime calculations on D3D11 and D3D12 when VSync is force disabled from the driver software (like Nvidia Control Panel, Radeon Settings or Intel Graphics Command Center).

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

  • Windows: Fixed Windows player infrequently deadlocking when changing fullscreen modes on D3D11 and D3D12 graphics APIs.

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

  • Windows: Provide informational message in developer console when Open Log File operation fails. (1276710)

  • Windows: Removed UWP "USB Device" Build and Run option. (1292590)

  • Windows: X86_64 is now the default Windows architecture. (1283651)

  • XR: Added XR Interaction Toolkit as a pre-release package.

  • XR: Backport trunk fix for gfx event was missing when FrameDebugger enabled to 2021.1 branch. (1275361)

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

  • XR: Fixed deadlock when Windows player invisible with VR enabled. (1303904)

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

  • XR: Fixed issue where shadows would jitter while rotating a camera at an extreme distance from the origin of the scene in mono rendering. (1281930)

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

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

  • XR: Updated the verified AR Foundation related packages to 4.1.3. Please see the AR Foundation packages' changelogs for details.

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

API Changes

  • 2D: Added: Added Tilemap.GetUsedSpritesCount/NonAlloc to allow users to get information on the Sprites used in the Tilemap.

  • 2D: Added: Added 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: Added 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: ContentBuildInterface.CalculatePlayerSerializationHashForType for providing precise per type dependency tracking for incremental rebuild of asset bundles.

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

  • Core: Added: Added new Screen, Application and SystemInfo classes in UnityEngine.Device namespace, that can mimic platform-specific behavior in the Unity Editor when used with Device Simulator.

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

  • Editor: Added: Added EditorGUIUtility.SetMainWindowPosition.

  • Editor: Added: Added MeshPreview class for drawing an interactive Editor preview of a Mesh asset. (1184921)

  • 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: Added: EditorGUI.LinkButton and EditorGUILayout.LinkButton are now public.
    EditorUtility.OpenPropertyEditor is now public.

  • Editor: Added: EditorUtility SetDefaultParentObject and ClearDefaultParentObject methods were added.

  • Editor: Added: Improved Search API documentation and added many examples.

  • Editor: Changed: HelpURLAttribute now supports derived classes in order to generate dynamic URLs.

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

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

  • GI: Added: Added two new callbacks: LightProbes.needsRetetrahedralization which is called whenever the current registered probes and tetrahedralization are out of sync, and LightProbes.tetrahedralizationCompleted which fires after (re-)tetrahedralization is done.

  • 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 Graphics.minOpenGLESVersion and built-in keyword SHADER_API_GLES30.

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

  • Graphics: Added: Added new SystemInfo.supportsStoreAndResolveAction API to check for StoreAndResolveAction store action support on a specific platform.

  • 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: Added callbacks to RenderPipelineManager that don't cause GC. (1259717)

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

  • iOS: Added: Added iOS.Device.iosAppOnMac flag to check if app built for iOS is running on Mac equipped with Apple Silicon chip.

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

  • Mobile: Added: Adaptive Performance: Updated the version defines for the device simulator to support it in 2021.1 without package.

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

  • Package: Added: Added ApplyAfter option to ImpulseListener, to add control over the ordering of extensions.

  • Package: Added: New feature: CinemachineConfiner2D - Improved 2D confiner.

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

  • Particles: Added: Added emitterVelocity property to InitialModule.

  • Physics: Added: Expose ArticulationBody.computeParentAnchor option to control whether the parent anchor is matched to the other one automatically or not.

  • Physics: Added: Expose ArticulationBody.SnapAnchorToClosestContact function to place the anchor to a position where the risk of collider overlap is minimised.

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

  • Profiler: Added: Added API for interacting with the Profiler Window and the selection in the CPU and GPU Usage Profiler modules.

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

  • Scripting: Added: Added Vector3Int.forward and Vector3Int.back.

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

  • Scripting: Deprecated: Deprecated IIl2CppProcessor.

  • Scripting: Deprecated: Deprecated IUnityLinkerProcessor.OnAfterRun.

  • Scripting: Deprecated: Deprecated IUnityLinkerProcessor.OnBeforeRun.

  • Scripting: Obsoleted: Removed UnityEditorInternal.ScriptEditor.

  • Scripting: Removed: Previously undocumented EditorUtility.CompileCSharp() is removed. Its functionality can be achieved through the supported AssemblyBuilder class.

  • Scripting: Removed: Removed UnityEditorInternal.GetExternalScriptEditorArgs as it was throwing not supported exception.

  • Shaders: Deprecated: Material, MaterialPropertyBlock and Shader API for working with "Int" properties is deprecated. Use "Integer" or "Float" properties and the corresponding API instead.

  • UI Toolkit: Added: Added a new dropdown menu made of VisualElements to enable popup fields in runtime.

  • UI Toolkit: Added: Added a new DropdownField control to UI Toolkit runtime.

  • UI Toolkit: Added: Added KeyboardNavigationManipulator to simplify the implementation for users.

  • UI Toolkit: Added: Added MeasureTextSize method for InputFields.

  • UI Toolkit: Added: Added RadioButton and RadioButtonGroup controls.

  • UI Toolkit: Added: UQuery: Enumerator support allows for foreach iteration with no or minimal gc allocations

  • UI Toolkit: Changed: ProgressBar was moved to UnityEngine.UIElements to support runtime.

  • UI Toolkit: Obsoleted: ShowHorizontal is obsolete. Use horizontalScrollerVisibility instead.

  • UI Toolkit: Obsoleted: ShowVertical is obsolete. Use verticalScrollerVisibility instead.

Changes

  • 2D: Updated com.unity.2d.sprite package license.

  • 2D: Updated com.unity.2d.tilemap package license.

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

  • Android: Bump Android Logcat verified version to 1.2.0.

  • Android: Vulkan is no longer preferred over OpenGL ES when using Android 7 and for all Mali Midgard GPUs.

  • Asset Import: Changed Alembic verified package to 2.1.1-pre.1.

  • Asset Import: When Meshes have no material defined in the imported file, the ModelImporter will now assign the default material to them rather than creating a 'No name' material sub-asset.

  • Burst: Burst enters RC phase.

  • 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: Changed to inliner heuristics to improve build time and reduce executable size.

  • Burst: Eager-compilation is now cancelled when script compilation starts, to prevent spurious errors related to recompiled assemblies.

  • 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: Open-generic static methods are not supported by Burst, but they were previously visible in Burst InspectorBurst: they are now hidden.

  • Burst: Temporarily removed the Burst compiler warning about exception throws not in [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] methods, to let us address user feedback. The next minor version of Burst will reincorporate this in a more friendly manner.

  • 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: Deleting an object reference array entry in inspector now removes that array element. Previously first deletion was setting element reference to none, and only the second deletion was deleting the element.

  • Editor: Deprecated Device Simulator package, feature moved to core.

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

  • Graphics: Changed so texture formats DXT1 and DXT5 in the UI labels are now named "DXT1|BC1" and "DXT5|BC3", indicating terminology used by modern graphics APIs.

  • Graphics: Changed switch shaders to now use separate samplers instead of combined texture-samplers objects.

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

  • Graphics: Texture2D.Compress now compressed R8 textures to BC4 and R8G8 textures to BC5, on mobile platforms ETC/EAC are used.

  • Graphics: VT-internal warnings no longer show up in the editor window, but still get printed into the editor log file.

  • Mobile: Adaptive Performance: Session bugfixes for Adaptive Performance provider subsystem management.

  • Package: Added FBX Exporter package 4.0.0-pre.1 as a core package:
    https://docs.unity3d.com/Packages/com.unity.formats.fbx@4.0/manual/index.html.

  • Package: Added the Code Coverage package as pre-release. This package helps you identify areas of your code that need more testing, even if you haven't written any automated tests.

  • Package: Storyboard Global Mute moved from Cinemachine menu to Cinemachine preferences.

  • Package: UI update - Moved Cinemachine menu to GameObject Create menu and Right Click context menu for Hierarchy.

  • Package: Updated Code Coverage package to v1.0.0-pre.3.

  • Package Manager: Recorder verified package to 2.5.0-pre.1.

  • 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: Changed NativeArray limit of 2GiB in size, and now it can contain 2^31 items instead.

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

  • Scripting: Roslyn Analyzers inside Assembly Definitions Folders are now only applied to the Asmdef Assembly itself and to other Assemblies referencing the Asmdef Assembly - but not to any other code in the project.

  • Search: Removed the resource search provider (res:).

  • Shaders: Editor now skips warming up shaders from shader collections in the Preloaded shaders section of Graphics settings.

  • Shaders: Increased the global shader keyword limit to 384.

  • Timeline: Updated Timeline package to version 1.4.3.

  • Timeline: Updated Timeline package to version 1.4.4.

  • Timeline: Updated Timeline package to version 1.5.1-pre.2.

  • UI: Changed license file based on legal requirements.

  • UI: Changed the Shader property for soft masking from _MaskSoftnessX / Y to _UIMaskSoftnessX / Y so we dont overlap with TMP's shader properties.

  • UI Toolkit: Allow :root pseudo selector to target the element receiving the style sheet.

  • UI Toolkit: Changed DynamicAtlas system to track texture references and support dynamic removals.

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

  • UI Toolkit: Improved renderer batching.

  • UI Toolkit: Mobile touch scrolling is now supported in scrollviews and listviews.

  • UI Toolkit: Now call on bound field when value is first set on the control and matches default value. (1273589)

  • UI Toolkit: Text rendering is now handled by the textcore fontengine for both the editor and runtime.

  • UI Toolkit: Updated menu item for Live Reload to be called "UI Toolkit Live Reload" to avoid user confusion.

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

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

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

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

  • XR: Updated ARCore, ARKit, ARKit Face Tracking, ARFoundation, ARSubsystems packages to 4.1.1.

  • XR: Updated verified version of com.unity.xr.legacyinputhelpers to v2.1.6
    Changelog for 2.1.6 of com.unity.xr.legacyinputhelpers:
    Fixes error message when using the color camera
    Changes default near clip plane to 0.01f
    Fixes rig migration for URP and HDRP.
    Support for URP/HDRP v10.1.

  • XR: Updated verified Windows Mixed Reality package to version 5.2.0.

  • XR: Updated Windows MR XR SDK Plug-in to 5.1.0.

  • XR: Updated XR Plug-in Management to 3.2.17.

Improvements

  • 2D: Added information foldout in Tilemap Inspector for showing the Tile and Sprite assets used in the Tilemap.

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

  • 2D: Improved Automatic Palette Sizing by setting a better fitting size when sizes of Sprites are of multiples of each other. Otherwise, the largest size for Sprites is used.

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

  • 2D: Improved performance in SceneView for SceneViewOpenTilePaletteHelper.

  • 2D: Improved slicing performance. (1271316)

  • 2D: Show grid preview when slicing spritesheets.

  • 2D: Store and reuse last used location when creating Tiles from the Tile Palette window.

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

  • Android: Expand Create Symbols.zip option, you can now choose from Disabled/Public/Debugging, the symbols will always have an extension .so, the symbols for libil2cpp (if IL2CPP is selected), libmonobdwgc-2.0 (if Mono is selected), libunity, libmain will all be present. You can upload the zip package to Google Play Console for automatic stacktrace resolving (In this case pick Public symbols). (1288739)

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

  • Android: Use Android 11 setFrameRate API when Optimized Frame Pacing is enabled and Vulkan is used, similar to OpenGL ES.

  • 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 Import: Reduced cost of domain reloads on asset import worker processed by removing unnecessary additional domain reloads.

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

  • Asset Pipeline: Calling ForceProduceArtifact not only omits the use of cache server artifact but now also local cached artifacts.

  • Asset Pipeline: Calling ProduceArtifact rapidly doesn't produce multiple artifacts anymore.

  • Asset Pipeline: Changed API doc:
    AssetDatabase.LoadAssetAtPath.

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

  • Build Pipeline: Upgraded udp package to 2.1.0.

  • Burst: Improved codegen.

  • Core: Improved error message in certain cases of disk full.

  • Core: Reduced thread contention on JobQueue internal memory allocation.

  • Documentation: Clarified an aspect of Mip Stripping docs.

  • DX12: Optimize ray tracing acceleration structure building on the render thread (roughly 2x speedup).

  • 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: A newly-created Scene View window now copies last active Scene View settings. (1264773)

  • Editor: Added "Localize compiler messages" to Preference Window>Language to localize compiler messages in the current language.

  • 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: Improved multi-select performance in ReorderableList. (1279141)

  • Editor: Improved the reliability of our SQLite implementation.

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

  • Editor: Optimized mobile ASTC texture compression (about two times faster now).

  • Editor: Optimized mobile ASTC texture compression some more (10% speedup).

  • Editor: Optimized mobile ETC/ETC2/EAC texture compression (about two times faster now).

  • Editor: Optimized mobile PVRTC texture compression (8% speedup).

  • 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: Reduced editor repaints while rendering HDRP.

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

  • Editor: Updated Navigation icons. (1254021)

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

  • GI: Move memory related logging from console to log file.

  • GI: Removed very verbose logging during lighting data asset building.

  • Graphics: Expose RayTracingAccelerationStructure.RemoveInstance to C# Scripting API.

  • Graphics: Fixed async readback crashing on DX12 if buffer was a SubUpdates buffer.

  • Graphics: Improved compression speed for ASTC textures.

  • Graphics: Improved error on DX12 while trying to set stable power state but windows was not in developer mode.

  • Graphics: Improved the performance of loading single mip cubemaps on GameCore.

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

  • Graphics: UnityEngine.Profiling.Recorder.gpuElapsedNanoseconds now can measure GPU time on OpenGL ES3.

  • 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: Improved error message when required Visual Studio components are not installed when building for Windows.

  • IL2CPP: On Android public symbol file (for ex., libil2cpp.sym.so) will no longer contain debugging symbols, it will only contain symbol table, debugging symbol are present in libil2cpp.dbg.so. This should significantly lower the file size of libil2cpp.sym.so.

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

  • Kernel: Fixed instability in FolderContentsMatchesTheOneReturnedByGenerateDirectoryStructure test.

  • License: Sync access token with L-Client upon change.

  • Mobile: Updated com.unity.mobile.notifications to 1.3.2.

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

  • Package: Updated input system package to 1.0.2.

  • Package: Upgrading input system package to 1.0.1.

  • Package: Verify udp 2.1.4.

  • Physics: Rearrange the ArticulationBody properties so that damping and friction is located right after mass and is not visually separated from it by the anchor properties.

  • 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: Call Stacks displayed in the CPU Usage Profiler now by default only show calls for which more information than just their memory address is present. You can toggle on "Full details for Call Stacks" if you want to see the addresses.

  • Profiler: Call Stacks displayed in the selection tool-tip of Timeline view are now clickable if they contain file information.

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

  • Scripting: Added c/cpp/mm/m/java/h as defaults to "Project Settings->Editor->Additional extensions", so they would appear in code editor, and thus providing easy way to edit them and inspect them. (1284679)

  • Scripting: Added support for new managed code stripping annotation attributes.

  • Scripting: Added support for Unity Version Defines in Assembly definition import options.
    This feature improvement allows scripts to easily specify different code snippets for different unity version ranges. This is especially useful for introducing calls to newly added public APIs, in which case these API calls needs to be guarded by defines based on a unity version range of a given unity version or later.
    Unity version range expression syntax is the same as package version range expressions. Unity version format differs from package version format, thus Unity version expressions are evaluated based on some rules specific to the Unity version format:

    • Comparison of release types follows the following rules: a<b<f=c<p<x. So eg. an alpha version is always smaller (earlier) than a beta version, regardless of the Incremental version.
    • The unity versions are allowed to have suffixes (e.g 2020.1.3-bonfire) which are ignored by the unity version comparison code
    • Chinese releases are equivalent to public releases (f) so for the sake of comparison in the version range expression 2020.1f3 would be equal to 2020.1c3[
    • experimental releases don't include an Incremental Version - e.g. everything after 2020.2.1x would be treated as suffix and ignored by the version comparison.
  • Scripting: GameObject.FindGameObjectWithTag and GameObject.FindGameObjectsWithTag are much faster.

  • Scripting: MenuItem for manually running script updater is removed. It now always offers to update when it finds a compilation error it can fix.

  • Scripting: Performance improvements in ApiUpdater.

  • Scripting: Script compilation has a background task progress bar when auto-refresh is disbled.

  • Scripting: Script Compilation is now incremental across player builds.

  • Scripting: Script Updater approval dialog will show you which files will be overwritten before you give permission.

  • Scripting: Script Updater causes fewer script recompiles when importing/upgrading projects.

  • Scripting: The errors that trigger a script updater are no longer displayed in the console window.

  • Scripting: UX improved when setting up Unity version defines for asm definitions in the Editor.

  • Search: Improved the search help text when there is no result for the current search tab.

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

  • Shaders: Added shader name to messages in the log about shader state being unsupported,.

  • Shaders: Shaders can now use UNITY_PLATFORM_<PLATFORM_NAME> defines to specialize compilation per build target platform (examples: UNITY_PLATFORM_OSX, UNITY_PLATFORM_WINDOWS).

  • Terrain: Added "Delete Brush..." button to the brush selection UI.

  • 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: Now an error message will show up on UI when you select an invalid detail prototype.

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

  • UI Toolkit: Improved renderer batching.

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

  • WebGL: Added support for QualitySettings.vsyncCount so it is no longer ignored.

  • WebGL: Added support for smooth rendering of decimated frame rates for 60/k fps (30, 20, 15, 12, 10 and 5 fps).

  • WebGL: Added support for vsyncless rendering for development/profiling purposes (enabled by setting QualitySettings.vsyncCount = 0; and Application.targetFrameRate = 1000;).

  • 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: Added an option to enable/disable Alpha Dilate for SpriteAtlas.
    This adds ability to use Alpha Transparency for padding pixels around Sprite Borders when packing SpriteAtlas.

  • 2D: Added C# Job Tessellation support for Fill Area of SpriteShape.

  • 2D: Added Isometric Grid slicing to Sprite Editor.

  • 2D: Added support to allow user to toggle drawing of Grid Gizmo in the Tile Palette window with a button in the Tile Palette window.

  • 2D: Added support to allow users to toggle drawing of Grid Gizmo for a Grid component in the SceneView using the SceneView Gizmo button or through the list in the Gizmo dropdown.

  • 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: 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: Added intrinsics support for AtomicSafetyHandle.NewStaticSafetyId.

  • Burst: Added support for calling Burst code directly from C# without using function pointers.

  • Burst: Added support for creating profiler markers from Burst code.

  • Burst: Added support for exceptions thrown from Burst to contain a callstack.

  • Burst: Added support for LLVM 11 to bring the latest and greatest code generation benefits to Burst.

  • Burst: Added support for stacktraces in Burst exceptions.

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

  • Burst: Added support to load additional burst libraries in playmode/standalone for the intention of allowing Modding support on desktop platforms.

  • Burst: Added BurstCompiler.IsEnabled API.

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

  • Burst: Apple silicon support.

  • 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 some ArmV8.2A intrinsics (dotprod, crypto, RDMA).

  • Burst: Experimental support for tvOS.

  • Burst: Full support for ARMv7 and ARMv8-A Neon intrinsics (out of experimental).

  • 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: Preliminary support for loading additional burst compiled libraries in play mode/standalone - for modding support -.

  • Burst: Support for new intrinsics.

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

  • Editor: Added Device Simulator window as a core feature of the Editor.

  • Editor: Fetch the access token in a synchronous way if username and password is passed in arguments.

  • Editor: Improved integration Search in Unity.

  • Graphics: Mesh sampling skinned & Index.

  • Mobile: Adaptive Performance: Added a transparency scaler.

  • Mobile: Adaptive Performance: Added settings to control the Indexers thermal and performance actions when using the Device Simulator.

  • Package: Added Visual Scripting (previously known as Bolt) as a default package.

  • Package: Updated to ProBuilder 5.0.0-pre.7.

  • Package Manager: Ability to install a upm package from a browser hyperlink (including an experimental package).

  • Package Manager: Added a new add package by name dropdown and revamped the existing add from git URL dropdown.

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

  • Package Manager: Infobox text that describes the current flow of the package when the version is not a Release.

  • Package Manager: Package Manager: 'Release Candidate (RC)' packages will no longer be tagged as such for users on release builds- it was decided that it's confusing for users to see a tag different from the version tag (-pre), so release builds just tag RC packages as Pre-Release now. Users on Developer builds still see RC packages tagged as RC.

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

  • Particles: Added new Emitter velocity mode - Manual. This mode can be used to override the ParticleSystem's calculated emitter velocity value. This gives scripts complete control over the ParticleSystem velocity. It is also possible to use this whilst authoring a system to simulate movement when making an effect that relies on movement.

  • Scripting: Introduced the ability to setup script compilation defines (in asmdef inspector) depending on the Unity version the scripts are being compiled for (Uniy Version Defines).

  • UI Toolkit: Added 2D Sprites use as background style images.

  • UI Toolkit: Added element drag and drop and re-ordering support in the Canvas.

  • UI Toolkit: Added in-Canvas style toggles for flex and text alignment.

  • UI Toolkit: Added Rich Text style properties to the Inspector.

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

  • UI Toolkit: Added UI Builder, a visual UI authoring tool for UI Toolkit. It was initially released as a package (com.unity.ui.builder) and is now part of core Unity for its 1.0 full release.
    https://unity3d.atlassian.net/browse/UR-1324.

  • UI Toolkit: Added user Theme StyleSheet enumeration and preview in the Canvas.

  • UI Toolkit: Added USS variable search in Inspector style fields.

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

  • UI Toolkit: Created PanelEventHandler and PanelRaycaster components allowing UI Toolkit panels to receive events and selection from a standard UI EventSystem. EventSystem now has a SetUITookitEventSystemOverride method to default override for UI Toolkit's event system and to change whether panel components should be created automatically on start. PanelSettings sortingOrder is used to determine drawing and selection order between UI Toolkit panels and UI canvases.

  • UI Toolkit: Dynamic texture slots to reduce batch breaking.

  • UI Toolkit: Sprite support in UI Toolkit.

  • XR: Reducing VR latency with Late Latching.

变更集: 4f6b2ade48ff