Changed: Deprecated AssetImportContext.GetArtifactFilePath in favour of AssetImportContext.GetArtifactData
Asset PipelineBreaking
Changed: Deprecated the shader compiler pragma argument #pragma enable_d3d11_debug_symbols and replaced it with #pragma enable_debug_symbols.
EditorBreaking
Changed: SceneViewCameraWindows.additionalSettingsGui have been deprecated as it was using ImGUI. It is replaced by SceneViewCameraWindows.createAdditionalSettingsGUI and SceneViewCameraWindows.bindAdditionalSettings using UITK. The new version is per SceneView and support copy-paste and reset of settings.
EditorBreaking
Deprecated: It is no longer possible to enable word wrapping in YAML files.
EditorBreaking
Deprecated: The static class EntitiesJournaling is scheduled for removal in a future release. It is recommended to remove dependencies on this API.
EntitiesBreaking
Deprecated: Support for OpenGL ES for Entities Graphics is deprecated. While the graphics API itself remains a valid choice, the Entities Graphics package specifically will no longer support it in a future version of Unity.
Entities GraphicsBreaking
Changed: Changed SystemInfo.deviceName to equal SystemInfo.unsupportedIdentifier on Game Core Xbox, instead of using the incompatible Windows systeminfo::GetDeviceName implementation.
Game CoreBreakingWindowsUUM-132562
Obsoleted: NetworkDriverStore.Disconnect is obsoleted in favor of the new NetworkStreamDriver.Disconnect.
Netcode for EntitiesBreaking
Obsoleted: GameObject.SetActiveRecursively() is obsolete. Use GameObject.SetActive(), which is now inherited by children.
ScriptingBreaking
Removed: Removed Component.rigidbody. Use Component.GetComponent<Rigidbody>() instead. With this change, Component.rigidbody will no longer be automatically upgraded to Component.GetComponent<Rigidbody>() and will instead have to be manually changed by the user.
ScriptingBreaking
Removed: Removed GameObject.rigidbody. Use GameObject.GetComponent<Rigidbody>() instead. With this change, GameObject.rigidbody will no longer be automatically upgraded to GameObject.GetComponent<Rigidbody>() and will instead have to be manually changed by the user.
ScriptingBreaking
Obsoleted: Class UIToolkitInputConfiguration is now obsolete and can be kept in a project but will produce an error. Its only method, SetRuntimeInputBackend, is also now obsolete with error.
UI ToolkitBreaking
Obsoleted: Enum UIToolkitInputBackendOption is now obsolete and can be kept in a project but will produce an error. It's obsolete value LegacyBackend is also now producing an error if used.
UI ToolkitBreaking
Made changes required for GameObject side input management for prediction. Will be visible once the experimental define is removed.
Netcode for EntitiesBreaking
Added: Added overloads for RenderSpriteInstanced to support List, NativeArray, and ReadOnlySpan.
2DAPI change
Added: Added new structs in the Unity.AI.Navigation.LowLevel namespace with methods that you can call in jobs. To help you debug race conditions, the added queries can throw safety exceptions when ENABLE_UNITY_COLLECTIONS_CHECKS is defined. The new structs are: NavWorld, NavNode, NavLocation and NavQueryBuffer. Two new enums, NavQueryStatus and NavNodeType, help in various operations.
AIAPI change
Added: Added the method BuildReport.LoadReport() to support loading BuildReports files from past builds, regardless of their location inside or outside of the active Unity project.
Build PipelineAPI change
Added: Added BuildProfile.CreateBuildProfile API for creating build profiles for specified platforms and automatically installs required platform packages if not already installed.
EditorAPI change
Added: Animation: Added AnimationEventInfo ref struct as a non-allocating alternative parameter for animation event callbacks. This new stack-allocated struct eliminates garbage collection overhead when handling animation events, providing significant performance benefits for animation-heavy scenes. AnimationEventInfo provides read-only access to all animation event parameters and state information from both Animator and legacy Animation components. Existing AnimationEvent callbacks remain fully backwards compatible.
EditorAPI change
Added: GTK : Added an API to access the GUID of different graph elements.
EditorAPI change
Added: GTK : Added port.WithCapacity API to change port capacity.
EditorAPI change
Added: \[Android\] Added "Profileable Shell" setting for Release builds in Android build settings for Unity 6.6.
EditorAPI changeAndroid
Added: \[Android\] Added internal analytics for new "Profileable Shell" setting for Release builds in Android build settings for Unity 6.6.
EditorAPI changeAndroid
Added: \[Android\] Added manifest entry for new "Profileable Shell" setting for Release builds in Android build settings for Unity 6.6.
EditorAPI changeAndroid
Added: \[Android\] Added UI text and tooltip for new "Profileable Shell" setting for Release builds in Android build settings for Unity 6.6.
EditorAPI changeAndroid
Changed: Added a Built-In category to the Material Editor shader selector when a Scriptable Render Pipeline is in use.
EditorAPI change
Added: Added additional overloads to the GraphicsStateCollection APIs, AddVariant, AddVariants, RemoveVariant, and ContainsVariant that now allow passing in an explicit GlobalKeywords list to use when specifying variants.
GraphicsAPI change
Added: Added LoadFromJson function to GraphicsStateCollection that allows to load collections directly from a JSON-formatted string.
GraphicsAPI change
Added: Extend the GraphicsStateCollection Importer Inspector window to link Shaders to existing shader assets.
GraphicsAPI change
Changed: Moved the GraphicsStateCollection API from UnityEngine.Experimental.Rendering to UnityEngine.Rendering namespace.
GraphicsAPI change
Added: Added iPhone 17e device generation enum and screen cutouts.
iOSAPI change
Added: Added NetworkStreamDriver.Disconnect that has some checks before disconnecting, and is in the same place as where Connect is located.
Netcode for EntitiesAPI change
Added: When using the experimental single world host, added BroadcastTargets to SendRpcCommandRequest to filter RPCs from being sent to the host world when sending RPCs from server to all clients.
Netcode for EntitiesAPI changeServer
Added: Added aPhysicsUserData.objectValueId property to expose the EntityID used for the objectValue property. The property now also displays the EntityId, object name, and type as a tooltip, or "None" if no Entity exists, or "Invalid Object Id" if the EntityID does not represent a valid object.
Physics 2DAPI changeUUM-134952
Added: PhysicsComposer can now both get or destroy all composers using PhysicsComposer.GetComposers() and PhysicsComposer.DestroyAll() methods.
Physics 2DAPI changeUUM-134952
Added: PhysicsComposer can now convert both CircleGeometry and CapsuleGeometry to PolygonGeometry using a static method of PhysicsComposer.ToPolygons().
Physics 2DAPI changeUUM-134952
Added: PhysicsWorld, PhysicsBody, PhysicsShape and PhysicsJoint can set owner-only PhysicsUserData with SetOwnerUserData() and retrieve it with .ownerUserData.
Physics 2DAPI changeUUM-134952
Added: Added Add Object-context overloads to ProfilingScope and CommandBuffer.BeginSample api
ProfilerAPI change
Added: Added Unity Object and string metadata context support for ProfilerMarker.Auto().
ProfilerAPI changeUUM-137963
Added: Added a Windowing API to set the pipeline Id of a QNX window.
QNXAPI change
Added: Added a Windowing API to set the window class of a QNX window.
QNXAPI change
Added: Added z-order control for QNX screen windows through the Windowing API.
QNXAPI changeWindows
Added: Enabled window transparency setting in QNX using Windowing.
QNXAPI change
Added: Added implicit conversion between int2 &lt;-&gt; VectorInt2.
ScriptingAPI change
Added: Added implicit conversion between int3 &lt;-&gt; VectorInt3.
ScriptingAPI change
Added: Added a VariantsUploadedToGpuLastFrame class to query shader variants uploaded to the GPU driver during the last frame in the player.
ShadersAPI change
Added: Added depth target support to the existing render graph input attachment API.
SRP CoreAPI change
Added: Added readonly properties to GridLayoutGroup to indicate the number of rows and columns created during the last layout pass.
uGUIAPI change
Added: Added UniqueStyleString struct to replace string for VisualElement class list methods.
UI ToolkitAPI change
Added: Added UQuery.Class method using UniqueStyleString as argument.
UI ToolkitAPI change
Added: Added VisualElement.AddToClassList methods using UniqueStyleString as argument.
UI ToolkitAPI change
Added: Added VisualElement.ContainsClassList methods using UniqueStyleString as argument.
UI ToolkitAPI change
Added: Added VisualElement.EnableInClassList method using UniqueStyleString as argument.
UI ToolkitAPI change
Added: Added VisualElement.GetClassNames methods returning UniqueStyleString enumerable.
UI ToolkitAPI change
Added: Added VisualElement.RemoveFromClassList method using UniqueStyleString as argument.
UI ToolkitAPI change
Added: Added VisualElement.ToggleInClassList method using UniqueStyleString as argument.
UI ToolkitAPI 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.