Deprecated: Android: AGP 9.0.0 - Removed deprecated attributes including targetSdkVersion, minSdkVersion, lintOptions, aaptOptions, and packagingOptions.
AndroidBreaking
Changed: Deprecated AssetImportContext.GetArtifactFilePath in favour of AssetImportContext.GetArtifactData.
Asset PipelineBreaking
Deprecated: AssetImportContext.GetOutputArtifactFilePath has been deprecated in favour of SetOutputArtifactData and SetOutputArtifactFile.
Asset PipelineBreaking
Deprecated: Deprecated TryGetObjectIdentifier(int, out ObjectIdentifier), use TryGetObjectIdentifier(EntityId, out ObjectIdentifier) instead.
Asset PipelineBreaking
Deprecated: Deprecated EntityId.Equals(int). EntityId mixing with int is no longer supported.
CoreBreaking
Deprecated: Deprecated the following ModelImporter APIs:
EditorBreaking
Deprecated: The Object.FindObjectsByType methods that take in a FindObjectsSortMode sort order are now deprecated. This needs to be done as we switch from InstanceID to EntityId, as the sort order cannot be maintained (and EntityId's can be re-used with versioning). In a future release these methods will be removed. It is instead advised to sort by specific ordering that is needed for a given situation.
EditorBreaking
Obsoleted: Implicit conversion between EntityId and int has been obsoleted.
EditorBreaking
Obsoleted: Marked PlayerSettings.useAnimatedAutorotation as obsolete. This API is not supported on iOS 16 and later.
EditorBreakingiOS
Obsoleted: CreateAssetWithContent(string, string, Texture2D, Action<int>) has been made obsolete, use CreateAssetWithTextContent(string, string, Texture2D, Action<EntityId>) instead.
EditorBreaking
Obsoleted: GfxResourceInfo.relatedInstanceId has been made obsolete, use GfxResourceInfo.relatedEntityId instead.
EditorBreaking
Removed: Removed Obsolete AssetDatabase APIs.
EditorBreaking
Removed: Removed Project Auditor code analysis APIs.
EditorBreaking
Deprecated: The static class EntitiesJournaling is scheduled for removal in a future release. It is recommended to remove dependencies on this API.
EntitiesBreaking
Obsoleted: A, b, OriginatingId and OriginatingSubId in EntityGuid have been made obsolete.
EntitiesBreaking
Removed: Removed deprecated Aspects feature from the Entities package.
EntitiesBreaking
Removed: Removed deprecated Entities.ForEach and Job.WithCode features.
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
Deprecated: LightingSettings.DenoiserType.Optix is deprecated, resulting in a warning when used. Please use the LightingSettings.DenoiserType.OpenImage lightmap denoiser instead.
GIBreaking
Deprecated: AdaptiveProbeVolumes.BakeAdditionalRequests(int\[\]) is deprecated. Please use AdaptiveProbeVolumes.BakeAdditionalRequests(EntityId\[\]) instead.
GraphicsBreaking
Deprecated: Deprecated instanceID (int) field in RayTracingInstanceMaterialCRC and use EntityId type instead.
GraphicsBreaking
Removed: Internal profiler has been removed (was deprecated in Unity 2017.x).
iOSBreaking
Removed: Removing ReplayKit.
iOSBreaking
Deprecated: Multiplayer Widgets are deprecated in favor of Unity Building Blocks.
PackageBreaking
Deprecated: Deprecate previous public Pack API. public static PackRequest Pack(string packageFolder, string targetFolder).
Package ManagerBreaking
Deprecated: Deprecated PhysicsShape.SurfaceMaterial.Default. Use PhysicsShape.SurfaceMaterial.defaultMaterial instead.
Physics 2DBreaking
Deprecated: Deprecated multiple fields in UISystemProfilerInfo, use EntityId versions instead: instanceIDsCount to entityIdsCount, instanceIDsIndex to entityIdsIndex, objectInstanceId to objectEntityId, and parentId to parentEntityId.
ProfilerBreaking
Deprecated: Deprecated UnityEditorInternal.ProfilerProperty API which is superseded by UnityEditor.Profiling.RawFrameMetadata API.
ProfilerBreaking
Deprecated: Deprecated AudioProfilerGroupInfo.assetInstanceId, use assetEntityId instead.
ProfilerBreaking
Deprecated: Deprecated AudioProfilerGroupInfo.objectInstanceId, use objectEntityId instead.
ProfilerBreaking
Deprecated: Deprecated EventMarker.objectInstanceId, use EventMarker.objectEntityId instead.
ProfilerBreaking
Deprecated: Deprecated GetUISystemBatchInstanceIDs(), use GetUISystemBatchEntityIds() instead.
ProfilerBreaking
Deprecated: Deprecated NativeObjects_InstanceId enum value, use NativeObjects_EntityId instead.
ProfilerBreaking
Deprecated: Deprecated NativeProfilerTimeline_GetInstanceInfoArgs.out_Id, use out_EntityId instead.
ProfilerBreaking
Deprecated: Deprecated ObjectMemoryInfo.instanceId, use entityId instead.
ProfilerBreaking
Deprecated: Deprecated ProfilerProperty.instanceIDs, use entityIds instead.
ProfilerBreaking
Changed: The following methods on HierarchyViewModel have been un-deprecated: HasFlags, HasFlagsCount, DoesNotHaveFlags, DoesNotHaveFlagsCount, EnumerateNodesWithFlags, EnumerateNodesWithoutFlags, GetIndicesWithFlags, GetIndicesWithoutFlags, GetNodesWithFlags, GetNodesWithoutFlags.
ScriptingBreaking
Deprecated: The following methods on HierarchyViewModel are now deprecated: HasAllFlags, HasAllFlagsCount, HasAnyFlags, HasAnyFlagsCount, DoesNotHaveAllFlags, DoesNotHaveAllFlagsCount, DoesNotHaveAnyFlags, DoesNotHaveAnyFlagsCount, EnumerateNodesWithAllFlags, EnumerateNodesWithAnyFlags, EnumerateNodesWithoutAllFlags, EnumerateNodesWithoutAnyFlags, GetIndicesWithAllFlags, GetIndicesWithAnyFlags, GetIndicesWithoutAllFlags, GetIndicesWithoutAnyFlags, GetNodesWithAllFlags, GetNodesWithAnyFlags, GetNodesWithoutAllFlags, GetNodesWithoutAnyFlags.
ScriptingBreaking
Obsoleted: Marked GameObject.active as obsolete. Use GameObject.SetActive(), GameObject.activeSelf, or GameObject.activeInHierarchy instead.
ScriptingBreaking
Obsoleted: GameObject.SetActiveRecursively() is obsolete. Use GameObject.SetActive(), which is now inherited by children.
ScriptingBreaking
Removed: Component.animation has been removed. Use GetComponent&lt;Animation&gt;() instead.
ScriptingBreaking
Removed: Component.audio has been removed. Use GetComponent&lt;AudioSource&gt;() instead.
ScriptingBreaking
Removed: Component.camera has been removed. Use GetComponent&lt;Camera&gt;() instead.
ScriptingBreaking
Removed: Component.collider has been removed. Use GetComponent&lt;Collider&gt;() instead.
ScriptingBreaking
Removed: Component.collider2D has been removed. Use GetComponent&lt;Collider2D&gt;() instead.
ScriptingBreaking
Removed: Component.constantForce has been removed. Use ConstantForce&gt;() instead.
ScriptingBreaking
Removed: Component.hingeJoint has been removed. Use GetComponent&lt;HingeJoint&gt;() instead.
ScriptingBreaking
Removed: Component.light has been removed. Use GetComponent&lt;Light&gt;() instead.
ScriptingBreaking
Removed: Component.networkView has been removed. Use GetComponent&lt;NetworkView&gt;() instead.
ScriptingBreaking
Removed: Component.particleSystem has been removed. Use GetComponent&lt;ParticleSystem&gt;() instead.
ScriptingBreaking
Removed: Component.renderer has been removed. Use GetComponent&lt;Renderer&gt;() instead.
ScriptingBreaking
Removed: Component.rigidbody has been removed. Use GetComponent&lt;Rigidbody&gt;() instead.
ScriptingBreaking
Removed: Component.rigidbody2D has been removed. Use GetComponent&lt;Rigidbody2D&gt;() instead.
ScriptingBreaking
Removed: Prevent System.Object.MemberwiseClone being called on a UnityEngine.Object. MemberwiseClone allowed many Managed UnityEngine.Objects to reference a single Native UnityEngine.Object, leading to undefined behaviour, and eventually, a crash.
ScriptingBreakingUUM-59991
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.AddComponent with string argument. Use GameObject.AddComponent<T>() instead.
ScriptingBreaking
Removed: Removed GameObject.animation. Use GameObject.GetComponent<Animation>() instead.
ScriptingBreaking
Removed: Removed GameObject.audio. Use GameObject.GetComponent<AudioSource>() instead.
ScriptingBreaking
Removed: Removed GameObject.camera. Use GameObject.GetComponent<Camera>() instead.
ScriptingBreaking
Removed: Removed GameObject.collider2D. Use GameObject.GetComponent<Collider2D>() instead.
ScriptingBreaking
Removed: Removed GameObject.collider. Use GameObject.GetComponent<Collider>() instead.
ScriptingBreaking
Removed: Removed GameObject.constantForce. Use GetComponent<ConstantForce>() instead.
ScriptingBreaking
Removed: Removed GameObject.hingeJoint. Use GameObject.GetComponent<HingeJoint>() instead.
ScriptingBreaking
Removed: Removed GameObject.light has been removed. Use GameObject.GetComponent<Light>() instead.
ScriptingBreaking
Removed: Removed GameObject.networkView. Use GameObject.GetComponent<NetworkView>() instead.
ScriptingBreaking
Removed: Removed GameObject.particleSystem. Use GameObject.GetComponent<ParticleSystem>() instead.
ScriptingBreaking
Removed: Removed GameObject.PlayAnimation. Use animation.Play() instead.
ScriptingBreaking
Removed: Removed GameObject.renderer. Use GameObject.GetComponent<Renderer>() instead.
ScriptingBreaking
Removed: Removed GameObject.rigidbody2D. Use GameObject.GetComponent<Rigidbody2D>() instead.
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
Removed: Removed GameObject.SampleAnimation(AnimationClip, float). Use AnimationClip.SampleAnimation(GameObject, float) instead.
ScriptingBreaking
Removed: Removed GameObject.StopAnimation. Use animation.Stop().
ScriptingBreaking
Obsoleted: Legacy Render Graph APIs (only used internally in pre-6000.3 HDRP) have been marked as obsolete.
SRP CoreBreaking
Deprecated: ScriptableRendererData useNativeRenderPass property is deprecated, URP runs with Render Graph that supports native render pass by default.
URPBreaking
Removed: Removed Instant Games derived platform.
WebBreaking
Deprecated: Deprecate XRDevice, XRStats and XRSettings APIs in Unity6.5+ and provide alternative paths.
XRBreaking
Removed: Removed legacy VR Module and its relevant APIs.
XRBreaking
Android: AGP 9.0.0 - Removed the versionCode/versionName properties from library Gradle modules as they have no effect. These properties are only taken into account by Gradle in application modules.
AndroidBreaking
Android: AGP 9.0.0 - Replaced the deprecated ProGuard configuration file proguard-android.txt with proguard-android-optimize.txt.
AndroidBreaking
Removed x86_64 support completely for Android.
AndroidBreaking
Removed unity.launch-fullscreen entry in manifest and replaced it with unity.requested-visible-insets and unity.system-bars-behavior.
AndroidBreaking
Deprecated the Oculus XR package.
EditorBreakingXR
Removed interpreting the line parameter as a context object when entering Prefab Stage. This change requires using the supported API added in 2021.3: SceneManagement.PrefabStageUtility.OpenPrefab.
EditorBreaking
Removed null transform warnings when adding null Transforms or invalid TransformHandles to TransformAccessArrays.
EditorBreaking
Removed the setting to enable/disable Entities in the hierarchy window. Entities are now always shown in the hierarchy when hierarchy v2 is enabled and the Entities package is installed.
EntitiesBreaking
The DataMode picker (the orange dropdown button) has been removed from the inspector. To see e.g. Entities data, simply select the Entity you wish to inspect and the data will be visible in the inspector. The DataMode picker is still available in the Entities Hierarchy window.
EntitiesBreaking
The Journaling window is marked as deprecated. This window will be removed in a future version of Unity.
EntitiesBreaking
Deprecated the WebRTC package in Unity 6.4.
PackageBreaking
Removed package dependency to com.unity.ugui.
SRP CoreBreakingcom.unity.ugui
com.havok.physics - "This package is no longer supported on this editor version."
Packages updatedBreaking
com.unity.xr.oculus - "This package is no longer supported on this editor version."
Packages updatedBreakingcom.unity.xr.oculusXR
com.unity.multiplayer.widgets - "This package is no longer supported on this editor version."
Packages updatedBreakingcom.unity.multiplayer.widgets
com.unity.meta-instant-games-sdk - "Support for the Facebook Instant Games C# SDK for Unity is now deprecated and not recommended for production."
Packages updatedBreakingcom.unity.meta-instant-games-sdk
Added: Added BlendShape API to SpriteRenderer to enable blend shape animations on 2D sprites.
2DAPI change
Added: Added new SetTiles APIs for the Tilemap using native buffers.
2DAPI change
Added: Added overloads for RenderSpriteInstanced to support List, NativeArray, and ReadOnlySpan.
2DAPI change
Added: Added RenderSprite and RenderSpriteInstanced scripting APIs.
2DAPI change
Added: Expose texture resources in Universal2DResourceData.
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 AndroidApplication.isInMultiWindowMode.
AndroidAPI change
Added: Added AndroidApplication.onMultiWindowModeChanged.
AndroidAPI change
Added: Added AndroidBuild.Version class.
AndroidAPI change
Added: Added AndroidAssetPacks.ShowConfirmationDialogAsync method that wraps Android's AssetPackManager.showConfirmationDialog for displaying user confirmation dialogs to download Android asset packs.
AndroidAPI change
Added: Android FoldingFeature API (https://developer.android.com/reference/androidx/window/layout/FoldingFeature) is exposed to C\#.
AndroidAPI change
Added: AndroidWindowInsets, controls system bars behavior and queries insets at runtime.
AndroidAPI change
Added: Introduce AndroidJNI.DumpReferenceTables() which can dump JNI references to logcat, enabling you to fix JNI leaks more easily.
AndroidAPI change
Added: Listen and control insets at runtime - AndroidApplication.onWindowInsetsChanged, AndroidApplication.currentWindowInsets.
AndroidAPI change
Added: PlayerSettings.Android.requestedVisibleWindowInsets, controls which insets should be visible on application start.
AndroidAPI change
Added: PlayerSettings.Android.systemBarsBehavior, controls how system bars should behave when swiping from bottom or top of the screen.
AndroidAPI change
Changed: PlayerSettings.Android.renderOutsideSafeArea will only control cutout rendering mode, it will not affect status bar visibility, if you want to show/hide status bar use PlayerSettings.Android.requestedVisibleWindowInsets or AndroidApplication.currentWindowInsets.Show/Hide functions.
AndroidAPI change
Changed: Screen.fullscreen no longer does anything on Android, if you want to control navigation bars visibility, use AndroidApplication.currentWindowInsets.Show/Hide functions.
AndroidAPI change
Added: Added API to ScriptableAudioPipeline ControlContext to ease discovery of when the system is configuring.
AudioAPI changeUUM-133107
Added: Added GeneratorInstance.Result.isFinished and Finished() to determine whether a nested generator finished producing samples.
AudioAPI change
Added: Added Unity.Collections.NativeList&lt;T&gt;.Count property, which is the same as Unity.Collections.NativeList&lt;T&gt;.Length, to make it easier to go to/from System.Collections.Generic.List&lt;T&gt;.
CoreAPI change
Added: Added a way to define the default background color and dynamic panel behavior of overlays for a specific window.
EditorAPI change
Added: Added an API to add and remove variables in GTK graphs.
EditorAPI change
Added: Added APIs and UI to control the SceneView camera acceleration, easing and speed modifier.
EditorAPI change
Added: Added cacheMissCollection and additional GraphicsStateCollection methods. cacheMissCollection is an optional child object that becomes created and populated upon calling Warmup with the parameter 'traceCacheMisses = true'. It can be used to collect PSOs that are loaded when the current GraphicsStateCollection has been warmed up and aren't contained in it.
EditorAPI change
Added: Added Global Editor log preference.
EditorAPI change
Added: Added the ability to add additional previousBuildMetadataLocations to build options from within the PrepareForBuild callback using the newly added BuildPlayerContext.AddAdditionalMetadataPathToPlayerOptions API.
EditorAPI 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: EntityId.ToULong and EntityId.FromULong for low-level access to underlying data in the EntityId. Useful for custom serialisation.
EditorAPI change
Added: GTK : Added public API to add/remove node from graph.
EditorAPI change
Added: GTK : Api to connect/disconnect wires Added public APIs to connect and disconnect wires in Graph Toolkit. The new APIs are bool Connect(IPort output, IPort input) and bool Disconnect(IPort output, IPort input).
EditorAPI change
Added: Introduce build profile helper APIs for: OnActiveProfileChanged, GetAllBuildProfiles, GetBuildProfileAtPath, and GetInstalledPlatforms.
EditorAPI change
Changed: Expose JobHandle.GetHashCode and Equals and ==/\!= operators when ENABLE_UNITY_COLLECTIONS_CHECKS is not defined.
EditorAPI change
Changed: Improved Project Auditor auto-fixing API.
EditorAPI change
Changed: Project Auditor: remove MemoryIgnoreVoidReturn area, and introduce returnType instead.
EditorAPI change
Changed: Renamed AdvancedDropdownItem.children to AdvancedDropdownItem.childList, so it can return IReadOnlyList.
EditorAPI change
Changed: \[Android\] Modify Build Settings - indented sub-settings under the Development Build checkbox and show or hide relevant settings depending on build type on Unity 6.5 for all platforms.
EditorAPI changeAndroid
isFileScaleUsed
API ChangesAPI change
normalImportMode
API ChangesAPI change
optimizeMesh
API ChangesAPI change
resampleRotations
API ChangesAPI change
splitTangentsAcrossSeams
API ChangesAPI change
tangentImportMode.
API ChangesAPI change
Added: Added GameWindow extension method for setting input regions.
EmbeddedLinuxAPI change
Added: Added IVI Surface ID setting through the Windowing API.
EmbeddedLinuxAPI change
Added: Enabled Multi-windowing API.
EmbeddedLinuxAPI change
Changed: Rename properties in Windowing API to use camel case.
EmbeddedLinuxAPI changeUUM-132372
Added: Added new NativeStream.ScheduleConstruct function for creating stream using NativeReference for specifying buffer count.
EntitiesAPI change
Added: Added UnsafeStream.ReaderState to enable random accesses in stream buffers through UnsafeStream.Reader.
EntitiesAPI change
Added: An error will now be logged when the generation of an IJobEntity schedule invocation fails.
EntitiesAPI change
Added: Provide unsafe access to NativeStream foreach count ptr for IJobParallelForDefer job scheduling.
EntitiesAPI change
Added: Added API for accessing and modifying node and context node default color. Also adds the color right click menu option on context nodes.
Graph ToolkitAPI change
Added: Added API for modifying node and port tooltips. Also adds a getter for port tooltips.
Graph ToolkitAPI change
Added: Added IConstantNode.TrySetValue&lt;T&gt;().
Graph ToolkitAPI change
Added: Added IPort.TrySetValue&lt;T&gt;().
Graph ToolkitAPI change
Added: Added IVariable.TrySetValue&lt;T&gt;().
Graph ToolkitAPI change
Added: Added method IVariable.RemoveFromGraph().
Graph ToolkitAPI change
Added: Added new API GetVariables(bool orderByDisplay) to retrieve variables in the same order they appear in the blackboard.
Graph ToolkitAPI change
Added: Added quality-of-life APIs for faster graph queries: INode.IsConnected: Checks if a node has any connections. IVariable.GetNodes: Retrieves all variable nodes associated with a variable. IVariable.IsConnected: Checks if a variable has at least one connected variable node in the graph. IVariable.NodeCount: Gets the number of variable nodes associated with this variable in the graph.
Graph ToolkitAPI change
Added: Added support to customize a node's icon.
Graph ToolkitAPI change
Added: Added the CategoryPath and Title parameters to NodeAttribute for modifying the path of a node within the graph item library. The path is constructed as "CategoryPath/Title". NodeAttribute.Title will also be used as the default title of its node unless Node.Title is set.
Graph ToolkitAPI change
Added: Added the INode.Subtitle API to access and modify a node's subtitle.
Graph ToolkitAPI change
Added: Added the INode.Title API for accessing and modifying the title of a node.
Graph ToolkitAPI change
Added: Added AsVertical method to port builder which allows for creating ports in the vertical orientation.
Graph ToolkitAPI change
Added: Added OnDefineSubgraphNodeOptions method in the Graph class which allows for creating node options on subgraph nodes of that Graph type.
Graph ToolkitAPI change
Added: Added UndoBeginRecordGraph and UndoEndRecordGraph methods to the Graph class. These allow for support for undo/redo of operations in the Graph.
Graph ToolkitAPI change
Added: Added: APIs for context node block management: ContextNode.AddBlockNode, ContextNode.CreateBlockNode<TBlockNode>, ContextNode.CreateBlockNode, ContextNode.InsertBlockNode, ContextNode.RemoveBlockNode and ContextNode.ClearBlockNodes. These APIs enable creating, inserting, removing, and clearing block nodes within a ContextNode.
Graph ToolkitAPI change
Added: Exposed a setter for each property in IVariable.
Graph ToolkitAPI 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 RayTracingAccelerationStructure.GetNativeBufferPtr for binding the TLAS buffer to shaders from native rendering plugins.
GraphicsAPI change
Added: Added LoadFromJson function to GraphicsStateCollection that allows to load collections directly from a JSON-formatted string.
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 a new UnityHttpMessageHandler class derived from HttpMessageHandler for making web requests using HttpClient and gRPC. Added supporting methods to UnityWebRequest to get response trailers. Added a new method to DownloadHandler which will be called when the headers are complete.
NetworkingAPI change
Added: Expose Pack API as public. PackRequest Pack(string packageFolder, string targetFolder, string ownerOrgId).
Package ManagerAPI change
Added: Added Physics. method for cases when it is undesirable to enable auto de-allocation of events and instead a manual approach is desired where memory can be recovered during specific events.
PhysicsAPI changeUUM-112248
Added: Added "PhysicsUserData.objectValueId" property to expose the EntityID used for the "objectValue" property. The property now also shows the EntityId, Object Name and Type as a tooltip or "None" if no Entity or "Invalid Object Id" if the EntityID does not represent a valid object.
Physics 2DAPI changeUUM-134952
Added: Added the missing PhysicsComposer.ClearLayers() API to remove the need to get layer handles and then sequentially remove layers with those handles.
Physics 2DAPI changeUUM-133493
Added: PhysicsComposer can now both get or destroy all composers using "PhysicsComposer.GetComposers()" and "PhysicsComposer.DestroyAll()" methods.
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 Profiler Module tooltip API for the custom charts and custom modules.
ProfilerAPI change
Changed: Rename properties in Windowing API to use camel case.
QNXAPI changeUUM-132372
Added: Added MainToolbarElementAvailability attribute for registering availability callbacks for main toolbar elements. (STO-3718)
Scene/Game ViewAPI change
Added: - Added new method AsReadOnlySpan on HierarchyFlattened to retrieve the flattened nodes from a hierarchy flattened as a read-only span.
ScriptingAPI change
Added new method AsReadOnlySpan on HierarchyViewModel to retrieve the nodes from a hierarchy view model as a read-only span.
API ChangesAPI change
Add new event FlagsChanged on HierarchyViewModel, that is invoked whenever flags are changed.
API ChangesAPI change
Added new method EndFlagsChangeWithoutNotify on HierarchyViewModel to end the flags change scope without invoking the FlagsChanged event.
API ChangesAPI change
Added: Added FileUtil.PathToAbsolutePath method.
ScriptingAPI 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 new APIs and classes to enable HierarchyView and HierarchyWindow customization.
ScriptingAPI change
Added: Added CurrentAssemblies.LoadFromPath(string), CurrentAssemblies.LoadFromBytes(byte[]), CurrentAssemblies.LoadFromBytes(byte[], byte[]); these new APIs are code reload-safe replacements for Assembly.LoadFrom(string), Assembly.Load(byte[]), Assembly.Load(byte[], byte[]), respectively.
ScriptingAPI change
Added: Exposed Edit and Play Mode Lifecycle Attributes.
ScriptingAPI change
Added: Exposed OnCode lifecycle attributes for domain reload event handling.
ScriptingAPI change
Changed: - Method EndFlagsChange now return which flags changed, if any.
ScriptingAPI change
Struct HierarchyViewModelFlagsChangeScope now has a constructor parameter to choose if FlagsChanged event is invoked at the end.
API ChangesAPI 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 static methods Shader.TryConvertPropertyIDToName / Shader.PropertyIDToName.
ShadersAPI change
Added: Added new operator == and \!= for the struct TextureHandle.
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 a new API to clear a VisualElement's inline styles (element.style.Clear()).
UI ToolkitAPI change
Added: Added a new method VisualElement.ReleaseResources() to help reclaim memory faster.
UI ToolkitAPI change
Added: Added a new overload of VisualElement.Clear() with options to help memory reduction and leak investigation.
UI ToolkitAPI change
Added: Added an overload for VisualElement.AddToClassList() which allows adding multiple classes with a single call.
UI ToolkitAPI change
Added: Added support for PanelRenderer in RuntimeUITestFixtures.
UI ToolkitAPI change
Added: Added UI Toolkit profiler category and moved associated markers to this new category.
UI ToolkitAPI change
Added: Added VisualElementAssetReferenceTable and a version of CloneTree which returns an instance of a VisualElementAssetReferenceTable.
UI ToolkitAPI change
Added: Added VisualElementReference class, which enables referencing UI elements within a PanelRenderer.
UI ToolkitAPI change
Added: Added allowBuiltinResources to ObjectField. This allows for including or excluding builtin resources from the object selector. Enabled by default.
UI ToolkitAPI change
Added: Added new ScheduleParallel() methods for multi-threaded execution of event processing jobs (ICollisionEventsJob, ITriggerEventsJob, IImpulseEventsJob) and callback jobs (IContactsJob, IJacobiansJob, IBodyPairsJob). The previously existing Schedule() method runs such jobs only on a single thread. However, for processing of large data sets (for example, many events), or if a job has a high computational cost, it can be beneficial for performance to schedule the job to run on multiple threads for parallel processing instead by using the newly provided ScheduleParallel() method.
Unity PhysicsAPI change
Added: Material Reference Converter for Built-in to URP 2D migration. Automatically updates material references in GameObjects, Prefabs, and ScriptableObjects when converting projects to URP with a 2D Renderer.
URPAPI change
Added: Render Pipeline Converter - 2D - Adding PSD and PSB upgrader.
URPAPI change
Added: Render Pipeline Converter - Added Shader converters for URP 2D Renderer.
URPAPI change
Removed: Removed unused DebugLevel field from URP asset.
URPAPI changeUUM-129416
Added: New APIs to prewarm the compute shaders (generated and built-in) used by VFX Graph.
VFX GraphAPI change
Added: Added XRDisplaySubsystem. displayRefreshRate (replaces XRDevice.refreshRate). Added XRDisplaySubsystem.fovZoomFactor (replaces XRDevice.fovZoomFactor). Added XRDisplaySubsystem.activeSubsystem property to return the active display subsystem if any.
XRAPI 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.