Fix crash in SpriteShapeUtility::PrepareSpriteShapeInputs when AngleRangeInfo.sprites contains an invalid index Note: Spriteshape package uses its own internal SpriteshapeGenerator and does not use UnityEngine.U2D.SpriteShapeUtility:Generate anymore. This will soon be deprecated.
7000.0.0a11
Alpha · Released Oct 20, 2026 · Changeset fac09b31727f · 1,162 release notes
69build score
Upgrade risk+29Net cleanup+22Live debt+19
cohort: alpha (43)
Fixed a performance regression in Tilemap.SetTile and other small tile batches.
Fixed an issue where a Point Light 2D lost its cookie sprite when a project saved in Unity 6.0 or 6.3 was opened in a newer version.
Fixed an issue where cancelling animation creation after dragging multiple sprites onto a GameObject in the Hierarchy removed its existing Animator component.
Fixed an issue where rotating a multi-layer brush on a Hexagon Tilemap merged its Z layers and lost tiles.
Fixed GridLayout.GetBoundsLocal(Vector3Int) returning bounds that were not centered on the cell.
Fixed the Tile Palette Brush Pick Overlay scrolling back to the selected Pick when you resize the Picks.
The Console now shows the "More than one global light on layer" error when a 2D Light is set to Global in the Light Explorer.
Undo and Redo now fully revert a pick in the Shadow Caster 2D Casting Source dropdown and the Light 2D Light Type dropdown, so the inspector shows the right fields.
Fixed Adaptive Performance samples in XR so the user's camera faces the sample content.
Adaptive PerformanceFixXR
Fixed the order of the two portal points returned for a NavMesh link, so that the first one is on the left and the second on the right also for a path that leaves the link. This applies to the results of NavWorld.GetPortalPoints and NavMeshQuery.GetPortalPoints.
Fixed system bars not hiding automatically on Android 11 when using GameActivity and System Bars Behavior is set to "Show Transient Bars By Swipe".
Fixed the Linux Editor sometimes exiting while importing crunch-compressed textures, with "crn_threading_pthreads.cpp(194): Failure: semaphore: sem_wait() or sem_timedwait() failed" in the log. The crunch compressor treated an interrupted wait as a fatal error; it now retries the wait.
Fixed a crash when passing a non-importer Type to ArtifactKey and other AssetDatabaseExperimental APIs that take an importer type, which now throw an ArgumentException instead.
Fixed a performance regression that added a fixed overhead to every Asset Database refresh.
Fixed an issue where calling AssetDatabaseExperimental.ForceProduceArtifact with a default ArtifactKey made the Editor hang.
Fixed an issue where the Editor crashed on launch when the project was on an exFAT drive on macOS.
Fixed AudioClips created with AudioClip.Create losing their sample data and logging "Cannot attach thread to NULL scripting domain" errors when entering Play mode with domain and scene reload disabled.
Fixed exiting Play Mode taking several seconds on Linux when the audio output device does not block, such as an ALSA null device.
Fixed content directory builds reusing cached scenes after the version argument of a PostProcessScene attribute changed.
Fixed content directory builds reusing cached shaders after the BuildCallbackVersion of an IPreprocessShaders or IPreprocessComputeShaders callback was increased.
Fixed IncrementalPlayerBuildTests on CoreCLR. (CBD-2066)
Build PipelineFix
Fixed the Build Analysis window's Asset Table showing no message when a search matched no assets.
Fixed the Build Details section of the Build Analysis window not showing a build's related builds.
don't hang the Editor when a previous bee_backend is still running
Fixed IUnityGraphicsD3D12::GetNextFrameFenceValue() returning a fence value that could complete before the commands a native plugin recorded into Unity's current command list when graphics jobs are enabled.
Handle out of memory on very large texture creations
Disable Show Tutorial Window button since Universal 2D Project does not provide one.
Don't include the NET analyzers twice in Project Auditor code analysis.
Fix layout properties preview inspector window to use the same calculations as runtime layout.
Fix misleading JobsDebugger error message for a NativeContainer that is accessed from a job but isn't passed in through the job struct, that claims it has been declared as [WriteOnly]. (UUM-157101) First seen in 7000.0.0a9.
Fixed a camera with Target Eye set to None rendering with the XR eye texture's size and aspect ratio instead of the window's while an XR display is active.
Fixed a crash on closing the Editor shortly after saving.
Fixed an issue where Project Auditor showed the Optimization page and highlighted the wrong sidebar entry after starting an analysis from the Migrate to URP tab.
Fixed error from Jetbrains.Annotations when trying to use SourceTemplate Attribute
Fixed hover events not firing when moving between adjacent links
Fixed issue where filtered Scene View picking ignored BatchRendererGroup objects.
Fixed player builds failing with error CS0117 when scripts use UnityEngine.Device.SystemInfo.processorModel, processorManufacturer, or supportsMachineLearning.
Fixed Project Auditor reporting "CSC" as the location of assembly-level code findings when MSBuild compilation is enabled.
Fixed Project Auditor reporting absolute on-disk file paths instead of project-relative paths for symlinked packages when MSBuild compilation is enabled.
Fixed Project Auditor warning that suppressed Roslyn analyzer IDs with two letters, such as CA1016, were in the wrong format.
Fixed Project Auditor's Migrate to URP page listing shaders from Unity packages as issues that need manual review, which prevented the Fix Issues step from completing.
Fixed Project Auditor's shader analysis to exclude Unity compute shaders from user code scans.
Fixed the Project Auditor Migrate to URP sub-pages showing a blank page instead of the report unavailable message when the project uses HDRP or a custom render pipeline.
mp4 files encoded on macOS no longer cut off audio that runs past the last video frame. Files encoded without a frame rate also no longer cut their last frame short.
Offer Save when starting a new analysis from the Home page after analysis finished
Project Auditor: Fix "Export: All" to export all items.
Project Auditor: fix URP scanning via blocking Audit script call.
Project Auditor: preserve user globalconfig files during Code Analysis.
Project Auditor: The BinaryFormatter is incompatible with CoreCLR so we want to flag it in the migration view.
Updated included VCRedist to 14.51.36247 for the Windows Editor.
[Android] Fix On Demand Rendering frame and pacing times.
Fixed instances in a subscene not rendering in the Player after another subscene that uses the same meshes and materials was unloaded.
Add support for hardware dynamic resolution scaling in SSR
Fix a bug where mixed lights appear fully occluded when using APV and having L2 spherical harmonics disabled.
Fixed Adaptive Probe Volumes baking black probes near terrain surfaces when using Vulkan on some AMD GPUs.
Fixed Adaptive Probe Volumes placing probes as if the scene had no geometry when baking with Vulkan on AMD GPUs.
Fixed an error about a missing 'GetMinMaxLuminance' kernel that was logged after every lighting bake when the Editor used Vulkan or OpenGL Core.
GIFix
Fixed Surface Cache Global Illumination not updating in the Scene view while the Editor is idle.
Fixed the Render Graph Viewer showing a different set of passes on each capture when the Surface Cache Global Illumination renderer feature is active.
Fixed an issue where loading a truncated or badly merged graph asset silently dropped nodes, variables and states, and saving the graph made the loss permanent. Such assets are now refused with an error that names the file. (UUM-154744)
Fixed the Graph Inspector's Narrow the Selection list showing internal type names such as VariableDeclarationBase instead of user-facing names such as Variable.
Fixed an issue where a Line Renderer or Trail Renderer using a 2D sprite material became invisible after turning off Preview in the Animation window or after calling Renderer.SetPropertyBlock.
Fixed an out-of-bounds memory read when updating graphics buffers on Metal.
Fixed an out-of-bounds memory read when warming up shader variants on Metal.
Add WebGL ThreadPool::MainThreadScheduleBackgroundJob support
IL2CPPFixWebGL
Comparing a Type against a generic type definition such as typeof(List<>) in generic code could return the wrong result or fail to convert.
IL2CPPFix
Fixed Environment.WorkingSet being 0 on the WebGL target
IL2CPPFixWebGL
Fixed icons and text being clipped inside IMGUI controls at fractional display scales such as 150%.
Fixed IMGUI text fields, such as Transform values in the Inspector, sometimes showing another value's text (for example 0 and 1 swapped) while a window was being resized.
Fixed the Read more link in the Update Mode warning of the Input System settings opening a documentation page that does not describe Update Mode.
Optimized malloc tracking code. (UUM-156624) First seen in 7000.0.0a5.
Windows standalone players crashed immediately on startup on CPUs without SSE4.2 support.
No release notes, Remote settings cleanup
N/A \(internal\)Fix
Fixed PackageInfo.FindForAssembly throwing an ArgumentException instead of returning null for assemblies that have no file path, such as dynamic or in-memory assemblies. (UUM-157070) First seen in 7000.0.0a1.
SampleGroups are now getting cleared of samples and statistics a test used, after its result has been reported. This stops data bleeding in other tests in case tests hold on to SampleGroups for some reason.
Performance Test FrameworkFix
Fixed an issue where Joint components wouldn't cause newly connected Rigidbody components to re-evaluate their contacts. So flags such as "enable collisions" could take effect.
Fixed "PhysicsAABB.CastRay" returning an incorrect fraction when "maxFraction" is below 1, and "PhysicsAABB.center" and "PhysicsAABB.extents" warnings naming the wrong member.
Fixed "PhysicsHandle.AsWorld" so that it throws an exception for an invalid world instead of returning a handle reported as a pool handle.
Fixed "PhysicsLayers" so that "GetLayerMask" includes every layer sharing a name, "GetLayerName" returns an empty string for an unnamed layer, and null or out-of-range arguments throw exceptions that name the correct parameter.
Fixed "PhysicsMask" so that a "LayerMask" including layer 31 no longer sets the upper 32 bits, "AreBitsSet" returns false for an empty mask, a default "ResetBitIterator" includes bit 0, and shift counts outside 0 to 63 throw an exception.
Fixed "PhysicsRotate" so that converting to a "Quaternion" no longer doubles the angle, "isNormalized" no longer logs a warning for a rotation that is not normalized, "ToString" labels the angle as degrees, and "Normalized" warnings name the correct method.
Fixed "PhysicsTransform" validation warnings naming the wrong method.
Fixed a performance regression when saving scenes that contain prefab instances with many overrides.
Fix Highlights logging exception when profiler data is cleared
Fixed an issue where moving a GameObject far from the origin with the Move tool made its handle disappear and logged an invalid localPosition (NaN) error.
Fix potential editor freezing for long periods when running ScriptUpdater
Fixed AppDomain.CurrentDomain.BaseDirectory and AppContext.BaseDirectory returning an empty string on CoreCLR.
ScriptingFix
Fixed CompilationPipeline.ParseResponseFile not recognizing -unsafe- in a csc.rsp file, which caused ResponseFileData.Unsafe to ignore an explicit request to disable unsafe code.
Optimize GetSelectionCount object validation in SceneInspector
Fixed a crash when executing a RenderingCommandBuffer with a SetKeyword on a null or destroyed material.
Fixed a rare crash when doing a build.
Fixed shaders in the Editor rendering with the magenta error shader for the whole session when the startup shader warm-up missed the shader cache, which happened with the experimental shader variant data after an Editor update or a colour space change.
ShadersFix
Fixed the GRD-GPUOCC kernel shader warnings
Fixed the Edit Tree, Edit Detail Mesh and Edit Grass Texture windows applying changes to a different prototype when another prototype was removed while the window was open.
Fixed trees placed above or below the Terrain surface moving onto it when SetHeights, SyncHeightmap, a height brush, painting holes or changing the Terrain size modified another part of the Terrain.
Fixed Play mode test runs on a player ending before the player finished, and recording only some results, when the Editor reloaded scripts after launching the player. (UUM-157067) First seen in 7000.0.0a7.
Fixed the caret not moving past an emoji with the arrow keys, and Backspace and Delete removing only half of an emoji, in a TextMeshPro Input Field with Content Type set to Password.
Fixes clips with identical start time could have their order swapped when new clips are added or existing clips start times are modified.
Allows LayoutElement to restore previously used float value when disabling and re-enabling a property.
Fixed the BaseInput component's help button opening a documentation page that doesn't exist.
Changed the Grid section's Flow, Justify Items and Justify Self options to be icons instead of text.
Fixed "Accessing invalid property" errors in the Console when discarding UI asset changes while one of the asset's elements was selected.
Fixed "Give this element a name" in the Inspector Overrides menu doing nothing for an unnamed element from a nested UXML document in a UI stage.
Fixed a Gradient UXML attribute loading with different alpha values after saving when an alpha key had a very large value.
Fixed a hex or named color being lost from a UXML Color list attribute when an rgb() color follows it.
Fixed a performance regression where reading the layout, worldBound or localBound of visual elements was slower on platforms with small CPU caches.
Fixed a world-space UI Document not rendering for a frame after its Panel Settings asset was changed.
Fixed an AnimationCurve UXML attribute losing its value after saving when a key had a very large value.
Fixed an ArgumentNullException when an inline filter or backdrop-filter was set to StyleKeyword.None on an element with a transition on that property.
Fixed an exception thrown from an [OnComponentChanged] handler preventing the change handlers of other components from running. The exception is now reported and dispatch continues with the remaining components.
Fixed an issue where a 3D-rotated element inside a 3D-rotated GroupTransform rendered at the wrong height on screen-space panels and in Editor windows, and did not match the area that responds to the pointer.
Fixed an issue where clicking an item in a ListView nested inside another ListView
Fixed an issue where out-of-range filter and backdrop-filter values were clamped without a Console warning, and UI Builder's Inspector displayed the unclamped value.
Fixed an issue where PanelRenderer UI reload callbacks registered in Awake, OnEnable or Start were invoked after the first Update.
Fixed artifacts around letters when text uses a Font Asset with a small atlas padding and a zero or negative outline width.
Fixed AssetBundle builds including the glyphs a dynamic Font Asset generated in the Editor when its Dynamic Data is set to Session Only.
Fixed auto margins having no effect on a child element of a grid container.
Fixed Capture to PNG in the UI Toolkit Debugger producing washed-out images in projects that use Linear color space.
Fixed Event.KeyboardEvent returning PageDown for "pgup" and PageUp for "pgdown".
Fixed grid items not filling the grid when repeat(auto-fit) collapses empty tracks, because the gaps of the collapsed tracks were kept.
Fixed Player builds failing with "You can't modify a VisualElement after its resources are released" errors when a UI Toolkit element was selected in the Hierarchy.
Fixed SVG import giving rects and ellipses the wrong size when their width, height, rx or ry is set in percentages.
Fixed the animation recording tint and indicator not appearing in the UI Toolkit style inspector after recording an edit to background-color, border colors, -unity-background-image-tint-color, or z-index.
Fixed the cursor not updating immediately when a VisualElement's style.cursor was reset to its default value while the pointer was over the element.
Fixed the UI Builder Hierarchy and UXML Preview showing "<unsaved file>.uxml" instead of the preview document name when a style sheet is open in StyleSheet Editing Mode.
Fixed the USS import error for a nested style rule quoting a selector that is not in the file.
Fixed TreeView and ListView items sometimes staying invisible after expanding the last item or resizing the view while scrolled to the bottom.
Fixed UI Builder adding a duplicate attribute to Attribute Overrides when editing an override on an element whose name contains a space, which made the UXML file invalid.
Fixed UI Builder Save not writing elements added in the Hierarchy before the UI Builder window opened.
Fixed UI Toolkit panels not receiving pointer events after a script reload in Play mode when the scene has an EventSystem.
Fixed unsaved elements of a new UI Document being lost after entering and exiting Play Mode.
Fixed USS files and UXML inline styles losing all of their styles when a declaration ended with an extra semicolon.
Improved the performance of updating changed elements in large panels.
Broadphase.Tree.Clone() now allocates node storage that is sized to its capacity rather than the source tree's Length. This fixes an OutOfRange error that may be observed when a full multi-threaded broadphase rebuild is performed on a densely-packed, cloned world.
Fixed a performance regression when using per-light soft shadows quality.
Fixed an exception thrown after setting a camera's viewport rect to a near-zero size and back while alpha processing and a temporal upscaler were enabled.
Fixed an issue where the Render Pipeline Converter in batch mode reported animation clip conversions that failed with an exception as successful, which hid them from Project Auditor's remaining issues list.
Fixed downsampled Screen Space Ambient Occlusion sampling normals and blue noise at texel corners, which made the result differ between GPUs
Fixed Screen Space Ambient Occlusion Renderer Feature error spam when tile-only mode is enabled.
Fixed UAL0010 and UAL0013 warnings in the script that Create > Scripting > URP Post-process Volume Scripts creates when domain reload is disabled.
Fixed a GPU crash or corrupted rendering with sorted Visual Effect Graph outputs when some instances of an effect were outside a camera's view, especially with several cameras.
Fixed a bug where two views of the same WebGPU device filter became out of sync, resulting in an ArgumentOutOfRangeException exception.
Fixed a potential error on graphics shutdown (UUM-157529) First seen in 7000.0.0a9.
Removed verbose log messages triggered when adding elements to a WebGPU device filter.
Fixed a crash on Windows when the Editor ran in batch mode and could not create its main window.
Reduced size of Windows builds.
Fix ArgumentException when using overlay camera in 2D Renderer.
Fix case where crash with multiple stack traces when Sprites with a high resolution get Sliced to a Grid with a small cell size in the Sprite Editor
Fix case where ideo is not rendered when the VideoPlayer GameObject is disabled and re-enabled after playback starts while using Material Override render mode
Fix crash in SpriteShapeUtility::PrepareSpriteShapeInputs when AngleRangeInfo.sprites contains an invalid index Note: Spriteshape package uses its own internal SpriteshapeGenerator and does not use UnityEngine.U2D.SpriteShapeUtility:Generate anymore. This will soon be deprecated.
Fix intermediate texture not created when requested by render pass
Fix issues where Unsaved Changes Detected pop-up are doubled after editing Sprite Atlas asset if it was open on multiple Inspector windows and choosing the Discard option
Fix section headers for 2D/Grid Brush and 2D/Tile Palette preferences
Fixed "Strip 2D Unused Variants" stripping a Light 2D shader variant that is still in use, which made some 2D lights render magenta in Player builds when another light was culled.
Fixed 2D lights changing position and orientation when rotating an Android device in projects built with Vulkan and Apply display rotation during rendering enabled.
Fixed 2D projected shadows not rendering on some platforms
Fixed a "No script asset for ShadowCasterPath" warning when you undo or redo a Shadow Caster 2D shape edit in Play mode.
Fixed a crash that could occur when a Sprite was destroyed while the render thread was still uploading its vertex buffer.
Fixed a crash when entering Play Mode with a Tilemap whose tiles re-enter the Tilemap API during StartUp.
Fixed a NullReferenceException thrown every frame by a 2D Light of type Provider whose Light2DProvider returns no mesh.
Fixed a NullReferenceException when a Light 2D created from a script is set to Freeform without a shape path.
Fixed a performance regression in Tilemap.SetTile and other small tile batches.
Fixed an "ArgumentException: Scene file not found" error when building with a deleted scene in the build list and Strip 2D Unused Variants enabled.
Fixed an "Index buffer element is out of bounds" error that removed a Shadow Caster 2D's shadow when its outline had a sub-shape with fewer than three edges and 2D Shadow Geometry was set to Enhanced.
Fixed an issue where a Point Light 2D lost its cookie sprite when a project saved in Unity 6.0 or 6.3 was opened in a newer version.
Fixed an issue where a Tilemap did not instantiate the GameObjects of its tiles on every other scene load or Play mode entry.
Fixed an issue where cancelling animation creation after dragging multiple sprites onto a GameObject in the Hierarchy removed its existing Animator component.
Fixed an issue where dragging the Sprite Editor Window Zoom Level range in Preferences could set the minimum zoom below 50%.
Fixed an issue where lowering the maximum zoom level in the Sprite Editor Window preferences allowed the Sprite Editor to zoom out beyond the minimum zoom level.
Fixed an issue where rotating a multi-layer brush on a Hexagon Tilemap merged its Z layers and lost tiles.
Fixed an issue where the Shadow Displacement port on the Shadow Caster 2D Shader Graph target was read in the caster's local space instead of world space.
Fixed an issue where the Sprite Editor Window Zoom Level range in Preferences stayed wider after being dragged to the lower end and back.
Fixed child GameObjects of a Tile's instantiated GameObject remaining in the Scene after exiting Play mode or reloading the Scene.
Fixed Crash on SpriteAtlas::GetSpritesScripting when passing null to SpriteAtlas.GetSprites.
Fixed duplicate global light error when building a player.
Fixed editor crash in SpriteDataAccessExtensions::SetVertexCount when the count is negative.
Fixed four errors logged every frame for each Light 2D that uses a custom Material whose shader does not declare the 2D lighting keywords.
Fixed GridLayout.GetBoundsLocal(Vector3Int) returning bounds that were not centered on the cell.
Fixed inconsistent icon sharpness in the Tile Palette window.
Fixed IndexOutOfRangeException errors thrown while editing a Freeform Light 2D shape whose edges overlap.
Fixed Render Objects feature failing when depth buffer is disabled.
Fixed Shadow Caster 2D so that the shape outline is drawn in the Scene view for every Casting Option, including Self Shadow and No Shadow.
Fixed shadows from a Shadow Caster 2D that uses a Collider 2D (for example a Tilemap Collider 2D) as its casting source flickering in the Scene and Game views.
Fixed slow Apply in the Sprite Editor on textures with many sprites.
Fixed the active Brush changing to the last selected Brush Pick when the Brush Pick filter was toggled on and off.
Fixed the camera sorting layer texture resolution being affected by the Render Scale setting on the 2D Renderer.
Fixed the Grid Selection Offset, Rotation and Scale fields in the Inspector not updating while dragging a Grid Selection gizmo in the Scene view.
Fixed the Grid Selection transform and color fields accepting input that was silently discarded when the selection contains no Tiles. The fields, selection tools and Delete Selection button are now disabled in that case.
Fixed the Open Tile Palette button and Tilemap Focus dropdown not filling the full width of their Scene view overlay.
Fixed the Sync Active Palette button in the Tile Palette window being cut off or hidden when the window is resized horizontally.
Fixed the Tile Palette Brush Pick Overlay scrolling back to the selected Pick when you resize the Picks.
Fixed Tilemap tile data potentially being copied incorrectly when refreshing tiles.
Fixed Tiles in the Tile Palette window rendering in solid grey after exiting Play mode when Domain Reload is disabled.
Fixed Unstable Test.
Fixed URP 2D editor-only icons being included in player builds.
Fixes LineRenderer not initializing correctly when toggling enable on game object.
Inspector - Unsaved Changes Detected pop-up shows for each Inspector window when editing Sprite Atlas asset
Platform specific overrides panel for Sprite Atlas asset does not support Undo or Redo operations
Reduced CPU cost of 2D lights and shadow casters that do not use a custom material.