Crash on WalkTypeTreeInternal when a Tilemap Prefab whose Scene instance has tile overrides is updated from version control
6000.7.0b6
Beta · Released Oct 21, 2026 · Changeset 820f8ee8e58b · 2,135 release notes
45build score
Upgrade risk+19Net cleanup+20Live debt+6
cohort: beta (81)
Silent crash when launching a project from an external drive with exFAT formatting
don't hang the Editor when a previous bee_backend is still running (UUM-142773) Fixed in 6000.7.0b7.
Fixed crash in DomainUnloadAutoFree memory tracker. (UUM-144552) Fixed in 6000.7.0b7.
Crash on SessionState::SetFloat when closing the project
Crash on UnityEngine.Serialization.SerializationBackendManagedCommands:ExecuteV2WriteStream when using typeof(T) in ISerializationCallbackReceiver.OnBeforeSerialize() of a struct<T>
Deprecated: Removed deprecated TouchScreenKeyboard.Android.consumesOutsideTouches and closeKeyboardOnOutsideTap properties; Unity now always processes touches outside the on-screen keyboard.
AndroidBreaking
Added: Added a real-time counterpart to ControlContext.SendMessage for the Scriptable Audio Pipeline. This is a binary breaking change, but it's source compatible.
AudioBreaking
Added: Scriptable processors: added GeneratorInstance.CreationParameters and RootOutputInstance.CreationParameters; deprecated ProcessorInstance.CreationParameters and its implicit conversions (to be removed in a following version).
AudioBreaking
Deprecated: Deprecated various Audio APIs.
AudioBreaking
Deprecated: GameObjectUtility.AreStaticEditorFlagsSet use AnyStaticEditorFlagsSet for the previous behavior, or AllStaticEditorFlagsSet to require all flags. Existing code is automatically upgraded to AnyStaticEditorFlagsSet by the API Updater (no behavior change).
CoreBreaking
Deprecated: Deprecate Oculus XR package.
EditorBreakingXR
Obsoleted: The EntityCommandBuffer PlaybackPolicy enum has been made obsolete with errors. To apply the same set of commands more than once, record them into a new EntityCommandBuffer for each playback.
EditorBreaking
Removed: Project Auditor: Removed FirstCustomCategory from IssueCategory enum, and moved it to IssueCategoryExtensions as a static field.
EditorBreaking
Deprecated: Deprecated BlobAssetReference<T>.TryRead and BlobAssetReference<T>.Write. Use BlobAssetReferenceIO<T>.TryRead and BlobAssetReferenceIO<T>.Write instead.
EntitiesBreaking
Deprecated: Deprecated the Write Groups API.
EntitiesBreaking
Deprecated: Deprecated the HierarchySearchProvider class. The standalone Entities Hierarchy window has been replaced by the integrated Editor Hierarchy window.
EntitiesBreaking
Deprecated: Marked the following functions as deprecated as part of the managed component deprecation: EntityQuery.ToComponentArray<T>(), EntityQuery.GetSingleton<T>(), TryGetSingleton<T>(), GetSingletonRW<T>(), and SetSingleton<T>() for managed (class) component types, and EntityQuery.GetTransformAccessArray().
EntitiesBreaking
Removed: Baking managed components and managed shared components is no longer supported. Baker.AddComponentObject, Baker.AddSharedComponentManaged, and Baker.SetSharedComponentManaged are now compile errors. Convert your data to unmanaged IComponentData / ISharedComponentData (use UnityObjectRef<T> to reference UnityEngine.Object instances) and bake it with the unmanaged AddComponent / AddSharedComponent APIs.
EntitiesBreaking
Removed: The managed-component APIs deprecated in 6.6 are now compile errors.
EntitiesBreaking
Removed: The EntityCommandBuffer/ParallelWriter APIs for managed IComponentData and managed ISharedComponentData are now compile errors.
EntitiesBreaking
Deprecated: Deprecated both TerrainExtensions.UpdateGIMaterials overloads. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated CombineInstance.realtimeLightmapScaleOffset. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated DynamicGI.indirectScale, DynamicGI.isConverged, DynamicGI.materialUpdateTimeSlice, DynamicGI.synchronousMode, DynamicGI.updateThreshold, DynamicGI.SetEmissive, and DynamicGI.SetEnvironmentData. DynamicGI.UpdateEnvironment is not deprecated. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated LightingSettings.realtimeGI and LightingSettings.realtimeEnvironmentLighting. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated LightmapParameters.clusterResolution, LightmapParameters.irradianceBudget, LightmapParameters.irradianceQuality, LightmapParameters.isTransparent, LightmapParameters.modellingTolerance, LightmapParameters.stitchEdges, and LightmapParameters.systemTag. LightmapParameters.resolution is not deprecated, because it also sets the resolution the Progressive Lightmapper bakes terrain at. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated MeshRenderer.enlightenVertexStream. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated Renderer.realtimeLightmapIndex and Renderer.realtimeLightmapScaleOffset. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated RendererExtensions.UpdateGIMaterials. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated Terrain.realtimeLightmapIndex and Terrain.realtimeLightmapScaleOffset. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Deprecated: Deprecated UnityEditor.Lightmapping.realtimeGI. Enlighten realtime Global Illumination will be removed in a future release.
GIBreaking
Added: The GraphLogger has several new properties. Each provides a List of Nodes, Ports or Variables that have been added, removed or changed (removed items simply have their guid).
Graph ToolkitBreaking
Changed: Deprecated RayTracingAABBsInstanceConfig.dynamicGeometry and replaced with RayTracingAABBsInstanceConfig.rayTracingMode. AABB ray tracing instances are now compatible with RayTracingAccelerationStructure.UpdateInstanceGeometry method.
GraphicsBreaking
Deprecated: Deprecated the C# APIs associated with Baked Occlusion Culling. They continue to work but now produce compiler warnings and will be removed in a future release. Consider migrating to GPU Occlusion Culling where supported.
GraphicsBreaking
Deprecated: Deprecated the OcclusionArea and OcclusionPortal component APIs. They continue to work but will be removed in a future release. Consider migrating to GPU Occlusion Culling where supported.
GraphicsBreaking
Deprecated: Input.backButtonLeavesApp is deprecated and will be removed in a future release. Use Application.backButtonLeavesApp instead.
InputBreaking
Removed: Removed the GameCenter implementation.
iOSBreaking
Removed: The deprecated iPhoneInput class has been removed. Use Input instead.
iOSBreaking
Removed: The obsolete managed GhostPresentationGameObjectPrefab component is now a hard error ([Obsolete(..., true)]) and no longer functional. Use the unmanaged UnmanagedGhostPresentationGameObjectPrefab instead, which references the prefabs through UnityObjectRef<GameObject>.
Netcode for EntitiesBreaking
Added: Added the PhysicsCallbacks.IPreContactCallback and PhysicsCallbacks.IPreContinuousCallback interfaces for physics shapes, replacing PhysicsCallbacks.IPreSolveCallback which is now deprecated. IPreContactCallback reports a contact before it is solved and gives you the full contact manifold to modify or cancel. IPreContinuousCallback reports a fast moving shape that is about to be stopped short of another shape, and lets you decide whether to stop it. IPreSolveCallback previously reported both of these situations through a single callback. The per shape option that enables them is now called Pre Contact Callbacks.
Physics 2DBreaking
Added: Added pointA and pointB to the physics contact manifold point, which give the contact point on each shape in world space. The existing point property is now deprecated because the two new properties replace it.
Physics 2DBreaking
Deprecated: Deprecated the PhysicsCallbacks.IPreSolveCallback interface. It reported both an existing contact and a predicted stop for a fast moving shape through a single callback, so it is replaced by PhysicsCallbacks.IPreContactCallback and PhysicsCallbacks.IPreContinuousCallback, one for each situation. The deprecated interface keeps working and still reports both, and a shape only uses it where the matching new interface is not implemented, so you can move over one at a time.
Physics 2DBreaking
Deprecated: Deprecated PhysicsWorld.WorldProfile.applyBounciness; bounciness is no longer a separate solver stage so it always reads as zero.
Physics 2DBreaking
Obsoleted: Removed PhysicsWorld and PhysicsWorldDefinition autoContactCallbacks and autoTriggerCallbacks properties as they are no longer required or used. The contact and trigger events are effectively free now and production of such events is still controlled on a per-shape basis so no behaviour has been lost.
Physics 2DBreaking
Obsoleted: Obsoleted Playable APIs Playable.SetDelay, Playable.GetDelay, as well as Playable.SetPlayState. The delay functionality can be implemented manually via ScriptPlayables, either by inserting a new playable in the chain which implements the delay, or by modifying the parent playable to handle the delay.
PlayablesBreaking
Deprecated: Deprecated PlayerSettings.gpuSkinning. Use PlayerSettings.meshDeformation instead.
ScriptingBreaking
Deprecated: HierarchyNodeTypeHandlerBase.SearchBegin(HierarchySearchQueryDescriptor), SearchMatch(in HierarchyNode) and SearchEnd() are obsolete. Use the overloads that take a HierarchyViewModel, since handlers are shared by every view model on a hierarchy.
ScriptingBreaking
Removed: Deprecated Hierarchy.GetAllNodeTypeHandlersBase has been removed.
ScriptingBreaking
Removed: Deprecated Hierarchy.GetAllNodeTypeHandlersBaseCount has been removed.
ScriptingBreaking
Removed: Deprecated Hierarchy.RegisterNodeTypeHandler has been removed.
ScriptingBreaking
Removed: Deprecated Hierarchy.SortChildren(HierarchyNode, bool) has been removed.
ScriptingBreaking
Removed: Deprecated Hierarchy.UnregisterNodeTypeHandler has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyCommandList.SortChildren(HierarchyNode, bool) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyFlattened.Hierarchy has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyFlattenedNodeChildren has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyNodeTypeHandlerBase constructor taking a Hierarchy parameter has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyNodeTypeHandlerBase.ChangesPending has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyNodeTypeHandlerBase.Dispose has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyNodeTypeHandlerBase.IntegrateChanges has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.ClearFlags(HierarchyNode, HierarchyNodeFlags, bool) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.DoesNotHaveAllFlags(HierarchyNode, HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.DoesNotHaveAllFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.DoesNotHaveAllFlagsCount has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.DoesNotHaveAnyFlags(HierarchyNode, HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.DoesNotHaveAnyFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.DoesNotHaveAnyFlagsCount has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.EnumerateNodesWithAllFlags has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.EnumerateNodesWithAnyFlags has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.EnumerateNodesWithoutAllFlags has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.EnumerateNodesWithoutAnyFlags has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithAllFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithAllFlags(HierarchyNodeFlags, Span<int>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithAnyFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithAnyFlags(HierarchyNodeFlags, Span<int>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithoutAllFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithoutAllFlags(HierarchyNodeFlags, Span<int>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithoutAnyFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetIndicesWithoutAnyFlags(HierarchyNodeFlags, Span<int>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithAllFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithAllFlags(HierarchyNodeFlags, Span<HierarchyNode>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithAnyFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithAnyFlags(HierarchyNodeFlags, Span<HierarchyNode>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithoutAllFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithoutAllFlags(HierarchyNodeFlags, Span<HierarchyNode>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithoutAnyFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.GetNodesWithoutAnyFlags(HierarchyNodeFlags, Span<HierarchyNode>) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.HasAllFlags(HierarchyNode, HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.HasAllFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.HasAllFlagsCount has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.HasAnyFlags(HierarchyNode, HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.HasAnyFlags(HierarchyNodeFlags) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.HasAnyFlagsCount has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.Hierarchy has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.SetFlags(HierarchyNode, HierarchyNodeFlags, bool) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewModel.ToggleFlags(HierarchyNode, HierarchyNodeFlags, bool) has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyViewNodesEnumerable has been removed.
ScriptingBreaking
Removed: Deprecated HierarchyWindow.InitializingView has been removed.
ScriptingBreaking
Removed: Removed the deprecated HierarchyViewModel.HierarchyFlattned.
ScriptingBreaking
Obsoleted: Deprecating UnityEngine.Rendering.Pool and standarizing UnityEngine.Pool across SRP packages.
SRP CoreBreaking
Deprecated: Marked the PositionAsUV1, TMP_TextElement_Legacy, FaceInfo_Legacy, TMP_Glyph, TMP_Sprite, KerningPair and KerningTable classes as deprecated (with a warning). Marked the GlyphValueRecord_Legacy struct as deprecated (with a warning). Marked the EventHandle enum as deprecated (with a warning). Marked TMP_SpriteAsset.spriteInfoList as deprecated (with a warning). Marked Scrollbar.ClickRepeat(PointerEventData eventData) deprecated (with a warning).
uGUIBreaking
Obsoleted: Marked the TMP_FontUtilities class as obsolete (with an error). Marked the KerningPairKey struct as obsolete (with an error). Marked the EventSystem.SetUITookitEventSystemOverride method as obsolete (with an error). Marked the Graphic.m_CachedMesh, Graphic.m_CachedUvs and Graphic.useLegacyMeshGeneration members as obsolete (with an error).
uGUIBreaking
Removed: Removed BaseMeshEffect.ModifyMesh(Mesh mesh). Removed BaseRaycaster.priority property. Removed EventSystem.lastSelectedGameObject property. Removed Graphic.OnPopulateMesh(Mesh m). Removed Image.eventAlphaThreshold property. Removed InputField.onValueChange property. Removed InputField.ScreenToLocal(Vector2 screen). Removed IGraphicEnabledDisabled interface. Removed IMeshModifier.ModifyMesh(Mesh mesh). Removed Mask.OnSiblingGraphicEnabledDisabled(). Removed PointerEventData.worldPosition and PointerEventData.worldNormal properties. Removed RaycastResult.document property. Removed Selectable.allSelectables property. Removed ShaderUtilities.isInitialized and ShaderUtilities.GetShaderPropertyIDs(). Removed StandaloneInputModule.InputMode enum. Removed StandaloneInputModule.inputMode, StandaloneInputModule.allowActivationOnMobileDevice and StandaloneInputModule.forceModuleActive properties. Removed StandaloneInputModule.ForceAutoSelect(). Removed TextMeshPro.textContainer property. Removed TMP_FontAsset.fontInfo property. Removed TMP_Text.enableWordWrapping and TMP_Text.enableKerning properties. Removed TMP_Text.SetText(string sourceText, bool syncTextInputBox = true). Removed TouchInputModule class.
uGUIBreaking
Removed: Removed the deprecated MovieTexture API.
VideoBreaking
Renamed the Sprite "Physics Shape" API and Sprite Editor tab to "Physics Outline" to avoid confusion with PhysicsCore2D's PhysicsShape. The old API is deprecated but still works and auto-upgrades.
2DBreaking
Removed the NetCoreRuntime from the Editor install.
EditorBreaking
Deprecated the Baked Occlusion Culling authoring workflow in the Editor. New projects no longer expose its authoring UI, while existing projects retain the workflow and baked data and display a deprecation notice. Consider migrating to GPU Occlusion Culling where supported.
GraphicsBreaking
Removed un-unused UnityAot2 Hashes.
IL2CPPBreaking
Removed assertions from ToFileDescriptor.
Unity Transport: The RoslynAnalyzerFix asset post-processor (and its assembly) have been removed from the package. This deprecated hook did not serve a purpose anymore since the analyzer was removed from the package in version 2.5.0.
Always automatically generate the NetcodeConfig singleton. This is a breaking change for any project that uses EntityManager.CreateSingleton<NetcodeConfig>() to create the singleton explicitly. You can update your code to use SystemAPI.GetSingleton<NetcodeConfig>() instead.
Netcode for EntitiesBreaking
Marked the Analytics Library package (com.unity.analytics) as deprecated. Migrate to Unity Analytics (com.unity.services.analytics).
PerformanceTestRunInfo.json and PerformanceTestRunSettings.json are no longer generated during player builds that do not include test assemblies, as they are only read by performance tests running inside the player. Stale files left behind by an aborted test build are removed before such builds instead of being included in them.
Performance Test FrameworkBreaking
Surface shaders are now marked as deprecated.
ShadersBreaking
Added: Added HierarchyViewColumnDescriptor.MinWidth to set the minimum width of a custom Hierarchy column.
Added: Enable Upscaling Framework by default.
HDRPAPI change
Added: Added "PhysicsShape.SetBatchDefinition" to set the same definition on a batch of shapes.
Physics 2DAPI change
Added: Added "PhysicsShape.SetCallbackTarget", "PhysicsBody.SetCallbackTarget" and "PhysicsJoint.SetCallbackTarget" to set the same callback target on a batch of objects.
Physics 2DAPI change
Added: Added "PhysicsShape.SetPhysicsGroup" to set the same physics group on a batch of shapes.
Physics 2DAPI change
Added: Added "PhysicsWorld.callbackTargetCount" to get the number of distinct callback targets in a world.
Physics 2DAPI change
Added: Enable Upscaling Framework by default.
SRP CoreAPI change
Added: Added ScrollView.touchScrollDirection to make the content move opposite to the pointer when dragged with touch or a tracked device.
Added: Enable Upscaling Framework by default.
URPAPI change
Changed: Added Render Shader User Value (RSUV) support to intermediate renderers.
2DAPI change
Added: Added EnergyUsage API to enable power monitor (CPU, GPU, TPU, display, memory) energy consumption reading.
Adaptive PerformanceAPI change
Added: Added CompileSdkSpec Gradle DSL classes.
AndroidAPI change
Added: Added support for SDK Platform 37.
AndroidAPI change
Added: Added support the new CPU/GPU utilization Adaptive Performance metrics via CPU/GPU headroom methods on Android.
AndroidAPI change
Added: Added the PowerMonitor energy consumption API to Adaptive Performance Android provider.
AndroidAPI change
Added: Added the PowerMonitor energy consumption API to Adaptive Performance Android provider.
AndroidAPI change
Added: Added ApplicationStartInfoProvider.GetHistoricalProcessStartReasons to retrieve ApplicationStartInfo records.
AndroidAPI change
Added: Added PlayerSettings.Android.compileSdkVersion to set the compile API level independently of the target API level, including sub-integer (major.minor) precision.
AndroidAPI change
Added: Added ``AndroidWindowInsets.GetBounds(Type)`` to get the screen-space rect where an overlapping inset covers the game view.
AndroidAPI change
Added: Added ``AndroidWindowInsets.SetAppearance / GetAppearance`` runtime API to control system bar icon appearance (Light/Dark) per inset type.
AndroidAPI change
Added: Added ``AndroidWindowInsets.SetOverlapping / GetOverlapping`` runtime API to control which insets overlap with the game view.
AndroidAPI change
Added: Added ``AndroidWindowInsets.SetSystemBarsBackground / GetSystemBarsBackground`` runtime API to control system bars background transparency.
AndroidAPI change
Added: Added ``AndroidWindowInsets.Show(Type type, Type overlapping)`` overload to atomically show insets and set overlapping in a single operation.
AndroidAPI change
Added: Added ``PlayerSettings.Android.GetInsetsAppearance / SetInsetsAppearance`` editor API to configure per-inset appearance at build time.
AndroidAPI change
Added: Added ``PlayerSettings.Android.requestedOverlappingInsets`` to configure which insets the game view can draw behind (edge-to-edge rendering) at build time.
AndroidAPI change
Added: Added ``PlayerSettings.Android.systemBarsBackground`` editor property to configure system bars background (Opaque/Transparent) at build time.
AndroidAPI change
Changed: Reduced public API surface of the Android Java player library (com.unity3d.player) by making internal classes and methods package-private. Affected classes - ApplicationExitInfoBase, ApplicationExitInfoProvider, AudioVolumeHandler, Camera2Wrapper, GoogleARCoreApi, HFPStatus, MultiWindowSupport, NativeLoader, NetworkConnectivity, OrientationLockListener, PermissionRequest, PlatformSupport, StaticSplashscreen, UnityGameManager, UnityGameState, UnityPermissions, VideoPlayer, TimeoutThread, UnityPlayer.kbCommand, IFrameReady, IPermissionRequestCallbacks, VideoPlayer.StateCallback. Affected methods - UnityPlayer.getNetworkProxySettings(java.lang.String), UnityPlayer.startOrientationListener(int), UnityPlayer.stopOrientationListener(), UnityPlayer.setMainSurfaceViewAspectRatio(float).
AndroidAPI change
Changed: Moved AnimationPlayableOutputExtensions and AnimationStreamSource out of experimental. Projects will be upgraded automatically with the new namespace.
AnimationAPI change
Added: AssetImportContext.DependsOnArtifact overloads that take a UnityEngine.Object or a LazyLoadReference<T>, so a scripted importer can declare an artifact dependency directly from an object or lazy reference.
Asset ImportAPI change
Added: Added seeking support to scriptable processors and audio clips used as generators.
AudioAPI change
Added: Added a new AssetPostprocessor.OnProcessScene callback used when loading scenes in playmode or during a build as a deterministic replacement to IProcessSceneWithReport.OnProcessScene.
Build PipelineAPI change
Added: Allow for extra scripting defines when using BuildPlayer with BuildPlayerWithProfileOptions.
Build PipelineAPI change
Added: GameObjectUtility.AllStaticEditorFlagsSet returns true only if all of the requested StaticEditorFlags are set.
CoreAPI change
Added: GameObjectUtility.AnyStaticEditorFlagsSet returns true if any of the requested StaticEditorFlags are set.
CoreAPI change
Changed: Added new abstractions for progressive asset loading.
CoreAPI change
Added: Added a new public API to ease discoverability of available Main Toolbar elements.
EditorAPI change
Added: Added a new RequiresInsights attribute. Packages and user code can use it to declare a dependency on the Insights module, which ensures the module is included in the build.
EditorAPI change
Added: Added APIs to insert custom entries in the Graph and Blackboard right-click menus.
EditorAPI change
Added: Added HierarchyViewColumnDescriptor.MinWidth to set the minimum width of a custom Hierarchy column.
Added: Added more alloc-free APIs for TextElement.
EditorAPI change
Added: Added public text API to generate text using ATG.
EditorAPI change
Added: Added right click menu support for state machine.
EditorAPI change
Added: Added Span/ReadOnlySpan for applicable editor APIs.
EditorAPI change
Added: Added the MainToolbarCustomElement API to the customizable toolbar to enable the creation of custom VisualElements.
EditorAPI change
Added: Added the UnityEditor.EditorDialogEvents API, which raises dialogWillShow and dialogDismissed events when a native or custom modal dialog appears in the Editor. External tooling can use these events to detect that the Editor's main thread is blocked by a dialog instead of appearing hung.
EditorAPI change
Added: Added CompassSensor, exposing magnetic heading, true heading, raw geomagnetic vector, and heading accuracy as the parity equivalent of UnityEngine.Input.compass.
EditorAPI change
Added: Added EditorUserBuildSettings.activeNamedBuildTarget and BuildSummary.namedBuildTarget.
EditorAPI change
Added: GTK : Custom state machine conditions can now customize their row in the transition inspector.
EditorAPI change
Added: GTK : New API added to have icons for Conditions, logic groups, transition rules and transitions, shown on their row in the transition inspector.
EditorAPI change
Added: Introduced support for Unity Registry packages adding references to on-disk assets to a build profile.
EditorAPI change
Added: Introduced support for Unity Registry packages adding references to on-disk assets to a build profile.
EditorAPI change
Added: Project Auditor: Added migration areas to support adding migration rules.
EditorAPI change
Added: Project Auditor: Added Descriptor.IsSupported so analyzers can check if an issue is valid for the current platform and version.
EditorAPI change
Added: Project Auditor: Exposed various APIs to enable packages and user code to write rules.
EditorAPI change
Added: Project Auditor: exposed ShadersModule.OnAnalysisStarted.
EditorAPI change
Added: Implemented visibility, focus and resizability APIs for Windowing.
EmbeddedLinuxAPI change
Added: Implemented window focus, visibility, and destruction event system APIs in Windowing.
EmbeddedLinuxAPI change
Added: Added the CompanionComponent<T> unmanaged wrapper and the EntityManager.GetCompanion<T> extension so that companion components can be read from systems without using the obsolete managed component API.
EntitiesAPI change
Added: ChunkEntityEnumerator.IsSparse and .NextEntityIndexBatch were added to support cases where code needs to branch on sparse chunks, and would prefer batched APIs for performance reasons.
EntitiesAPI change
Changed: IDebugOnAdded and IDebugOnRemoved callback signatures now require Entity parameter. Update callbacks from OnAdded(ref T component) to OnAdded(Entity entity, in T component).
EntitiesAPI change
Added: Added an API for creating, loading and unloading procedurally generated LightProbes objects.
GIAPI change
Added: Added LODGroup.globalIlluminationLOD, Renderer.lodGroupMask and the Unity.Rendering.GlobalIlluminationLOD component.
GIAPI change
Added: Let render pipelines opt out of the baked divide-by-PI convention.
GIAPI change
Added: Added a new API to access the root VisualElement of Nodes.
Graph ToolkitAPI change
Added: Added a new API to access the root VisualElement of States.
Graph ToolkitAPI change
Added: Added a new overload to Graph.AddVariableNode that allows variable nodes to be created with a specific mode. Added a Mode getter to IVariableNode to get the current VariableNodeMode of the variable node.
Graph ToolkitAPI change
Added: Added an API to edit Group Conditions.
Graph ToolkitAPI change
Added: Added an overload to Graph.UndoBeginRecordGraph taking a param array of Node objects. Passing nodes here will track changes to serialized fields on user defined nodes, ensuring they are tracked by the undo system and that the graph is dirtied when these fields are modified.
Graph ToolkitAPI change
Added: Added public API for customizing state accent visuals in editor and runtime.
Graph ToolkitAPI change
Added: Added public API for customizing state transition visuals in editor and runtime.
Graph ToolkitAPI change
Added: Added state options. Implemented by overriding State.OnDefineOptions on a State, and accessed through IStateOption. State options appear in the Inspector when the state is selected.
Graph ToolkitAPI change
Added: Added StateMachine.OnStateMachineChanged() public API.
Graph ToolkitAPI change
Added: Added the following properties on Graph: SupportedTypes, AvailableVariableTypes and AvailableConstantTypes. Added the following methods on Graph: BuildAvailableVariableTypes and BuildAvailableConstantTypes. Graph devs can now customize which variable types their end users have access to in the blackboard and constant types in the graph item library. Types added using BuildAvailableConstantTypes and BuildAvailableConstantTypes are implicitly added to SupportedTypes.
Graph ToolkitAPI change
Added: Added the DataTypeStyleMapper.Register(System.Type dataType, UnityEngine.Color color) overload to allow changing the color of a data type while showing a default icon.
Graph ToolkitAPI change
Added: Added IInputPortBuilder.WithDataTypes and IOutputPortBuilder.WithDataTypes APIs to define a port as Polymorphic (a port that accepts multiple data types).
Graph ToolkitAPI change
Added: Added IPort.TrySetDataType API to programmatically change the data type of a polymorphic port.
Graph ToolkitAPI change
Added: Added Node.OnPortDataTypeChanged callback that is triggered when a user changes the data type of a polymorphic port.
Graph ToolkitAPI change
Added: Extend ITransition to add abilities to manage ITransitionRules.
Graph ToolkitAPI change
Added: Extend the StateMachine class to add the ability to manage transitions between states.
Graph ToolkitAPI change
Added: The Graph Toolkit state machine authoring API is now public, letting you define custom state-machine graph assets (with custom states, transitions, conditions, and variables) from editor scripts.
Graph ToolkitAPI change
Added: Added Default Mesh Buffer Target to project graphics settings.
GraphicsAPI change
Added: Added Graphics.disableDepthAndStencilBuffers, a read-only property that returns whether Disable Depth and Stencil Buffers is enabled in Player Settings.
GraphicsAPI change
Added: Enable Upscaling Framework by default.
HDRPAPI change
Added: Added a new DeviceOrientationSensor device that provides feature parity with UnityEngine.Input.deviceOrientation.
Input SystemAPI change
Added: Added internal plumbing for the Input System package to be able to extract Device Orientation similar to Input Manager.
Input SystemAPI change
Added: Introducing user module version for UnityAPI module for Swift project type.
iOSAPI change
Added: Added MemoryLabel.Create.
KernelAPI change
Added: The former com.unity.collections has been moved into an engine module, namely ManagedKernelModule. It is now available irrespective of whether the package is used, and the package is reduced to a set of typeforwarders. As part of this move, the scripting define UNITY_DOTS_DEBUG no longer controls extra checks in players in Native and Unsafe collections (although it still does control many extra checks in Entities); now you need to use the Checked (or Debug) managed code variant to include those checks in player builds.
Added: Added support for replicating non-uniform (3D) scale via the Unity.Transforms.PostTransformMatrix component, using the new built-in PostTransformMatrix3DScaleVariant. Rather than sending the full float4x4 matrix, only the per-axis scale is extracted and replicated (as three quantized floats by default). Existing ghost prefabs will have the DontSerializeVariant set by default for PostTransformMatrix to not break existing behavior. Use the new SubType = GhostFieldSubType.PostTransformMatrixScale to create your own Variants.
Netcode for EntitiesAPI change
Added: Added PhysicsSceneLoadScope which can be used to control which physics scene is used when loading a unity scene asset. This effectively allows grouping multiple unity scenes under a specific physics scene.
PhysicsAPI change
Added: Added "ChainSegment.UpdateSegments()" to update the segments. This compliments the existing "ChainSegment.CreateSegments()".
Physics 2DAPI change
Added: Added "Get()" extension method to all Physics "object" types to allow users to work around not being able to use a setter property on a returned object without first assigned to a local variable. Added to PhysicWorld, PhysicsBody, PhysicsShape, PhysicsChain, PhysicsJoint and all concrete PhysicsJoints.
Physics 2DAPI change
Added: Added "PhysicsShape.SetBatchDefinition" to set the same definition on a batch of shapes.
Physics 2DAPI change
Added: Added "PhysicsShape.SetCallbackTarget", "PhysicsBody.SetCallbackTarget" and "PhysicsJoint.SetCallbackTarget" to set the same callback target on a batch of objects.
Physics 2DAPI change
Added: Added "PhysicsShape.SetPhysicsGroup" to set the same physics group on a batch of shapes.
Physics 2DAPI change
Added: Added "PhysicsUserData.vector3IntValue" property of type Vector3Int. This will allow per-shape tilemap position references.
Physics 2DAPI change
Added: Added "PhysicsWorld.callbackTargetCount" to get the number of distinct callback targets in a world.
Physics 2DAPI change
Added: Added a "massOverride" property to PhysicsBody and PhysicsBodyDefinition that selects which of the mass, rotational inertia and center of mass use authored values instead of being calculated from the attached shapes.
Physics 2DAPI change
Added: Added a "PhysicsEvents.WorldTransformPlaneChange" event which is called when a PhysicsWorld transform plane is changed.
Physics 2DAPI change
Added: Added a batch overload of "SetOwnerUserData()" to PhysicsShape, PhysicsBody, and PhysicsJoint.
Physics 2DAPI change
Added: Added a selectedDrawing property to PhysicsBody, PhysicsShape and PhysicsJoint, batch SetSelectedDrawing methods, and PhysicsWorld.ClearDrawSelected, so individual objects can be drawn persistently when the world is drawn.
Physics 2DAPI change
Added: Added a static PhysicsWorld.DrawShapes method that draws a span of shapes into their worlds.
Physics 2DAPI change
Added: Added an autoAxis option to the slider and wheel joint definitions that derives the joint axis from the joint anchors when the joint is created.
Physics 2DAPI change
Added: Added an extension method to "NativeArray<T>" of "Filter()", providing a lazy, allocation-free, Burst-compatible filtered view over physics result arrays (object creation, queries, events, and other operations). We've added a "IPhysicsResultFilter<T>" and "PhysicsResultEnumerable<T, TFilter>" to allow custom filter methods to be used.
Physics 2DAPI change
Added: Added an owner key overload to PhysicsShape "DestroyBatch()", PhysicsBody "DestroyBatch()", and PhysicsJoint "DestroyBatch()", plus their PhysicsWorld "DestroyShapeBatch()"/"DestroyBodyBatch()"/"DestroyJointBatch()" equivalents.
Physics 2DAPI change
Added: Added an owner overload to PhysicsShape "CreateShapeBatch()" and PhysicsBody "CreateBatch()", plus the PhysicsWorld "CreateBodyBatch()" equivalent.
Physics 2DAPI change
Added: Added batch setters for user data, owner user data, contact filter and surface material on PhysicsShape, PhysicsBody and PhysicsJoint.
Physics 2DAPI change
Added: Added autoAnchorA and autoAnchorB properties to PhysicsJoint and PhysicsJointDefinition.
Physics 2DAPI change
Added: Added autoDistance property to PhysicsDistanceJoint and PhysicsDistanceJointDefinition.
Physics 2DAPI change
Added: Added PhysicsWorld.drawAtTransform and PhysicsWorldDefinition.drawAtTransform to draw bodies, shapes, and joints at their assigned Transform's pose instead of their simulated physics pose.
Physics 2DAPI change
Added: Added PhysicsWorld.ExplosionDefinition.useTriggers to control whether an explosion applies an impulse to trigger shapes.
Physics 2DAPI change
Added: Added PhysicsWorld.minEdgeLength, PhysicsWorld.minPolygonEdgeLength, and PhysicsWorld.minPolygonCollinearDistance to expose geometry validity thresholds, and an areEdgesValid property to SegmentGeometry, CapsuleGeometry, ChainSegmentGeometry, and PolygonGeometry to check a geometry's edges against them.
Physics 2DAPI change
Added: Added PhysicsWorld.stateHash, which returns a hash of the current state of the world. Use it to compare the state of two worlds, for example when checking that a simulation is deterministic. The value is recalculated over the whole world each time you read it, so avoid reading it every frame.
Physics 2DAPI change
Added: Added PhysicsWorld SetName() and GetName() methods to allow assigning of a 64 character name to help with world identity during debugging.
Physics 2DAPI change
Added: Added: "PhysicsMath.TryGetRelativeMatrix2D()" and "PhysicsMath.TryGetPlaneMatrix2D()", which compute a 2D relative transform without ever returning a NaN result for a degenerate or flattened scale. These are often required when authoring components and help calculate relative transformation between two in a Transform hierarchy.
Physics 2DAPI change
Added: Added: PhysicsBody, PhysicsShape and PhysicsJoint now each have a "drawTarget" property, selecting which Unity editor views (Scene view, Game view or both) the object is drawn into when the world is drawn.
Physics 2DAPI change
Changed: The batch and span setters on "PhysicsBody", "PhysicsShape" and "PhysicsJoint", along with "PhysicsWorld.Simulate", "PhysicsWorld.DrawShapes", "PhysicsSpace.SetBatchProxyAABB" and "PhysicsSpace.SetBatchProxyCategories", now return the number of items ignored because they were invalid and log a single warning when any are ignored.
Physics 2DAPI change
Changed: Added an optional Display Name property to ProfilerCounterDescriptor for improved readability.
ProfilerAPI change
Added: Implemented visibility, focus and resizability APIs for Windowing.
QNXAPI change
Added: Implemented window focus, visibility, and destruction event system APIs in Windowing.
QNXAPI change
Added: Added CoreCLR ScriptingImplementation enum value exposing CoreCLR player support.
ScriptingAPI change
Added: Added the IVariantSelector interface, which you can implement to define custom variants for the localization system.
ScriptingAPI change
Added: New public API, Detach(node) and DetachChildren(node) on Hierarchy and HierarchyCommandList. A detached node keeps its data map entry but is unreachable from Root.
ScriptingAPI change
Added: New public API, IHierarchyNodeTypeHandlerViewModelState, and GetOrCreateHandlerState<T>, TryGetHandlerState<T> and DestroyHandlerState on HierarchyViewModel, for node type handler state that belongs to a single view model. HierarchyNodeTypeHandlerBase.SearchBegin, SearchMatch and SearchEnd gained overloads taking the HierarchyViewModel running the search.
ScriptingAPI change
Added: [Scripting] IL2CPP code coverage support.
ScriptingAPI change
Added: Added SetBufferData to Raster/Unsafe command buffers and allow SetComputeBufferData for all APIs.
SRP CoreAPI change
Added: Enable Upscaling Framework by default.
SRP CoreAPI change
Added: Added TestRunProfiler custom spans API.
Test FrameworkAPI change
Added: Added read-only glyph metrics API to FontAsset.
Added: Added LayoutRebuilder.IsLayoutRebuildPending and LayoutGroup.IsLayoutPending() to check whether a UI element still has a pending layout rebuild.
uGUIAPI change
Added: Added api for measuring Min-content text.
UI ToolkitAPI change
Added: Added APIs FindPanelRenderer and FindUIDocument.
UI ToolkitAPI change
Added: Added ScrollView.touchScrollDirection to make the content move opposite to the pointer when dragged with touch or a tracked device.
Added: Added support to capture a VisualElement to a RenderTexture.
UI ToolkitAPI change
Added: Added the public UnityEngine.EventCommandNames class, which provides the command name constants that the Editor sends with its command events, such as Copy, Paste, and FrameSelected.
UI ToolkitAPI change
Added: Added z-index USS property support for controlling the stacking order of overlapping elements within a stacking context. Enable via Project Settings > UI Toolkit > Experimental Renderer Features > Enable Z-Index.
UI ToolkitAPI change
Added: Added IFormattingExtensionsToggle to Smart Strings, which lets a source skip formatter extensions for the placeholder it resolved.
UI ToolkitAPI change
Added: Added ParserSettings.SelectorCharFilter and SelectorFilterType to Smart Strings. Set the filter to VisualUnicodeChars to use characters from any script in a selector.
UI ToolkitAPI change
Added: Added PluralRules.RestoreDefault to Smart Strings, which restores the built-in pluralization rules.
UI ToolkitAPI change
Added: Added UxmlSerializedDataPropertyDrawer, UxmlAttributeField, and UxmlAttributeFieldDecorator to support custom property drawers for UI Toolkit elements in the Inspector.
UI ToolkitAPI change
Added: Experimental VisualElement Components.
UI ToolkitAPI change
Added: Added 4 overloads for DrawProceduralIndirect that add a count parameter and an optional indirect count buffer for Multi Draw Indirect.
URPAPI change
Added: Enable Upscaling Framework by default.
URPAPI change
Changed: Added CLI args to Integration and Runtime test runners to select target browser and platform.
UTRAPI change
Added: Added new "Maximum Size Reduction" and "Maximum Size Reduction with LTO" Code Optimization settings. When enabled this will further optimize compiled IL2CPP code as well as apply extra link time optimizations (these are distinct from LTO). Testing across multiple projects and devices showed that compared to the default "Shorter Build Time" setting, "Maximum Size Reduction" reduces code size by an average of 28.50% at the cost of 5.25% frame time performance regression.
WebAPI change
Added: Added performance.measureUserAgentSpecificMemory to web diagnostics overlay to calculate used JS memory.
WebAPI change
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. (UUM-156931) Fixed in 6000.7.0b7.
Fixed an issue where a Tilemap did not instantiate the GameObjects of its tiles on every other scene load or Play mode entry. (UUM-155958) First seen in 6000.7.0b2. Fixed in 6000.7.0b7.
Reduced CPU cost of 2D lights and shadow casters that do not use a custom material. (UUM-154097) First seen in 6000.7.0b1. Fixed in 6000.7.0b7.
Player stops responding permanently when scenes are repeatedly switched with SceneManager.LoadSceneAsync
“Overflow in memory allocator. UnityEditor.GUIView:ProcessEvent (UnityEngine.EntityId,intptr,bool&)“ pop-up warning when opening a specific scene
Handle out of memory on very large texture creations (UUM-157106) Fixed in 6000.7.0b7.
Fixed the new Hierarchy not showing any game objects when entering an Avatar Configuration Stage. (UUM-155256) Fixed in 6000.7.0b7.
[macOS] Player libraries are code signed with bespoke entitlements
Fixed an issue where FSR2 upscaler resources leaked GPU memory each time HDRP rebuilt the render pipeline, for example after a quality level change. (UUM-154186) Fixed in 6000.7.0b7.
[WinEditor] Play Mode framerate drops significantly when moving the mouse cursor with high polling rate
[macOS] An asset dragged from the Project window onto the Inspector is not dropped on mouse release, only after the cursor is moved again
Address performance of three expensive [OnCodeLoaded] sites. (UUM-154552) First seen in 6000.7.0b4. Fixed in 6000.7.0b7.
RenderPass related Android errors are logged in Logcat and Console when physically rotating the device
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. (UUM-156827) First seen in 6000.7.0b5. Fixed in 6000.7.0b7.
Fixed unsaved elements of a new UI Document being lost after entering and exiting Play Mode. (UUM-156727) First seen in 6000.7.0b5. Fixed in 6000.7.0b7.
Fixed unsaved UXML changes being discarded in UI Builder when "Open selector in IDE" was used while the style sheet had unsaved changes. (UUM-156629) First seen in 6000.7.0b5. Fixed in 6000.7.0b7.
Fixed a performance regression when using per-light soft shadows quality. (UUM-156462) First seen in 6000.7.0b2. Fixed in 6000.7.0b7.
Fixed Screen Space Ambient Occlusion Renderer Feature error spam when tile-only mode is enabled. (UUM-155149) First seen in 6000.7.0b3. Fixed in 6000.7.0b7.
Rendering no longer stops on Quest 2 with OpenGL ES3 when a scene changes the MSAA level. (UUM-153015) First seen in 6000.7.0a1. Fixed in 6000.7.0b7.
Improved the security of model import by updating the bundled Autodesk FBX SDK to 2020.3.11, addressing two buffer-overflow vulnerabilities in FBX file parsing.
Fixed an issue where selecting a sample in the CPU Usage module's New Timeline view did not select it in the Timeline and Hierarchy views, and vice versa. (UUM-153387) First seen in 6000.7.0b2.
ProfilerUUM-153387
New Profiler module for Physics Core 2D.
2D
Split the UnityFramework target and created public API module UnityFrameworkAPI.
iOS
Added a *Web Requests module to the Profiler* window, which reports the UnityWebRequest activity of the application you are profiling:
Networking
Added a security confirmation prompt based on the security level selected in Project Settings.
Package Manager
Added a Security setting in Project Settings > Package Manager to control which package sources and signature levels are trusted in the project.
Package Manager
Added a packageSecurityPolicy CLI argument to set the security policy level when creating a project from the command line.
Package Manager
Added log warnings for installing Limited Trust packages when a project's package security level is Trusted packages only.
Package Manager
Added security warnings and messages to the package list and details, based on the security level selected in Project Settings.
Package Manager
Show the popup at project open when installed packages have signature or security compliance issues that don't meet the security level selected in Project Settings, and update its message.
Package Manager
Added an information panel to the Profiler's 'Screenshots' module. You can toggle the panel from the module toolbar. It shows: The selected frame number, and the resolution and source frame of the displayed screenshot. A notice when the displayed screenshot is older than the selected frame. The CPU and GPU frame times, highlighted when they exceed the target frame time.
Profiler
Added Smart Strings, a built-in module based on SmartFormat for formatting dynamic strings with named placeholders, pluralization, and conditional logic.
Scripting
Added the localization module, an improved version of the Localization package. Migration support is available. For more information, refer to the documentation.
UI
Improved performance of Physics3D module when building with "WebAssembly 2023" option.
Web
Added an error message to help users resolve Android SDK license acceptance issues that cause build failures.
Android
Improved the security of model import by updating the bundled Autodesk FBX SDK to 2020.3.11, addressing two buffer-overflow vulnerabilities in FBX file parsing.
Added GPU Resident Drawer batching stats (Unique Materials, Unique Meshes, Single-Instance Batches) to the Game View Statistics window, and a "GRD Batches" chart to the Profiler's Rendering module.
Editor
The Entities Memory Profiler module now uses the QuickSearch search field for filtering archetypes.
Entities
Introducing a number of command-line arguments and environment variables related to the cache server (making it possible to disable upload and download from/to the cache server of specific types of importers).
Asset PipelineServer
Added a -CPULightmapper=no command line switch to the Windows Editor installer that skips installing components only the CPU Progressive Lightmapper requires, currently the end-of-life Microsoft Visual C++ 2010 runtime.
Added localization package 2.0. This version is designed to work with the built in localization module.
Package
Updated the icons for Installed, Refresh, Installed as dependency and removed the icons for available for import, and available for download.
Package Manager
Windows builds now link the Visual C++ runtime dynamically instead of statically, and Unity copies the required Visual C++ runtime DLLs (such as vcruntime140.dll and msvcp140.dll) into the build output next to the executable. A new "Copy Visual C++ runtime libraries" option under Publishing Settings (on by default) lets you skip copying them if you install the redistributable another way, for example via your own installer or a distribution platform such as Steam.
Windows
Fixed Visual Scripting nodes (bottleneck, thermal, performance level, boost, performance mode, and scaler events) no longer firing in the player after Adaptive Performance moved into the engine module. The events are now forwarded to the Visual Scripting EventBus from the adaptive performance samples package assembly, where the VISUAL_SCRIPTING_ENABLED define is active.
Adaptive PerformanceUUM-135587
Disabled Open Frame Debugger from the UITK profiler Toolbar when running a standalone profiler.
EditorUUM-144370
Fixed a typo in the services-gateway fallback URL that could cause sign-in and Cloud services to fail on Editors launched via Hub when the remote config CDN was unreachable.
EditorUUM-149207
Internal hardening of the Hub-mode service configuration handling. No user-visible behavior change.
EditorUUM-149208
XR: Removed the obsolete and unused AR module, the UnityPlayer.initializeGoogleAr() method, and the use of the unity.arcore-enable manifest metadata key.
EditorXR
Added a small left and right panel padding to the Project Settings page for PhysicsCore2D module so it doesn't touch the window border.
Physics 2D
Fixed an inconsistent seam line between the image and frame number on Profiler Screenshots module thumbnails.
ProfilerUUM-152561
Fixed an InvalidOperationException that could be thrown in the Profiler window when the Physics (2D) module was selected and another Editor window was maximized or restored.
ProfilerUUM-151943
Fixed an issue where opening the profiler window with the physics CPU module open would throw a InvalidOperationException.
ProfilerUUM-143704
Fixed black bars and missing section titles in the Memory module's details view.
ProfilerUUM-145754
Fixed frame-number labels overlapping in the Screenshots module's timeline view when Game View captures used a narrow aspect ratio.
ProfilerUUM-152532
Fixed Highlights module not redrawing captured frame data when re-enabled.
ProfilerUUM-144840
Fixed inability to create a details view for CPU Usage module following deletion of a custom module.
ProfilerUUM-149160
Fixed the CPU Usage module's New Timeline view not being restored when reopening the Profiler window.
Profiler
Fixed the Highlights module's 'Target FPS' label being clipped when showing large values.
ProfilerUUM-137768
Added mipmap Warning Icon to the Editor and update Timeline Track warning icon to the standard Warning Icon.
TimelineUUM-131155
17.0.1 to 17.0.2
16.0.0 to 16.0.1
17.0.0 to 17.0.1
10.0.0 to 10.0.1
7.0.0 to 7.0.1
5.0.0 to 5.0.1
4.1.0 to 4.1.1
1.4.0 to 1.4.2
6.1.2 to 6.1.3
4.0.0 to 4.0.1
2.0.15 to 2.0.16
2.3.3 to 2.4.0
1.3.0 to 1.4.0
1.0.0-pre.1 to 1.0.0-pre.2
Added EntityIDTile/Base which can be used with Tilemap jobs and Burst.
2DFeature
Light 2D now exposes an optional custom Material, letting a light be drawn by an authored shader instead of URP's built-in one. Available on every light type except Global.
2DFeature
Light 2D now exposes an optional custom shadow Material, letting the shadows a light casts be drawn by an authored shadow shader instead of URP's built-in one. Requires the Enhanced 2D shadow geometry version.
2DFeature
Light2D now exposes an optional custom Material, and Light2D meshes (Freeform, Point/Spot) now carry position-derived UVs so custom light shaders can sample textures across the light's extents.
2DFeature
New Light2D ShaderGraph SubTarget for authoring custom light shaders.
2DFeature
New Light2D ShaderGraph target for authoring custom 2D light shaders, with Color, Shadow Color and Volumetric Color fragment ports. Create one from Assets > Create > Shader Graph > URP > Light 2D Shader Graph.
2DFeature
New Shadow Caster 2D ShaderGraph target for authoring custom 2D shadow shaders, with Position, Shadow Displacement, Side Softness and Back Softness vertex ports and an Alpha fragment port. Create one from Assets > Create > Shader Graph > URP > Shadow2D Shader Graph.
2DFeature
New Shadow2D ShaderGraph SubTarget for authoring custom 2D shadow shaders, with Position and Shadow Distance vertex ports and an Alpha fragment port.
2DFeature
Shadow geometry generation is now pluggable, and a new soft shadow generator produces finite-length shadows with a soft penumbra.
2DFeature
ShadowCaster2D now exposes an optional custom Material, letting a shadow caster be drawn by an authored shadow shader instead of URP's built-in one.
2DFeature
Added a *Generate Accessibility Hierarchy toggle to the UI Document and Panel Renderer Inspectors, and the matching UIDocument.generateAccessibilityHierarchy and PanelRenderer.generateAccessibilityHierarchy properties, to opt individual components out of the generated hierarchy. The toggle is visible and takes effect only while the Generate Accessibility Hierarchies for Runtime Panels setting in Project Settings > UI Toolkit* is enabled.
AccessibilityFeature
Added experimental screen reader support for runtime UI Toolkit panels on Android, iOS, macOS, and Windows. The new *Generate Accessibility Hierarchies for Runtime Panels setting in Project Settings > UI Toolkit* makes UI Toolkit automatically generate and maintain accessibility hierarchies for the participating runtime panels of the application's main window, so screen readers (Narrator, VoiceOver, TalkBack) can read and operate UI Toolkit content in player builds. In this first version, only buttons, labels, and toggles (including controls derived from them) are exposed as operable controls; other elements are announced by their text when one can be derived, but don't yet expose control-specific roles or interactions. This feature is experimental and not ready for production use.
AccessibilityFeatureAndroidiOSWindowsmacOS
Added CPU and GPU utilization indexer integration for adaptive performance.
Adaptive PerformanceFeature
Added edge-to-edge rendering support with new APIs to control inset overlapping, system bars appearance, and background transparency, enabling full control over how status bar and navigation bar interact with the game view, requires Android 11+.
AndroidFeature
Added support for adaptive TV banners and monochrome icons for Android adaptive icons.
AndroidFeature
Added Vector Drawable Support for Icons.
AndroidFeature
Input System rumble support for tvOS.
Apple TVFeaturetvOS
Added an ImporterGlobalSettings singleton type that can be used to host global importer settings and is correctly synched on import workers.
Asset ImportFeature
Added Scriptable Effects to Scriptable Audio Pipeline (SAP).
AudioFeature
Removed the feature flag related to the Enhanced Audio Foundation. The Audio Foundation property will now always be visible in the project's global audio settings in the Editor. We still default to Classic mode, but Enhanced mode is now an option.
AudioFeature
Unity now provides a built-in Ambisonic Decoder Plugin for Quad+ setups. You use this decoder directly to decode first, second or third order Ambisonic clips into Quad, 5.0, 5.1, 7.1 or 7.1.4 output layouts. You can find more information about this in the Unity Manual.
AudioFeature
Added beta sweepstakes opt in to bug reporter.
Bug ReporterFeature
Added button to change bug reporter theme.
Bug ReporterFeature
Make MSBuild script compilation pipeline selectable in project settings.
Build PipelineFeature
Make MSBuild script compilation pipeline selectable in project settings.
Build PipelineFeature
Added a copy and paste function for the adaptive performance component in build profiles. Copy and paste is viable if the source is fully copyable to the target.
EditorFeature
Added a new instability detection feature to the consistency checker, for when multiple cached import results match the current context/environment. This indicates missing or inconsistent dependencies on the related importer.
EditorFeature
Added ability to edit the text of some controls such as buttons, labels directly in the viewport using the new menu action Edit or double-clicking on the element.
EditorFeature
Added Battery Mode for Adaptive Performance.
EditorFeature
Added Current & Runtime Targets and Severity Breakdown to "Move to CoreCLR" section in Project Auditor.
EditorFeature
Added editing actions (cut, copy, paste, ...) to the ui Viewport context menu.
EditorFeature
Added Jobs Profiler that can be selected as experimental timeline view in the Profiler Window.
EditorFeature
Added Migration Wizard to the Universal Render Pipeline.
EditorFeature
Added support for Build Destination Override in Build Profiles.
EditorFeature
Added support for multiple instances of the *UI Builder* window.
EditorFeature
Added the ability for menu items to be pinned to the customizable main toolbar via the toolbar contextual menu. These elements persist across sessions and are compatible with presets.
EditorFeature
Implement Advanced Text (ATG) in TextMeshPro as an experimental opt-in.
EditorFeature
Previews for items will show when performing a Drag and Drop on macOS.
EditorFeaturemacOS
Project Auditor: Add a package version database, so users know about package upgrades during Editor upgrades.
EditorFeature
Project Auditor: Added the Target Framework column to the Precompiled Assemblies table.
EditorFeature
Project Auditor: initial migration pages for help moving to URP and CoreCLR.
EditorFeature
Project Auditor: suppress issues based on their ID. Similar to how IDE's allow suppression of compiler warnings.
EditorFeature
Swift Project Type is no longer experimental.
EditorFeature
The Editor can now build experimental CoreCLR Player builds for Windows, macOS, and Linux.
EditorFeatureWindowsmacOSLinux
The Hierarchy window now displays the number of matching items inside the search bar when searching.
EditorFeature
UI Toolkit: Added a Track Screen Space Position toggle to the Panel Renderer component. This lets you make a screen space UI element, such as a health bar, follow a target in the 3D world without scripting.
EditorFeature
Unity Render Service (URS) is now available in the Build Settings window.
EditorFeature
Added configurable memory budgets for Entities archetype and query allocators in Project Settings > Memory, with per-platform settings support.
EntitiesFeature
Added id= search filter to find entities by their index (e.g., id=27869) or full ID with version (e.g., id=27869:3).
EntitiesFeature
Entities Memory profiler now shows allocator budget usage per world to identify when allocators approach their 16 MB limits.
EntitiesFeature
Pressing F (Frame Selected) in the Scene View now frames the camera on selected entities.
EntitiesFeature
Now supports setting the VariableNodeMode of a variable node. A variable node can operate in one of two modes: Get and Set. When a variable node is in Set mode, a new Value input is added to the node, making it possible to set the variable's value directly in the graph. It is possible to set the mode of a variable node through its inspector using the Allow to set value in graph checkbox.
Graph ToolkitFeature
URP Upscaler Priority List.
GraphicsFeature
Added support for image build settings to distribute reference images through embedded packages.
Graphics TestsFeature
Added a string-argument overload to [StubBodyIfTypeNotUsed] so that the target type can be named across an assembly boundary that the caller does not reference.
IL2CPPFeature
Added experimental support for IL2CPP targeting .NET on iOS. In this mode, the iOS player executes against a .NET 10 base class library (BCL). This is enabled on iOS by selecting the .NET Standard 2.1 - .NET Preview (Experimental) option in the ApiCompatibilityLevel Player setting. Note: C# code is still compiled as C# 9 and against the .NET Standard 2.1 API surface.
IL2CPPFeatureiOS
Added InputSettings.locationAccuracy and InputSettings.locationDistanceThreshold project defaults for location updates.
Input SystemFeature
Added Mouse.isSupported, which reports whether the current platform can deliver mouse input, rather than whether a mouse is currently connected.
Input SystemFeature
Added Pen.isSupported and Touchscreen.isPressureSupported, which report whether the current platform can deliver pen input and whether its touch input carries a real pressure value, rather than whether such a device is currently connected.
Input SystemFeature
Added full-screen video support for the Swift trampoline.
iOSFeature
Added support for Universal Links in the Swift trampoline. Links associated with the app through Associated Domains (apple-app-site-association) now set Application.absoluteURL, invoke Application.deepLinkActivated, and notify native plugins.
iOSFeature
Input System rumble support for iOS.
iOSFeature
Added a new Single World Host mode for client-hosted servers, instead of using binary client and server worlds. This the new default for netcode host world creation. This new mode removes the overhead of having to run two worlds in the same process by running both client and server systems in the same world. With this, no more useless serialization/deserialization, useless rollback and replay, useless worlds doing the same thing. See the documentation for pros and cons. For existing projects transitioning to this new mode, please see the documentation for migration advice, as this is not a seamless transition. For those not wishing to use this new mode, you can change this back in your NetcodeConfig project settings using the HostWorldModeSelection setting.
Netcode for EntitiesFeatureServer
The chart tracks the requests in flight, and the bytes sent and received in each frame.
Feature
The request list shows each request's status, method, target domain, request source, content type, size and duration, and filters on any of them. A summary strip totals the requests, bytes transferred and errors of the recording, and its p95 latency.
Feature
general information, request and response headers, query string parameters, and a per-phase timing breakdown of DNS lookup, connection, TLS handshake, waiting and transfer.
Selecting a request inspects itFeature
Added localization package upgrade path.
PackageFeature
Added a new upmSign command-line parameter to sign source Git packages.
Package ManagerFeature
Added build target support for QNX 7.1 with io-sock.
QNXFeature
Added --qnx-network-stack option to allow selection of new io-sock QNX7.1 variants.
QNXFeature
Unity Player and Editor binaries now export a C symbol named UnityScriptingBackend. Its value indicates the scripting backend the binary was built with, such as IL2CPP, CoreCLR, or Mono, so external tooling can identify the backend by inspecting the binary without running it.
ScriptingFeature
Introduced a new fast build mode in the Shader Build Settings, automatically converting keywords to dynamic branching and making builds much faster for iteration purposes.
ShadersFeature
Added background gradients support for the background-image style.
UI ToolkitFeature
Added gap property.
UI ToolkitFeature
You can now open and edit a standalone StyleSheet or Theme StyleSheet asset in the UI Builder without a UXML owner.
UI ToolkitFeature
Added a light falloff mode that matches the Built-in Render Pipeline.
URPFeature
Added AgX as a Tonemapping mode in the Tonemapping volume override.
URPFeature
Added exposure support to URP's version of SRP lens flare.
URPFeature
Added fixed exposure to URP. The setting can be accessed though the volume system.
URPFeature
Added on-tile support to the URP deferred renderer.
URPFeature
Added support for changing URP keywords to dynamic branch.
URPFeature
Added support for stencil in Shader Graph.
URPFeature
Added: URP Tonemapping now offers an AgX mode in addition to Neutral and ACES. AgX is a modern display transform that desaturates highlights as it compresses them, avoiding the hue shifts and clipping that can appear in over-exposed regions with ACES. It exposes two controls, Contrast and Mid Gray, and works in both SDR and HDR grading modes.
URPFeature
Modern Screen Space Ambient Occlusion in URP is now public. Existing SSAO Renderer Feature settings are no longer applied. To get the same SSAO results as before, follow the help box in the SSAO Renderer Feature inspector and copy the parameters (shown as inactive) into a Screen Space Ambient Occlusion Volume Override.
URPFeature
Input System rumble support for visionOS.
VisionOSFeature
Added support for building Player that uses up to 16 GB of WebAssembly memory (Wasm64).
WebFeature
Enabled Burst for builds using WebAssembly64.
WebFeature
Added Temporal Pixel Synthesis support for XR.
XRFeature
Mesh-related memory should now be correctly labeled in the memory profiler
Improved performance and memory use when many physics objects share the same callback target. (UUM-156561) First seen in 6000.7.0a1.
Improved native memory attribution so several kernel, plugin and file system allocations are reported against a named root instead of Unrooted in the Memory Profiler.
Added support for AccessibilityState.Expanded on Android.
AccessibilityImprovementAndroid
Added CPU and GPU utilization ADPF metrics to the Environment sample.
Adaptive PerformanceImprovement
Internal cleanup of NdkLooper (RAII pipe fds, dropped goto, NULL/0 normalized to nullptr).
AndroidImprovement
Internal refactor of CJK locale font fallback selection.
AndroidImprovement
Removed libmain.so; libunity.so and libil2cpp.so are now loaded directly by the Java layer, fixing a duplicate JNI_OnLoad call on runtime reload.
AndroidImprovement
Rework External Tools preferences page to follow Editor Foundations UI guidelines.
AndroidImprovement
Simplified Java version architecture detection regex.
AndroidImprovement
ThinLTO can now be used when Strip Engine Code is enabled.
AndroidImprovement
Updated Games-Frame-Pacing package from 2.1.2 to 2.1.3, enabling 16KB page support.
AndroidImprovement
Added support for multi-edition of Animator transition settings.
AnimationImprovement
Replaced Animation Window clip selector dropdown with a searchable dropdown.
AnimationImprovement
The Animator Window's compact mode Layers dropdown now has a search bar.
AnimationImprovement
Reduced memory consumption in Release builds. In Release builds, Profiler.GetTotalAllocatedMemoryLong() and Profiler.GetTotalReservedMemoryLong() now report the size the allocator actually reserved rather than the size that was requested, so a higher value than before does not mean that more memory is used.
Apple TVImprovement
Added clarification detail to.
Asset PipelineImprovement
The NativeFormatImporter now run out-of-process when "parallel import" (in ProjectSettings/Editor) is ON.
Asset PipelineImprovement
The VisualEffectImporter now run out-of-process when "parallel import" (in ProjectSettings/Editor) is ON.
Asset PipelineImprovement
Added new UnityAudioEffectDefinitionFlags_UseOutputChannelCount so Ambisonic decoder native audio plugins can use the full output channel count of the project rather than be fixed to the input clip channel count.
AudioImprovement
Added profiler markers to Scriptable Audio Pipeline Generators created from Audio Clips, and improved heuristics of the decode-ahead system to avoid slower in-place decoding.
AudioImprovement
Added profiler section for Scriptable Audio Pipeline.
AudioImprovement
Architectural improvements to remove most main thread stalls ("Flush DSP connections" profiler marker) or inversely audio drop-outs, when adding / removing Audio Sources, effects and so on, especially under pressure.
AudioImprovement
Changed some error messages during Content Directory builds when an included Asset has error messages to make easier to find the culprit asset and understand the underlying error.
Improved Content Directory build dependencies for LOD stripping in assets and scenes to avoid re-build them when the LOD stripping level is changed without impacting them.
Build PipelineImprovement
Updated the bundled 7-Zip to version 26.02.
Build SystemImprovement
Updated the bundled 7-Zip to version 26.03.
Build SystemImprovement
Player builds no longer launch the Burst AOT compiler when no user assemblies reference Burst, speeding up build time significantly for projects that do not use Burst.
The Burst compiler server now starts asynchronously during editor initialization, reducing editor startup time.
DataStreamReader and DataStreamWriter no longer use a scratch field, allowing fixed-bit-sized packed writes to earlier positions in the buffer (via a copy of the writer) without data corruption.
CoreImprovement
Cherry-picked an upstream JIT fix that corrects an inverted Tier0 box-sharing guard, so Enum.HasFlag calls compiled at Tier0 get an exact-typed box and elide the allocation entirely instead of boxing both operands on every call (upstream dotnet/runtime #130590).
CoreCLRImprovement
The bundled CoreCLR runtime has been updated to a newer .NET 10 (release/10.0) servicing build, incorporating upstream fixes across the JIT, GC, COM/interop and cryptography, plus platform-specific fixes for Windows, Linux, macOS, Android, iOS and the browser.
CoreCLRImprovementAndroidiOSWindowsmacOS
Documented how a custom key comparer on a serialized Dictionary field is preserved, and the cases where it isn't.
DocumentationImprovement
Implemented placement buffer allocation.
DX12Improvement
Added a Stencil Shader Graph override sample for URP.
EditorImprovement
Added copy and paste to settings foldouts in the build profile window.
EditorImprovement
Added higher resolution localization editor icons.
EditorImprovement
Added out-of-process crash handler (UnityMacCrashHandler) for macOS Editor to support minidumps (attached exclusively to bug reports) and improve crash-reporting reliability.
EditorImprovementmacOS
Added SmartStrings project settings and inspector view.
EditorImprovement
Added the option to double click categories in the Project Auditor window to expand them.
EditorImprovement
Added various general usability issues with the Build Analysis Window.
EditorImprovement
Changed default resolution for uGUI canvas scaler from 800x600 to 1920x1080.
EditorImprovement
Enhances the drag-and-drop experience when adding assets to List<> properties in the Inspector. Previously, users could only drop assets on the list header, and items would always append to the end. Now users can drop anywhere on the list body with visual feedback showing the exact insertion position.
EditorImprovement
GRD Frame Debugger integration - Batch Cause + GRD Exclusion Summary.
EditorImprovement
Improved Android External Tools screenshot.
EditorImprovementAndroid
Improved Editor splash screen text legibility by adding a subtle drop shadow behind text labels.
EditorImprovement
Improved hierarchy icons for missing prefab/script references.
EditorImprovement
Improved performance for first time script compilation in the Editor.
Improved performance of hierarchy icons.
Improved the main toolbar element selection by creating a search provider and the associated window.
EditorImprovement
Improved the performance of the TextureImporter. (various elements in the "processing" phase primarily, but texture compression will perform slightly better as well).
EditorImprovement
Increased performance by replacing reflection-based code in the Netcode package with non-reflection-based alternatives.
EditorImprovement
Moved info.plist file to MainApp directory of iOS/tvOS Swift project Type. Moved storyboard file to MainApp directory for tvOS Swift project Type.
EditorImprovementiOStvOS
Normal maps now appear consistently in the Inspector's texture picker.
EditorImprovement
Project Auditor: detect boxing of structs used in List comparisons.
EditorImprovement
Project Auditor: Improved messaging about where analysis progress is.
EditorImprovement
Project Auditor: Improved the Upgrade Summary page to show more information.
EditorImprovement
Project Auditor: redesign the home page. Move URP migration wizard to the home page.
EditorImprovement
Refactored Physics Debug Inspector UI so it uses common Inspector window patterns.
EditorImprovement
Removed duplicated Overlay colors Users now have two ways to reset colors:
EditorImprovement
Individual "Use Default" button next to each overlay color (in the "Overlays Background" category) to reset just that one color to its default- Reset all colors: "Reset All to Default" button at the bottom of the Colors page to reset all colors at once.
Per-color resetImprovement
Separated Optimization and Upgrade issues into their own pages in the Project Auditor UI.
EditorImprovement
The Platform Browser now shows the licenses that apply to the packages selected for a new build profile.
EditorImprovement
Updated the .NET SDK in the Editor to .NET10.
EditorImprovement
Added a dedicated denoising pass to Surface Cache GI, which produces much less noisy outputs at similar performance costs to the previous setup.
GIImprovement
Added the "Warm-up Sample Multiplier" setting to Surface Cache, which allows users to boost sample count for the first frame of a patch's existence to reduce noise.
GIImprovement
Added XR support to Surface Cache GI.
GIImprovementXR
Fixed slow mass removal of ray tracing instances in unified raytracing.
GIImprovement
Surface Cache GI supports Entities.
GIImprovement
State transitions can now be started by holding Shift and clicking anywhere on a state, and the area around a state's edge where a transition can be started remains usable when zoomed out.
Graph ToolkitImprovement
Mesh-related memory should now be correctly labeled in the memory profiler
Search filters have fallback behavior when indexing isn't complete or available.
Reduced IL2CPP metadata size for type, field, property, and event definitions.
IL2CPPImprovement
Reduced peak memory consumption of il2cpp.exe.
IL2CPPImprovement
Reduced size of generated generic code.
IL2CPPImprovement
Reduced the metadata storage size of methods and parameters.
IL2CPPImprovement
Reduced the size of method definitions stored in metadata file.
IL2CPPImprovement
Debug.ClearDeveloperConsole now also clears errors that have not been displayed yet, so the developer console no longer reopens later showing already cleared errors.
IMGUIImprovement
Removed InputSystem gizmo / icons from scene view window.
Input SystemImprovement
Custom URL scheme deep links now notify native plugins on cold app launch when using the Swift trampoline, matching the existing warm-launch behavior.
iOSImprovement
Improved how DPI is calculated so that the fallback for unknown devices is more accurate.
iOSImprovement
Improved screen orientation handling on iOS so that the orientation reported by the operating system is used instead of inferring it from view dimensions.
iOSImprovement
Reduced memory consumption in Release builds. In Release builds, Profiler.GetTotalAllocatedMemoryLong() and Profiler.GetTotalReservedMemoryLong() now report the size the allocator actually reserved rather than the size that was requested, so a higher value than before does not mean that more memory is used.
iOSImprovement
Added a warning on the Multiplayer Center Quick Starts page reminding users that samples require the project to be linked to cloud services.
MultiplayerImprovement
Give GhostAuthoringComponent, GhostAuthoringInspectionComponent, and GhostAdapter AddComponentMenu paths under a shared "Multiplayer/" heading so they're discoverable in the Add Component menu (GhostAdapter's entry sits in the NETCODE_GAMEOBJECT_BRIDGE_EXPERIMENTAL branch).
Netcode for EntitiesImprovement
Improved source generator logging for long log lines.
Netcode for EntitiesImprovement
Analytics for .unityPackage signature at export time, from UI, API and CLI.
Package ManagerImprovement
Improved padding on some elements.
Added a drop-down offering the ability to switch between multi-threaded and single-threaded simulation under Project Settings -> Physics -> Settings -> GameObjects.
Added two buttons for collider components: "Fit to Self" and "Fit to Children".
PhysicsImprovement
Added "PhysicsShape.SetBatchGeometry()" method overloads to allow multiple shapes to be set to a single geometry or multiple individual geometries. This includes support for "CircleGeometry", "CapsuleGeometry", "PolygonGeometry", "SegmentGeometry" and "ChainSegmentGeometry".
Physics 2DImprovement
Added a "Make Asset" button to the empty Physics Core 2D project settings property, which creates a new PhysicsCoreSettings2D asset via a save dialog and assigns it.
Physics 2DImprovement
Added a dedicated ProfilerCategory.PhysicsCore2D profiler category. The PhysicsCore2D markers report under it.
Physics 2DImprovement
Added a simple "owner" getter property that aliases the "GetOwner()" method for PhysicsWorld, PhysicsBody, PhysicsShape, PhysicsChain and every joint type.
Physics 2DImprovement
Changed chain-segment ghost edges to draw as dimmed lines.
Physics 2DImprovement
Changed joint drawing to a uniform scheme of an anchor line, anchor points and a spring target marker, with configurable world draw colors.
Physics 2DImprovement
Changed the default DrawOption for a new PhysicsCoreSettings2D asset to "Default Selected" instead of "Default All".
Physics 2DImprovement
Enabled PhysicsDistanceDefinitionJoint.autoDistance by default.
Physics 2DImprovement
If the physics simulation produces a PhysicsBody transform with either NaN or Infinite values due to an unstable simulation then, if the body is writing to transforms, it is immediately disabled and its owner name (GameObject, Component or Transform) reported to the console with no transform writing done. This stops the Transform from containing invalid values and reports the identity of the object in question exactly when it occurs.
Physics 2DImprovement
Improved Physics Core 2D contact solver performance.
Physics 2DImprovement
Improved the Physics Outline Sprite Editor algorithm which now produces sprite contours that are more efficient for physics, avoiding collinearity and now uses vertex-spacing rules alongside minimal decomposition area and has sub-pixel accuracy. The overall improvement is a better default guess at the outlines and holes formed from a sprite.
Physics 2DImprovement
Improved the PhysicsCore2D SDF debug-draw shaders for better overall performance, per-pixel accuracy, and reduced aliasing when viewing at low angles.
Physics 2DImprovement
Increased the PhysicsWorld.DrawThickness maximum from 5 to 10 pixels.
Physics 2DImprovement
Merged the Physics Core 2D project-settings pages into a single page and the settings asset Inspector now shows the full settings for direct editing.
Physics 2DImprovement
PhysicsBody.SetBatchTransform() now has an additional "bool writePoses" flag to control if the Unity Transform are written to after the PhysicsBody poses are updated.
Physics 2DImprovement
PhysicsEvents of ContactBeginEvent, ContactEndEvent, TriggerBeginEvent and TriggerEndEvent can now be collated to produce a single Begin and End callback pair rather than multiple per-shape. This is critical to allow for "collider-style" callback behaviour where a logical group of shapes reports as a single compound shape.
Physics 2DImprovement
PhysicsJoint definitions now display as grouped, collapsible sections in the Inspector. Property drawers organize each definition into Anchors, Spring, Motor, Limit, Thresholds, Tuning and Drawing, so a definition reads as a handful of rows instead of a long flat list.
Physics 2DImprovement
PhysicsSpace now has several batch getter/setter methods to reduce round-trips from the engine including "SetBatchProxyAABB()", "GetBatchProxyAABB()", "GetBatchProxyCategories()", "GetBatchProxyUserHandle()" and "GetBatchProxyShapes".
Physics 2DImprovement
PhysicsSpace now has the ability to specify a bound world with "PhysicsSpace.Create(PhysicsWorld)". With a world bound, PhysicsShape can be synchronized with "PhysicsSpace.SyncShapes()" overloads.
Physics 2DImprovement
The PhysicsHingeJoint no longer draws redundant circles at its anchor points. No other joint does this.
Physics 2DImprovement
Updated PhysicsCoreSettings2D asset icon.
Physics 2DImprovement
PhysicsFixedJoint now uses a separate solving path when both the linear and angular frequencies are set to zero indicating full stiffness. This has always been a special set of values but now is much stiffer removing visible "ringing" artifacts when the bodies are relatively far apart and changing in both position and rotation.
Physics 2DImprovement
The PrefabImporter can now run out-of-process when "parallel import" (in ProjectSettings/Editor) is ON.
PrefabsImprovement
Added Vulkan graphics backend support to the GPU Profiler.
ProfilerImprovement
Improved native memory attribution so several kernel, plugin and file system allocations are reported against a named root instead of Unrooted in the Memory Profiler.
Improved our Lifecycle system to allocate less memory on hot paths.
Surface assembly references from the MSBuild compilation pipeline.
ScriptingImprovement
Gave subgraph node dropdowns an opaque background.
Improved padding on inline sliders.
Shader graphs with long path names should now open correctly.
Suppress superfluous warning messages when slot count changes from keyword/dropdown properties.
The editor console and shader inspector now emit warnings when invalid KEYWORD_TYPE_FLAG keywords are detected.
ShadersImprovement
Updating unlisted shader properties via Material Set[Type] APIs mark the material dirty.
ShadersImprovement
Added the IRenderGraphPassData interface that allows users to implement a Reset() method in their render graph pass data to clean up PassData object before they enter the object pool.
SRP CoreImprovement
Improved RgbToHsv accuracy.
Render Graph Viewer - Allow opening the C# code and line where a texture was imported or created.
SRP CoreImprovement
The TextScriptImporter can now run out-of-process when "parallel import" (in ProjectSettings/Editor) is ON.
TextImprovement
The TrueTypeFont importer can now run out-of-process when "parallel import" (in ProjectSettings/Editor) is ON.
TextImprovement
Improved how uGUI handles mesh data to reduce general overheads from uGUI Graphic objects.
uGUIImprovement
Improved the tween engine with performance optimizations. Removed duplicate tween engine implementations from the TMP assemblies.
uGUIImprovement
Added a one-time scan that lists themes affected by the theme priority change, with a report file written to Logs/ and an on-demand scan button in Project Settings > UI Toolkit.
UI ToolkitImprovement
Added a warning when a theme style sheet is imported by a regular style sheet, since the theme's priority does not apply in that case.
UI ToolkitImprovement
Added nested formats to the Smart Strings time formatter, so a nested list format can choose the separators between time units. The time formatter also accepts a DateTime or DateTimeOffset without format text.
UI ToolkitImprovement
Improved accuracy of time measurements in USS Stats window (experimental).
UI ToolkitImprovement
Improved main scene editing Overrides menu.
UI ToolkitImprovement
Improved performance and memory usage of VisualElement class list.
UI ToolkitImprovement
Improved Smart Strings: plural formatting now works for languages without plural forms and for a count of two in French, conditional formats read numbers the same way in every culture, and dictionary lookups follow the case-sensitivity setting.
UI ToolkitImprovement
Improved style sheet import diagnostics: an @import placed after style rules now produces a warning explaining that its position does not affect selector priority.
UI ToolkitImprovement
Improved Theme Style Sheet (.tss) references so newly written USS imports use GUID-based asset URIs, preventing references from being lost when the USS file is renamed or moved. Existing hand-authored relative imports remain supported, and users who prefer relative paths can still hand-edit them after saving.
Improved USS selector matching performance for complex selectors and for elements that match many selectors in the same stylesheet.
UI ToolkitImprovement
Reduced the amount of memory each VisualElement uses.
UI ToolkitImprovement
Shader Graph support for UIToolkit Filters.
UI ToolkitImprovement
Improved the performance of undoing and redoing reparenting actions in deep and wide hierarchies.
Undo SystemImprovement
Improved query performance for Collector Types (Any, Closest, All) for query types: Raycast, ColliderCast, Point Distance and Collider Distance, when casting against a MeshCollider. Improvement is particularly observable with Burst enabled.
ScheduleUpdateBroadphase previously overwrote the dynamic-tree update's JobHandle with the static-body change-check handle before scheduling the static-tree update, dropping the dynamic-tree job from the dependency chain, which can cause job safety errors when invoking Unity.Physics systems manually (for example; as is done by Netcode for Entities).
Unity PhysicsImprovement
Added contact hardening (distant-dependent reflections) to Screen Space Reflections for URP. This is controlled by 2 new settings: Contact Hardening Scale and Contact Distance Bias.
URPImprovement
Removed the Visual Scripting package from the 3D URP template to improve Editor startup time.
URPImprovement
Rendering Debugger - Frame Settings - Improved the messaging on Frame Settings, and improved how the configured data is shared among multiple scene cameras.
Reduced memory consumption in Release builds. In Release builds, Profiler.GetTotalAllocatedMemoryLong() and Profiler.GetTotalReservedMemoryLong() now report the size the allocator actually reserved rather than the size that was requested, so a higher value than before does not mean that more memory is used.
VisionOSImprovement
Reduced memory consumption when UnityDefaultAllocator is used in Release builds. Profiler.GetTotalAllocatedMemoryLong() and Profiler.GetTotalReservedMemoryLong() now report the size the allocator actually reserved rather than the size that was requested when UnityDefaultAllocator is used in Release builds, so a higher value than before does not mean that more memory is used.
WebImprovement
Improved performance of issuing async reads with DirectStorage.
WindowsImprovement
Improved performance on loading archive files with DirectStorage enabled.
WindowsImprovement
NVUnityPlugin.pdb is now available inside the Unity installation on disk and on Unity's symbol server.
WindowsImprovementServer
Graphics: Allow shader permutation to persist during building, allowing non-shadowed stencil deferred lights to avoid expensive shadowing calculations.
XRImprovement
Graphics: Improved GPU performance of stencil deferred point and spot light draws by specializing the per-light fragment shader per light type, letting point lights skip cone-angle math and spot lights skip a runtime shadow-map-face branch.
XRImprovement
Graphics: Reduced GPU frame time on Quad Views by reprojecting the outer pass's motion vectors into the inner pass instead of rendering its own motion vector pass.
XRImprovement
Improved GPU performance when QuadViews are enabled in Deferred rendering (when not using SpaceWarp) via reducing the amount of redundant geometry rendering in the focus-inner region during the low-resolution periphery pass.
XRImprovement
QuadViews: Allow LUT information to be reused within inner/outer views.
XRImprovement
QuadViews: Defer the submission of render commands to the final inner quad view pass to improve XR CPU performance.
XRImprovement
When the foveated rendering feature is enabled, avoid applying unnecessarily to the FinalBlit pass and allow skipping foveated rendering in the FinalBlit and UberPostProcess passes in URP when requested by the XR provider plugin.
XRImprovement
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 on "pqInit" when SpriteShapeUtility.Generate is given a closed shape with two coincident control points. Note this API is specific to an old Spriteshape package and will be deprecated in an upcoming version. Please refer to SpriteShapeGenerator.cs in the Spriteshape package for any future use of Triangulation.
Fix Crash on SpriteAtlas::GetSpritesScripting when passing null to SpriteAtlas.GetSprites
Fix editor crash in SpriteDataAccessExtensions::SetVertexCount when the count is negative
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
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 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 an "ArgumentException: Scene file not found" error when building with a deleted scene in the build list and Strip 2D Unused Variants enabled. (UUM-154789) First seen in 6000.7.0b3.
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. (UUM-152375) First seen in 6000.7.0b1.
Fixed child GameObjects of a Tile's instantiated GameObject remaining in the Scene after exiting Play mode or reloading the Scene.
Fixed four errors logged every frame for each Light 2D that uses a custom Material whose shader does not declare the 2D lighting keywords. (UUM-152368) First seen in 6000.7.0b1.
Fixed inconsistent icon sharpness in the Tile Palette window. (UUM-151071) First seen in 6000.7.0a6.
Fixed IndexOutOfRangeException errors thrown while editing a Freeform Light 2D shape whose edges overlap.
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 the Grid Selection Offset, Rotation and Scale fields in the Inspector not updating while dragging a Grid Selection gizmo in the Scene view. (UUM-151310) First seen in 6000.7.0a6.
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 URP 2D editor-only icons being included in player builds.
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
Fixed Android native libraries having a GNU_RELRO segment that was not aligned to 16 KB. libc++_shared.so will stay unaligned until the next NDK update.
Fixed CanBuildWithSymlinkSources flakiness caused by parameterized runs sharing a temp export directory.
Fixed WebCamTexture taking several seconds to resume after the app regains focus or another app releases the camera, for example in split-screen mode.
Crash when calling AnimationUtility.SetAdditiveReferencePose` with a null clip or referenceClip.
Fixed an issue where clicking in the "Edit Key" fields of the Animation Window curve view wouldn't deselect the text in the field.
Fixed methods with an AnimationEventInfo parameter not being listed in the Function dropdown of the Animation Event Inspector.
Fixed Editor crash when the Unity Version Control Diff window shows a modified prefab that contains nested prefab instances.
Improved the Build Callbacks documentation to mention the new AssetPostprocessor.OnProcessScene API.
Build PipelineFix
Strip the AMD FidelityFX DLL from player builds when AMDUnityPlugin is not enabled (UUM-156516) First seen in 6000.7.0b6.
Structs with auto-layout can now be used in Burst as long as they are not a part of a method's signature or a job's struct. This allows tuples to be used in structs that don't cross the managed-native barrier again.
BurstFix
Fixed CoreCLR player builds including runtime files that are never loaded, such as standalone garbage collectors, ETW message resources, import libraries, and a duplicate debugger access library. (UUM-147611) First seen in 6000.7.0a4.
Add duospace tag support to ATG
Add warning on "New Analysis" for imported Project Auditor reports (UUM-153096) First seen in 6000.7.0a6.
Adds Platform Define Support for Multi-Target Platform (UUM-151085) First seen in 6000.7.0b1.
Fixed an incorrect max width calculation and propagation in layout groups when there are no child elements.
Fixed an issue where refreshing an empty Project Auditor view switched it to a flat list and turned off Show Ignored Issues.
Fixed an issue where the Code and Shaders Compiler Messages views in Project Auditor overwrote each other's saved column widths, grouping, and sorting.
Fixed an issue where the Project Auditor window threw an exception on every open when its autosaved report was empty or truncated, instead of discarding the report with a warning.
Fixed an issue where Umbra menu items reappeared after a domain reload when legacy Umbra culling was disabled. (UUM-154630) First seen in 6000.7.0b4.
Fixed Android External Tools preferences window becoming unresponsive when typing paths with a custom JDK whose release file is missing.
Fixed bug where attempting to switch to a saved Editor layout while a window with unsaved changes was open could make it impossible to cancel the layout change.
Fixed concurrent access in Standard text in UITK
Fixed crash with ATG measure unconstrained height.
Fixed GameObjects not baking correctly when their properties change
Fixed issue with multiple scripts being used in the same string with Advanced Text.
Fixed issue with OS Fallbacks overriding the assigned sprite asset (UUM-155771) First seen in 6000.7.0b4.
Fixed ligatures breaking the input field in TMP.
Fixed the Project Auditor "Migrate to URP" page header showing a trailing separator when no analysis has been run. (UUM-152590) First seen in 6000.7.0b5.
Graphics: re-evaluate the APV baking set when the active scene changes
Project Auditor: correctly recognize good URP quality asset settings. (UUM-151717) First seen in 6000.7.0b1.
Project Auditor: don't show blank group when Target Framework version is unknown.
Project Auditor: ensure GameObject issues have a Location assigned.
EditorFix
Project Auditor: remember expanded state in the issue tables. (UUM-147207) First seen in 6000.7.0a2.
Fixed performance metrics being reported without a sum, which prevented average values from being calculated.
A Terrain added to a ray-tracing acceleration structure no longer leaks a Mesh and its GPU buffers.
Fixed a horizontal scrollbar that appeared in the inspector when a state machine transition was selected, even when the content fit the inspector width. (UUM-149802) First seen in 6000.7.0a6.
Fixed a NullReferenceException thrown when setting the Title, Subtitle, Tooltip, DefaultColor or FillAmount of a Node created from script before setting its Position.
Fixed an issue where converting a List or Array variable node to a constant reset its values.
Fixed an assert "Metal: memoryless texture requires 2D texture." that the Editor logged on Metal when it rendered single-pass XR to memoryless texture arrays.
Fixed AsyncGPUReadback.RequestIntoNativeArray logging read/write access and undisposable errors for a NativeArray that was used by a completed job.
URP Decals shader could rarely produce NaN values on Android platforms when sampling non-normal-map textures set as the Normal Map, especially visible as white flashes when in conjunction with other amplifying effects like Bloom.
Fixed water surfaces that disappeared for a moment in the Editor when a scene had water surfaces with different band counts.
Fix missing GC write barrier in Thread.VolatileWrite(ref object, object).
Fixed a crash when calling GetType() through a boxed Nullable<T> that has no value, in generic code built with Faster (smaller) builds.
Fixed GC marking on InlineArray types
IL2CPPFix
Fixed issue where memory from a thread object could be kept alive by the GC past its exit
Fixed long Editor tooltips, such as the backup confirmation toggle in Project Auditor, showing empty space to the right of their wrapped text. (UUM-152749) First seen in 6000.7.0a6.
Fixed the "Location Distance Threshold" label being clipped and misaligned on the Input System Settings project settings page. (UUM-151646) First seen in 6000.7.0a6.
Fixed the Input Actions editor window being recreated (flickering) when cancelling the unsaved-changes prompt on close; the window now uses the Editor's standard unsaved-changes handling. (UUM-154338) First seen in 6000.7.0b5.
Fixed the Input Debugger device window showing a blank window after the device was disconnected and reconnected. (UUM-144312) First seen in 6000.7.0b2.
This fixes Windows' Xbox Game Bar and macOS overlays (Spotlight et al). On Windows, Steam/Discord/NVIDIA overlays work as always.
Fixed a crash when application:openURL or application:continueUserActivity was called before Unity initialized.
Fixed the Editor slowing down in batch mode and automated test runs on macOS when one of its windows lost focus.
macOSFixWindows
Stopped a crash when using a default GCHandle
Fixing configuration deletion issue
N/A \(internal\)Fix
Fixes a bug where streaming upload handler that has no fixed length incorrectly generates underlying call with fixed length (UUM-152488) First seen in 6000.7.0b1.
Unity Transport: Fix a small memory leak that would occur when creating TLS/DTLS sessions.
Fixed Rigidbody.mass accepting a NaN value, which made the body pass through all colliders.
Added missing public argument validation for various Physics Core 2D methods.
Fixed "PhysicsMath.GetRelativeMatrix2D" and "PhysicsMath.GetRelativePose2D" measuring against the scale and the full 3D rotation of the transform measured from, which placed anything using the result, such as the physics shape of a child of a scaled or tilted transform, away from where that child is. (UUM-156741) First seen in 6000.7.0a1.
Fixed callback targets set on physics bodies, chains, shapes and joints leaking memory that was never released. (UUM-156561) First seen in 6000.7.0a1.
Fixed an issue where the New Timeline view's Zoom when changing event setting had no effect.
ProfilerFix
Fixed GPU Profiler on XR in skip-present configuration (UUM-155672) First seen in 6000.7.0b5.
Fixed the Jobs Profiler Jobs Info table flickering between rows and an empty list while profiling in Live mode. (UUM-153408) First seen in 6000.7.0b2.
Fixed the player window not resizing when the resolution or fullscreen mode changed, which left the rendered content stretched or misplaced.
Fixed a performance regression in the Editor where reordering many sibling GameObjects increased frame time. (UUM-155593) First seen in 6000.7.0a3.
Fixed a crash with the Mono scripting backend when using reflection to get the parameters of some internal Unity methods. (UUM-150566) First seen in 6000.7.0b1.
Fixed AppDomain.CurrentDomain.BaseDirectory returning the path of the application executable instead of the folder that contains it.
Improve performance of statics analyzer (UUM-155033) First seen in 6000.7.0a3.
Fixed Search's ObjectField multi-value display.
Fixed Analyzer UAC1016 error flagging a Dictionary with generic types as cannot be serialized incorrectly
Fixed default-created LocalKeyword and LocalKeywordSpace field access crashing the Editor.
Fixed exceptions thrown in the Inspector when adding a Light Anchor component while no Game View is open.
Fixed the Scan and Convert Assets buttons in the Render Pipeline Converter window being hidden when the window was narrower than its content.
Fixed an instability in the terrain test on Macs
Fixed Advanced Text Generator rendering of hinted SDF font assets (SDFAA_HINTED) so glyph shapes and spacing match the standard TextMesh Pro generator. (UUM-154232) First seen in 6000.7.0b4.
Fixed an out-of-bounds memory read when a TextMesh or legacy UI Text string ended with an unterminated quad tag parameter.
Fixed an out-of-bounds memory read when a TextMesh or legacy UI Text string ended with an unterminated rich text tag.
Fixed dynamic font assets polluting the version control system. (UUM-151582) First seen in 6000.7.0b1.
Fixed a crash when the Editor sat idle in UI Staging Mode with filters applied to an element.
Fixed a NullReferenceException and broken UI Builder styling when the filter property uses a USS variable with an invalid value.
Fixed a NullReferenceException when applying an SVG sprite's custom pivot in the Sprite Editor, which also left the pivot unchanged. (UUM-148882) First seen in 6000.7.0b6.
Fixed a per-element style lookup that ran on the panel attach and repaint paths even when no element used -unity-curvature. (UUM-153392) First seen in 6000.7.0a6.
Fixed a performance regression where the UI Builder Inspector rebuilt its Grid section on every refresh. (UUM-154966) First seen in 6000.7.0a5.
Fixed a preview theme change or reset in one UI Builder window not applying to the other open UI Builder windows. (UUM-151936) First seen in 6000.7.0a6.
Fixed a USS file failing to import and losing all of its styles when a function such as linear-gradient() had an empty argument.
Fixed alignment and spacing of the Components section in the VisualElement inspector and UI Builder inspector. (UUM-153423) First seen in 6000.7.0b3.
Fixed an Editor crash when exiting Play mode with the Hierarchy window open and a UIDocument whose list items are cloned from the document's own UXML. (UUM-155728) First seen in 6000.7.0b1.
Fixed an issue where a TextField displayed a replacement character when Max Length cut the text in the middle of an emoji.
Fixed animation-duration and animation-delay using seconds instead of milliseconds when their value comes from a custom property through var(). (UUM-154595) First seen in 6000.7.0b3.
Fixed ArgumentNullException and MissingReferenceException errors thrown when interacting with a deleted USS asset that was open in UI Builder. (UUM-152731) First seen in 6000.7.0b1.
Fixed custom backdrop filters that blend their output showing content from other elements and flickering.
Fixed large integer inline style values, such as style.zIndex set to int.MaxValue, being changed when read back or applied. (UUM-153978) First seen in 6000.7.0b2.
Fixed PanelRenderer not updating its parent PanelRenderer and visual tree when its GameObject was reparented at runtime.
Fixed solid and gradient fills missing from VectorImages saved with Painter2D.SaveToVectorImage on WebGL 2 and on some OpenGL ES 3.0 devices, and an ArgumentOutOfRangeException when a solid fill or stroke was painted before a texture fill.
Fixed Style Rule Inspector affordances, override bars, and list edits not refreshing after property changes on a selector target. (UUM-155840) First seen in 6000.7.0b5.
Fixed the Add and Remove buttons in the Gradient Editor staying enabled when the maximum or minimum number of color stops was reached. (UUM-155714) First seen in 6000.7.0b4.
Fixed the background gradient in the UI Toolkit Inspector defaulting to white-to-white instead of the black-to-white default used by UI Builder. (UUM-155715) First seen in 6000.7.0b4.
Fixed the content of a ListView or TreeView with horizontal scrolling moving horizontally when scrolling vertically.
Fixed the Localization Tables and Scene Controls windows ignoring built-in localization in projects that use it. (UUM-155905) First seen in 6000.7.0b5.
Fixed the macOS character palette and IME candidate window appearing at the caret position of a previously edited text field.
Fixed the macOS character palette opening at the wrong position, or not opening, when a UI Toolkit text field has focus.
Fixed the UI Builder Inspector's Value field staying single-line when a TextField has Multiline enabled. (UUM-150464) First seen in 6000.7.0a6.
Fixed the UI Builder Set Variable list on a selector not showing variables declared in another USS file on the same UXML.
Fixed the UI Toolkit editing stage opening while the legacy Hierarchy was in use, which left the Hierarchy window empty or showing the wrong scene.
Fixed the variable suggestion list being cut off when setting a variable on a stop in the Gradient Editor. (UUM-155717) First seen in 6000.7.0b4.
Fixed UIAnimationClip staying at its authored values instead of animating in a built player. (UUM-153273) First seen in 6000.7.0b1.
Fixed USS filter functions with more than four arguments not applying; the extra arguments are now ignored and a warning is logged. (UUM-155773) First seen in 6000.7.0b4.
UI Builder: Fixed the data source path completer popup in the binding window sometimes staying open after the window was moved.
Fixed a macro redefinition warning in custom shaders that define REQUIRES_WORLD_SPACE_POS_INTERPOLATOR before including Core.hlsl. (UUM-155102) First seen in 6000.7.0b3.
Fixed Surface Cache Global Illumination only lighting part of the screen when the Render Scale is not 1. (UUM-154747) First seen in 6000.7.0b4.
Allow renaming a category changing only the capitalisation
Creating a property with a category name now works as expected instead of not showing the property
Fix "InvalidOperationException: Sequence contains more than one matching element" error thrown when creating a new Property with an existing attribute name
Fixed renaming a category will move its position to the end of the list when saving
Renaming a Category to a reserved name now logs an error message instead of failing silently
Fix exporting visionOS Xcode project fails after disabling Symlink Sources
WebGPU Fix compressed texture mipmaps.
WebGPU fix for incorrectly mapped ASTC sRGB formats.
WebGPU: improve memory usage of uniform buffers and dynamic vertex buffers
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 on "pqInit" when SpriteShapeUtility.Generate is given a closed shape with two coincident control points. Note this API is specific to an old Spriteshape package and will be deprecated in an upcoming version. Please refer to SpriteShapeGenerator.cs in the Spriteshape package for any future use of Triangulation.
Fix Crash on SpriteAtlas::GetSpritesScripting when passing null to SpriteAtlas.GetSprites
Fix editor crash in SpriteDataAccessExtensions::SetVertexCount when the count is negative
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
Fixed a "No script asset for ShadowCasterPath" warning when you undo or redo a Shadow Caster 2D shape edit in Play mode.
Fixed a case where in In 3D Editor mode, textures did not generate Sprite subassets when imported as SpriteSprite Generation.
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 an issue where changing the SpriteAtlas option in EditorSettings results in render artifacts.
Fixed an issue where Tilemap.tilemapPositionsChanged and tilemapTileChanged callbacks didn't invoke when SetTiles changed only the transform or color of a tile.
Fixed an issue where TilemapRenderer inherited normal maps from other Tiles when a Tile did not have a normal map.
Fixed ArgumentException when using overlay camera in 2D Renderer.
Fixed case of Tile Palette Brush Picks overlay turning itself off in the Scene View when the user clears the search field in the overlay (for example by pressing Backspace).
Fixed case where Sprite is not rendered in a SRP Batcher when Sprite Mask is removed after it was previously set.
Fixed child GameObjects of a Tile's instantiated GameObject remaining in the Scene after exiting Play mode or reloading the Scene.
Fixed duplicate global light error when building a player.
Fixed duplicate Sprite Editor window settings appearing in project settings.
Fixed error message when entering fast playmode with Sprite Editor Window changes.
Fixed exception when creating new Tile asset when doing a drag and drop on a Tile Palette that is open for edit.
Fixed IndexOutOfRangeException errors thrown while editing a Freeform Light 2D shape whose edges overlap.
Fixed intermediate texture not created when requested by render pass.
Fixed issue where Texture is not updated in TilemapRenderer when edits are made in the SpriteEditor.
Fixed Light2D memory leak when unloading scenes - the runtime-created light mesh is now properly destroyed when the component is destroyed.
Fixed LineRenderer not initializing correctly when toggling enable on game object.
Fixed metal shader errors for RenderingLayerMask pass. (D2D-8107)
2DFix
Fixed NaN bounds warning for Graphics.RenderSprite.
Fixed normals maps for flipped Tiles when using TilemapRenderer in Chunk mode.
Fixed Render Objects feature failing when depth buffer is disabled.
Fixed section headers for 2D/Grid Brush and 2D/Tile Palette preferences.
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 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 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 Sprite Frame field edit lock override info box in Project Settings > Sprite Editor staying visible after the checkbox automatically unticks itself when the Sprite Editor window closes.
Fixed the Sync Active Palette button in the Tile Palette window being cut off or hidden when the window is resized horizontally.
Fixed Tilemap not updating in the Scene view when the Sprite property of an assigned Tile asset is changed in the Inspector.
Fixed Tilemap not updating in the Scene view when the Sprite property of an assigned Tile asset is changed in the Inspector.
Fixed TilemapRenderer flicker when editing Grid Selection scale/rotation.
Fixed TilemapRenderer rendering regressions for Individual mode and Hexagonal/Isometric Chunk mode.
Fixed Tiles in the Tile Palette window rendering in solid grey after exiting Play mode when Domain Reload is disabled.
Fixed URP 2D editor-only icons being included in player builds.
Inspector - Unsaved Changes Detected pop-up shows for each Inspector window when editing Sprite Atlas asset
Move filter field outside of scroll area in Tile Palette Active Targets dropdown.
Outline Detail in Multiple mode is not set when using Delaunay Subdivision.
Platform specific overrides panel for Sprite Atlas asset does not support Undo or Redo operations
Resize Tile Palette Active Targets dropdown when filter is active.
Sprite Frame edit capability is now saved and will only be loaded for importers that has the capability.
Fixed accessibility node queries logging a main-thread error to the console on Android when a screen reader is enabled.
AccessibilityFixAndroid
Fixed double state announcement for AccessibilityRole.Toggle nodes on Android.
Fixed the Accessibility Hierarchy Viewer displaying the previous Play session's accessibility hierarchy after exiting Play mode.
Fixed the main application window also being provided for secondary windows for UI Automation clients.
AccessibilityFixWindows
Fixed the screen reader being slow to navigate away from AccessibilityRole.Dropdown nodes on Android.
Fixed the Windows player crashing at shutdown once a UI Automation client (e.g. a screen reader) has interacted with the application.
Fixed AssistiveSupport.screenReaderStatusChanged not being supported by Narrator (the Windows built-in screen reader).
Gate Adaptive Performance settings during package operations.
As a result of an unsupported configuration, a NavMeshAgent would try to separate from its own NavMeshObstacle component by jumping in arbitrary directions. Now the agent moves in one stable direction.
The macOS character palette shortcut now only opens the palette while a text field is being edited.
EditorChangemacOS
Changed AsyncGPUReadback to reject a readback whose destination NativeArray is still in use by a running job, and report the error through the callback instead of proceeding.
GraphicsChange
"PhysicsComposer.AddLayer", "PhysicsComposer.ToPolygons", "CircleGeometry.ToPolygons" and "CapsuleGeometry.ToPolygons" now log the standard validation warning instead of throwing "ArgumentOutOfRangeException" when given no geometry, fewer than three vertices or an invalid "curveStride".
Physics 2DChange
Built-in USS filter functions with missing or wrong-typed arguments now use the filter's default values and log a warning instead of an error. (UUM-155773) First seen in 6000.7.0b4.
Changed touch dragging of ScrollView content on world-space panels so the content follows the finger pixel for pixel, regardless of the Pixels Per Unit setting.
Added Burst and Collections as dependency for com.unity.2d.tilemap package.
Changed Tilemap component data structure for better compatibility with jobs.
2DChange
Refactored URP 2D shadow shaders into a consolidated multi-pass form with named passes (Self, UnshadowMark, UnshadowUnmark, ProjectedSelf, ProjectedUnshadow). Groundwork for upcoming custom-shader and ShaderGraph master node support; no user-visible rendering change.
2DChange
URP's three internal 2D shadow shaders are merged into a single five-pass shader; no user-visible rendering change.
2DChange
Redesigned the Insets section in Player Settings to show a table with per-inset controls for Visible, Overlapping, and Appearance.
AndroidChange
Updated the Android Gradle Plugin (AGP) version from 9.0.0 to 9.1.1.
AndroidChange
Updated the Gradle version shipped with the Editor from 9.1.0 to 9.3.1.
AndroidChange
Updated Color preferences doc page.
DocumentationChange
Updated the UI system comparison table to indicate that UITK now supports animation and in-scene authoring.
DocumentationChange
Changed the Project Auditor Suppressed Issues preference to also accept spaces as a delimiter between issue IDs, in addition to commas and semicolons.
EditorChange
Disabled static batching by default for new projects.
EditorChange
GTK : Added Support for variable condition transition drag n drop.
EditorChange
GTK : Fixed an issue where the + button was not focusable.
EditorChange
GTK: Fixed an issue where the transition counter was off center.
EditorChange
Project Auditor: Added the ability to skip built-in analyzers for ones that have been migrated to the Project Auditor Rules package.
EditorChange
Project Auditor: bumped Rules package minimum version to 2.0.0.
EditorChange
Project Auditor: moved Domain Reload issues to Code pages.
EditorChange
Project Auditor: new severity icons/colors.
EditorChange
Project Auditor: removing opt-in checkbox for Roslyn.
EditorChange
The macOS character palette shortcut now only opens the palette while a text field is being edited.
EditorChangemacOS
Tweaked some Surface Cache quality presets.
EditorChange
Updated the main toolbar UX, new design for toggles and better visualization of the groups of elements.
EditorChange
Added an option to hide Unity-Namespaced Systems in the System window.
EntitiesChange
Added HasHierarchy tag component to TransformRef when it becomes part of a hierarchy.
EntitiesChange
Bumped the scene serialized CurrentFileFormatVersion version number because the alignment of Entity is changed to 8 bytes.
EntitiesChange
Display meta chunk entities matching queries in System window and Search window.
EntitiesChange
Entities: com.unity.charactercontroller is now embedded as a core package in Unity.
Fixed the incorrect icon for shared and chunk components in the System window.
EntitiesChange
HierarchyColor from the Subscene monobehavior is now an error-level obsolete member.
EntitiesChange
Moved the ImHex .hexpat generation used for binary debugging of .entities files, from the UNITY_DOTS_IMHEX script define to an editor preference (Entities > Debugging).
EntitiesChange
Migrate Surface Cache GI to use Ray Query instead of Ray Tracing Shaders.
GIChange
Require "Raw" target for mesh vertex and index buffers. To achieve this, the "Default Mesh Buffer Target" setting should be set to "Raw" in Project Settings > Graphics.
GIChange
Surface Cache global illumination now uses only the LOD level selected by the LOD Group's Global Illumination LOD, instead of every level.
GIChange
Passing null to the dataType parameter in the method DataTypeStyleMapper.Register now means to not show an icon at all for a type instead of showing a default icon.
Graph ToolkitChange
Changed AsyncGPUReadback to reject a readback whose destination NativeArray is still in use by a running job, and report the error through the callback instead of proceeding.
GraphicsChange
Moved mesh deformation compute shaders to from default built-in resources to built-in extra resources.
GraphicsChange
Changed the run mode of a local player (Scenario Control / Manual Control) to be stored per developer instead of in the scenario asset, so it no longer travels with the asset in version control. Existing scenarios reset to Scenario Control the first time you open them in this version.
MultiplayerChange
N4E is now a regular editor-independent package, where previously it was built-in.
Netcode for EntitiesChange
Changed the signature window to be more consistent and display more information about the installed package.
Package ManagerChange
Help boxes learn more links are at the end of the text in the Package Manager window.
Package ManagerChange
"PhysicsComposer.AddLayer", "PhysicsComposer.ToPolygons", "CircleGeometry.ToPolygons" and "CapsuleGeometry.ToPolygons" now log the standard validation warning instead of throwing "ArgumentOutOfRangeException" when given no geometry, fewer than three vertices or an invalid "curveStride".
Changed the default value of PhysicsBodyDefinition.transformWriteMode from Off to Interpolation. Existing PhysicsCoreSettings2D assets are unaffected; only newly created assets use the new default.
Physics 2DChange
Changed PhysicsWorld.Explode so that it no longer applies an impulse to trigger shapes by default.
Physics 2DChange
Loading a prefab or scene that stores prefab data in the format written by Unity 3.3 and earlier now logs a deprecation warning naming the asset. Save the asset to store it in the current format.
PrefabsChange
Added an infobox to Build Profiles window that informs you of the new Managed Code Variants feature. This infobox can be permanently dismissed by pressing the "Dismiss" button.
ScriptingChange
Added CoreCLR runtime, .NET base class library, and managed Unity engine PDBs to the public symbol server.
ScriptingChangeServer
Changed the Dictionary Inspector warning about ignored entries to offer both Select First and Select All buttons when more than one entry is ignored.
Dictionary fields can now use a class or struct key, or a struct value, that contains a SerializeReference field.
SerializationChange
Renamed the Reset to Defaults item in the Dictionary Inspector header context menu to Reset Layout, to make it clear that it restores only the drawer layout and not the dictionary contents.
Moved the Particle Shader Graph sample from the HDRP package to the Shader Graph package.
ShadergraphChange
Always show the UXML document link and asset actions in the element inspector header outside the UI Stage.
UI ToolkitChange
AttributeOverrides are now shown as disabled during main stage authoring.
UI ToolkitChange
Changed the Text attribute field to 3 lines by default instead of 1 when editing in the UI Builder or Scene inspector.
UI ToolkitChange
Changed theme style sheets to rank above Unity's built-in styles regardless of selector specificity; the previous behavior can be restored with the Legacy Theme Priority setting in Project Settings > UI Toolkit.
UI ToolkitChange
Changed touch dragging of ScrollView content on world-space panels so the content follows the finger pixel for pixel, regardless of the Pixels Per Unit setting.
Allow skipping of shadow, prepass, opaque, and transparent passes when the culling/layer masks would mean nothing would be drawn.
URPChange
Mata passes for GI no longer requires _EMISSION but checks purely from gi material flags.
URPChange
Renamed the Light Falloff Mode option from Linear to Quadratic.
URPChange
Reordered the Screen Space Ambient Occlusion pass when After Opaque is enabled. In previous versions, it used to run in the BeforeRenderingTransparents point in the frame. Now it runs in the AfterRenderingOpaques point in the frame.
URPChange
Moved the "Restart VFX" shortcut from Shift+Space to Slash.
Provided clear messaging that custom light probes are not fully supported in VFX Graph yet.
Further reduce the code size of Web builds using the "Disk Size" Code Optimization settings. Testing across multiple projects and devices showed that compared to the default "Shorter Build Time" setting, "Disk Size" reduced code size by an average of 8.75%, with this change the reduction is now an average of 21.35%. As always these settings are a trade-off between size and runtime performance, the same testing showed that the average frame time performance regression grows from 2.13% to 4.56% with the performance regression being reduced when LTO is enabled.
WebChange
Move progressive asset loading data files to Build directory of player build output.
WebChange
Updated deprecation message for WebAssembly 2023.
WebChange
DirectStorage is now enabled by default in new projects for the Windows Standalone player.
WindowsChange
Updated XR Core Utilities package to version 6.0.0 in order to match Unity version.
XRChange
Updated XR Legacy Input Helpers package to version 6.0.0 in order to match Unity version.
XRChange
XR Management package version updated to 6.0.0.
XRChange