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
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 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
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
Deprecated: Deprecated PlayerSettings.gpuSkinning. Use PlayerSettings.meshDeformation instead.
ScriptingBreaking
Removed the NetCoreRuntime from the Editor install.
EditorBreaking
Removed assertions from ToFileDescriptor.
MonoBreakingUUM-145761
com.unity.analytics - "This package is deprecated and won't be compatible with future Unity versions. It will only receive critical updates, with no new features or bug fixes. Migrate to Unity Analytics: https://docs.unity.com/en-us/analytics"
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: Deprecate Oculus XR package.
EditorBreakingXR
Removed: Project Auditor: Removed FirstCustomCategory from IssueCategory enum, and moved it to IssueCategoryExtensions as a static field.
EditorBreaking
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 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
Removed: Removed the GameCenter implementation.
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
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
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.HierarchyFlattned 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 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
Removed un-unused UnityAot2 Hashes.
IL2CPPBreaking
Removed assertions from ToFileDescriptor.
MonoBreakingUUM-145761
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.
MultiplayerBreakingUUM-146183
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

Added: Added CompileSdkSpec Gradle DSL classes.
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 seeking support to scriptable processors and audio clips used as generators.
AudioAPI change
Added: Added right click menu support for state machine.
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: GTK : Custom state machine conditions can now customize their row in the transition inspector.
EditorAPI 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 States.
Graph ToolkitAPI change
Added: Added an API to edit Group Conditions.
Graph ToolkitAPI change
Added: Added StateMachine.OnStateMachineChanged() public API.
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: 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 "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 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 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 batch setters for user data, owner user data, contact filter and surface material on PhysicsShape, PhysicsBody and PhysicsJoint.
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: Added an optional Display Name property to ProfilerCounterDescriptor for improved readability.
ProfilerAPI change
Added: Added TestRunProfiler custom spans API.
Test FrameworkAPI 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
Changed: Added Render Shader User Value (RSUV) support to intermediate renderers.
2DAPI 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
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: Allow for extra scripting defines when using BuildPlayer with BuildPlayerWithProfileOptions.
Build PipelineAPI change
Changed: Added new abstractions for progressive asset loading.
CoreAPI change
Added: Added APIs to insert custom entries in the Graph and Blackboard right-click menus.
EditorAPI change
Added: Added more alloc-free APIs for TextElement.
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 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: 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: 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: 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 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: 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 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 "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 "PhysicsUserData.vector3IntValue" property of type Vector3Int. This will allow per-shape tilemap position references.
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.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: "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: Added an optional Display Name property to ProfilerCounterDescriptor for improved readability.
ProfilerAPI change
Added: Added CoreCLR ScriptingImplementation enum value exposing CoreCLR player support.
ScriptingAPI change
Added: [Scripting] IL2CPP code coverage support.
ScriptingAPI change
Added: Added TestRunProfiler custom spans API.
Test FrameworkAPI change
Added: Added api for measuring Min-content text.
UI ToolkitAPI change
Added: Added APIs FindPanelRenderer and FindUIDocument.
UI ToolkitAPI change
Added: Added support to capture a VisualElement to a RenderTexture.
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 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
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

Pick your Unity version

Unity Releases compares releases against the version your project is on. Picking it now keeps Compare versions focused on what changes between where you are and where you might be going.