Powerful 3D and 2D gaming development software for Windows

Unity

Unity

  -  Freeware
Unity for Windows is a game development ecosystem: a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D content; easy multiplatform publishing; thousands of quality, ready-made assets in the Asset Store and a knowledge-sharing community.

Note: FileHorse is not a corporate affiliate or subsidiary of Unity and this site is not endorsed by Unity. “Unity” is a trademark or registered trademark of Unity Technologies or its affiliates in the U.S. (Unity®) and other countries.

Unity 6 Personal - Free Plan
  • Start creating with the free version of Unity
  • Latest version of the core Unity development platform
  • Resources for getting started and learning Unity
  • Eligibility: Revenue or funding less than $100K in the last 12 months
For independent developers and studios, the app’s democratizing ecosystem smashes the time and cost barriers to creating uniquely beautiful games. They are using the prpogram to build a livelihood doing what they love: creating games that hook and delight players on any platform.

For beginners, students and hobbyists who want to explore and get started with Unity Game Engine for PC.



What`s New in Unity 6
  • Boost rendering performance
  • Simplify multiplayer game creation
  • Expand multiplatform reach
  • Unity multiplatform features (Build Profiles, Platform Browser)
  • Achieve more engaging visuals
  • Unlock possibilities with Runtime AI
  • Enhance productivity and functionality
  • Get the most out of Unity 6 with these learning resources
What is the Unity Hub?

Use the Unity Hub to manage multiple installations of the Unity Editor, create new projects, and access your work.

Create with Unity

Start creating
Move efficiently from prototyping to full production with a truly flexible editor and intuitive workflows supported by tons of tutorials and ready-made assets to guide your learning and development.

Work with the latest
Continuous updates allow you to develop with all the latest and most advanced features for high-end visuals, audio, animation, physics — everything you need to make any kind of game.

Build for all audiences
Target more devices more easily — with Unity, you can build once and deploy to the largest range of mobile, VR, desktop, Web, Console, and TV platforms in the industry with a single click.

Features and Highlights

All-in-one editor
Available on Windows and Mac, it includes a range of artist-friendly tools for designing immersive experiences and game worlds, as well as a strong suite of developer tools for implementing game logic and high-performance gameplay.

2D & 3D
The app supports both 2D and 3D development with features and functionality for your specific needs across genres.

AI pathfinding tools
The app includes a navigation system that allows you to create NPCs that can intelligently move around the game world. The system uses navigation meshes that are created automatically from your Scene geometry, or even dynamic obstacles, to alter the navigation of the characters at runtime.

User interfaces
The built-in Unity UI system allows you to create user interfaces fast and intuitively.

Physics engines
Take advantage of Box2D and NVIDIA PhysX support for highly realistic and high-performance gameplay.

Custom tools
You can extend the Editor with whatever tools you need to match your team’s workflow. Create and add customized extensions or find what you need on the Asset Store, which features thousands of resources, tools, and extensions to speed up your projects.

Storytelling
The Timeline tool gives artists the power to create stunning cinematic content & gameplay sequences.

Cinematic content
With Cinemachine’s suite of smart and dynamic cameras, you can control shots just like a movie director from within the Editor.

Color grading and effects
Create the look you want with professional and fully featured Post Processing FX.

Animation
Use Timeline, Anima2D, Particles, and tight integration with Maya and other 3rd party tools to animate directly within the program.

Level design and worldbuilding
With ProBuilder, rapidly design, prototype and play-test your levels, then blend textures and colors, sculpt meshes and scatter objects with Polybrush (beta).

Round-tripping
Detail and polish your 3D models on-the-fly with the software's seamless integration of digital content-creation (DCC) tools like Maya.

Lighting
Get instant feedback with the Progressive Lightmapper, polish and hone your scene with Post Processing, and optimize your scene with Mixed Lighting Modes for the best result per target platform.

Real-time rendering engine
Produce amazing visual fidelity with Real-Time Global Illumination and Physically Based Rendering.

Native Graphics APIs
The program supports multi-platforms but still stays close to the low-level graphics API of each platform, allowing you to take advantage of the latest GPU and hardware improvements, like Vulkan, iOS Metal, DirectX12, nVidia VRWorks or AMD LiquidVR.

More platform support
25+ platforms across mobile, desktop, console, TV, VR, AR, and the Web. With this app, you can reach the widest audience and feel confident that your IP is future-proof, no matter how the industry evolves or where your imagination takes you.

Work faster together
Save, share, and sync your projects and use simple version control and cloud storage, all seamlessly integrated with this app.

Real-time insights with live-ops analytics
The app Analytics gives you fast, easy access to important information that helps you improve your in-game economy and the player experience. Complete set of live-operation features (game & player analytics, heatmaps, performance monitoring) to monitor player activity.

Discover app errors
The tool Performance Reporting addresses issues in real-time. Find and address the high priority issues that your customers are experiencing. Collect and react to application errors, in real-time, across devices and platforms.

The simplest way to increase revenue
Revenue-generation solutions: Ads & IAP. A complete set of live-operation analytics features for monitoring player activity. Continuous improvements: Optimize the performance of your live games in real-time, without redeployment, and increase user Lifetime Value (LTV) with the power of analytics data.

Alternatives

Unreal Engine - High-fidelity graphics, real-time 3D creation.

Godot Engine - Open-source, lightweight, and versatile 2D/3D engine.

CryEngine - Advanced graphics and real-time rendering tools.

GameMaker Studio - Simple 2D development with drag-and-drop system.

Cocos Creator - Open-source framework focused on mobile games.

Construct 3 - Beginner-friendly drag-and-drop 2D game engine.

RPG Maker: Tailored for creating role-playing games, this software provides specialized tools and a simple interface for RPG development.

PROS
  • User-Friendly Interface & Learning Curve
  • Cross-Platform Support
  • Large Asset Store & Community
  • Powerful Visual Scripting with Bolt
  • Extensive Documentation & Tutorials
CONS
  • Performance Limitations for High-End Games
  • Licensing Cost for Pro Features
  • High Complexity for Custom Shaders
  • Steep Hardware Requirements for Larger Projects
Note: Unity Personal is free, but it can only be used if your revenue is below $100,000 or you have raised less than this amount in funds. Users who do not meet this requirement need to purchase a Pro or Plus subscription, which also offers advanced support features.

Also Available: Download Unity for Mac

  • Unity 6000.0.27 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Unity 6000.0.27 Screenshot 1
  • Unity 6000.0.27 Screenshot 2
  • Unity 6000.0.27 Screenshot 3
  • Unity 6000.0.27 Screenshot 4
  • Unity 6000.0.27 Screenshot 5

What's new in this version:

Unity 6000.0.27
Fixed:
- 2D: Fixed light blending issues with shadows
- Documentation: Improved EventInterestAttribute documentation by specifying what happens with event types that are not part of an EventInterestAttribute argument
- Editor: Fixed a crash that would occur due to memory corruption in the Burst domain after logging a warning to the Editor console
- Editor: Fixed a warning about probe volume
- Editor: Fixed an issue for 'Recursive serialization is not allowed for threaded serialization' when the build profile context instance is created in a serialization callback
- Editor: Fixed an issue there the export window maintains initial selection after selecting different items in the Project Browser
- Editor: Fixed an issue when moving the registration of the SceneViewMotion and RectSelection shortcut contexts to the OnEnable method of the Scene view
- Editor: Fixed an issue where Android build profiles with player settings overrides weren't behaving based on the value of the scripting backed setting of the build profile, but instead were behaving based on the global/project settings player setting value
- Editor: Fixed an issue where Screen Space Shadows did not work on Decals
- Editor: Fixed an issue where sometimes the Editor Tools system would not refresh when the selection changes while the Inspector window is locked
- Editor: Fixed an issue where the default humanoid in the animation preview window would be pink when the auto option was selected
- Editor: Fixed an issue with emojis in TextField on mobile
- Editor: Fixed an issue with missing legacy deformers shapes for new water decal
- Editor: Fixed corrupted Font crashing the editor when opened in FontAssetCreator
- Editor: Fixed crash that occurred during Multiplayer Role Stripping when using scenes that contained Do Not Destroy On Load components
- Editor: Fixed sprite asset fallbacks not working on a job
- Editor: Mouse jumping is disabled on Linux when using Wayland
- Entities: Fixed an issue where an exception would be thrown when exiting play mode after closing and opening a sub scene
- Graphics: Fixed an issue where RayTracingAccelerationStructure.AddInstances assigning the same instance ID to all ray tracing instances added to the acceleration structure, making it impossible to identify individual instances added using this function
- Graphics: Fixed an Issue where resizing the SceneView would throw errors
- Graphics: Fixed crash when using native graphics jobs on Metal
- Graphics: [Metal] Fixed an issue where the blend state and color mask specified in Shader Passes were not applied to the correct render targets
- HDRP: Fixed an issue that caused HDAdditionalLightData with preserveCachedShadow to be evicted from the cachedShadowManager
- Physics: Fixed an issue where the CharacterController component would not properly have it's transform synced to the data set to the Transform component
- Physics: Fixed Repeated OnTriggerEnter Events with CharacterController Slope Limit Updates
- Physics: Renamed serialized property names within Rigidbody component: Drag and AngularDrag are now LinearDamping and AngularDamping. The change was done in order to no longer be inconsistent with respect to the Rigidbody API which already adheres to this naming convention
- Scene/Game View: Fixed an issue with EditorTools icon not showing when importing a new package
- Shadergraph: Fixed an issue where the shader graph was not marked dirty when toggling checkboxes in its Graph Settings
- Shaders: Fixed a rare crash when saving the tracked shader variants into a variant collection
- Shaders: Fixed an issue with the shader compiler crashing when encountering a kernel directive without a provided name
- SRP Core: Fixed an issue where Lens Flare was not rendering properly in OpenGLES3
- Terrain: Fixed an issue in which calling terrainData.SyncTexture(TerrainData.HolesTextureName) causes a crash when no holes have been created before due to a null variable
- uGUI: Fixed exception thrown when pasting text into TMP inputfield with custom validator
- Undo System: Fixed an issue by marking array size changes to keep duplicates within a single undo action
- Universal RP: Fixed an issue where Game View would flip upside down when using HDR Debug Mode
- Universal RP: Fixed an issue with warning (Missing types referenced from component UniversalRenderPipelineGlobalSettings...) caused by URP Template project on platforms where ENABLE_VR is not defined
- VFX Graph: Fixed an issue when creating a Custom HLSL operator with two outputs could prevent the generated shader from compiling
- VFX Graph: Fixed an issue when using the same name as a built-in attribute in a custom HLSL function's parameter would lead to a compilation error
- Web: Improved error message in abort handler
- WebGL: [WebGPU] Fixed an error with write_buffer for memory addresses greater than 2GB
- WebGL: [WebGPU] Fixed AsyncGPUReadback for textures when request format is specified
- Windows: Fixed an issue where changing the default icon is not refreshed by Windows Explorer when re-building a project into the same build folder used previously
- XR: Fixed crash with foveated rendering in D3D12


Unity 6000.0.26
Improved:
- Scripting: Now Logs an error message and exit the Editor instead of crashing if SynchronizationContext is set to anything other than UnitySynchronizationContext

Fixed:
- Audio: Fixed error in in editor window for the AudioRandomContainer asset when undoing removal of an list element that was done in play mode after going back to edit mode
- Editor: Added additional check to GraphicsSettings if URP or HDRP asset is a missing type
- Editor: Do not accumulate vertical/horizontal scroll deltas for IMGUI events being triggered from native code
- Editor: Fixed a crash caused by a (rare) failure to initialize NetworkListManager COM interface
- Editor: Fixed an issue that tree wireframe is incorrectly rendered outside of Scene view when editing a tree
- Editor: Fixed console logs not being cleared on recompile if Clear on Recompile option was enabled
- Editor: Fixed memory leak in Texture2D.CreateExternalTexture when using D3D11 platform
- Editor: Fixed text not being updated after changing some FontAsset's values
- Editor: Fixed the version string in the about box of the editor
- Editor: Fixed warning message occurring when Focusing a text just after enabling a UIDocument
- Graphics: Fixed GPUResidentDrawer crash in ParallelSortExtensions.ParallelSort because of an array being diposed while still used by some jobs
- Graphics: Fixed GPUResidentDrawer deadlock because of a double dispose of CPUSharedInstanceData.materialIDArrays
- Graphics: Fixed GPUResidentDrawer Editor crash on Metal when occluderDepthPyramidKernels compute shader import fails
- Input System: Fixed an internal Unity issue that could cause the Input System package to stop processing data from devices
- iOS: Fixed the character limit of the keyboard shown with TouchScreenKeyboard.Open
- Package Manager: Fixed an issue where incorrect registry info is shown for packages that do not belong to any registry
- Package Manager: Fixed NullException thrown in a multi page wizard import when clicking on the previous button
- Package Manager: Users can now import without having to choose a project setting with at least one asset previously selected
- Physics: Fixed an issue where vehicle data would not be preserved when adding multiple WheelCollider components using the GameObject scripting APIs
- Shadergraph: Fixed an issue where the Main Light Direction node always returned 0 on the built-in render pipeline
- Shadergraph: Fixed an issue where Unity pragmas were not used in files included by the Custom Function Node, and added a "Use Pragmas" toggle to enable/disable them as needed
- Shaders: Fixed rare occasions of objects batching together incorrectly
- Text: Fixed issue where the text cache would continue to refer to a cleared font asset
- Text: Fixed out of range issue when dragging on a empty field
- TextCore: Fixed thread issue when using CJK text
- TextMeshPro: Fixed color picker not being the same color as the Text in the scene
- TextMeshPro: Fixed the broken URL of the help button on the TextMesh Pro Settings page
- UI Toolkit: Fixed null-ref exception when converting the UXML preview window into floating mode
- Universal RP: Fixed a redundant empty line in a tooltip for Cast Shadows toggle in the URP Asset for Additional lights
- Universal RP: Fixed an issue where WorldToCamera matrix wasn't set before rendering shadows
- Universal RP: Fixed issue with spot light clipping incorrectly in URP Forward+
- Universal RP: Fixed spamming errors and broken visual when resizing GameView with Free Aspect in DepthBlit sample
- URP: Remove 'implicit truncation of vector type' warnings at URP ScreenSpaceAmbientOcclusion.shader
- VisionOS: OnApplicationFocus(false) is now called when a visionOS app in Metal app mode is sent to the background


Unity 6000.0.25
Improved:
- Shaders: Improved shader compilation logging in the player

Fixed:
- 2D: Fixed an issue where Tile Palettes with Hexagonal Flat Top layouts are drawn incorrectly as Hexagonal Point Top layout
- 2D: Show error dialog when user tries to create a Tile Palette or Tiles on a Tile Palette in a non-asset folder
- AI: Links were not generated in places where the NavMesh forms a ramp
- Animation: Fixed error when binding transform of a humanoid having 2 non-human bones sharing the same name
- Animation: Fixed invalid default values of animated parameters in animator controller
- Editor: Added back in support for X64 specific Editor plugins
- Editor: Addressing the Meta Core SDK not loading when attempting to play in editor over Oculus Link
- Editor: Adds a ticker that runs every 2 hours to check if the license on the machine is valid
- Editor: Fixed 'Open Download Page' in the platform browser/Build Profile window leads to insecure download for editor not installed through Unity Hub
- Editor: Fixed a GRD and GPU Occlusion culling rare crash
- Editor: Fixed a random editor freeze when generating lighting
- Editor: Fixed Additional Compiler argument not updating when switching tabs in Player Settings window or when selecting different platforms in Build Settings window (UUM-66839)
- Editor: Fixed an issue where the restart editor prompt for Graphics Jobs Mode appeared when switching between Windows and other platforms
- Editor: Fixed Build profile window refreshed every frame on Android
- Editor: Fixed crash when the UI option "Remove unused properties" is clicked on the default material
- Editor: Fixed rendering issues for XRSettings.renderViewportScale when using Vulkan
- Editor: Fixed the over-clamping of delta time value applied to "unity_DeltaTime"
- Editor: libcurl used by Unity update to version 8.10.1.
- Editor: [URP][RG] Incorrect partial blur when using RenderGraph in URP
- GI: Fixed an issue where Adaptive Probe Volumes could not be baked when the chosen graphics library is GLES
- GI: Fixed an issue where sampling of Adaptive Probe Volumes was incorrect when using leak reduction modes on GLES
- GI: Fixed to remove the loaded data when a temporary baking set is created
- HDRP: Ensure custom post-processing effects are disabled when post-processing is disabled
- HDRP: Fixed cloud layers not being drawn behind transparent refractive objects
- HDRP: Fixed HairVertex instancing-related shader-compilation issues
- HDRP: Ignore material variants with log message
- macOS: Fixed Application.targetFrameRate not being ignored when QualitySettings.vSyncCount > 0
- Networking: Fixed an issue where TLS connections would fail to be established after a certain time/number
- Package Manager: Fixed the issue where the refresh timestamp does not get updated when users click on Refresh List button
- Particles: Scheduling a Particle System job outside of MonoBehaviour.OnParticleUpdateJobScheduled() will now generate an InvalidOperationException in order to prevent incorrect job schedules which could cause a hang
- Physics: Fixed a race condition inside Physics Debugger's contacts tab. Where the underlying contacts array would be incorrectly passed onto new jobs while still in use inside the previous set of contacts display jobs
- Physics: Fixed an issue where mass distribution updates with regards to setting the center of mass for a Rigidbody component would not affect WheelCollider components
- Physics: Fixed an issue with the Cloth component's inspector where exiting play-mode with the self and inter collision tool open would cause a null reference exception
- Physics: Fixed CharacterJoint's derrived axis locks being ignored. This would cause some ragdoll setups for never come to rest during simulation
- Search: Ensure SearchViewItem doesn't modify SearchItem state
- Search: Ensure SearchViewItem doesn't modify SearchItem state
- Search: Fixed Audio Mixer asset icons in the Search window
- Search: Fixed Scene Provider search when a string property is a numerical value
- Search: Search Scene Selector shows file with unity in their name
- Search: Using ReuseWindow SearchFlags won't create a new window and won't change its position
- Shadergraph: [Metal] Fix shader compilation errors due to Foveated Rendering when building URP 3D template
- Shaders: Fixed a crash that could occur when a shadow caster pass is deleted due to shader errors
- Shaders: Fixed BiRP support for strict shader variant matching
- Shaders: Shader inspector now shows the highest number of variants per shader stage instead of number of vertex stage variants
- TextMeshPro: Updated "Examples and Extras" scenes to be compatible with URP and HDRP
- UI Toolkit: Fixed labels alignment for IMGUI containers
- UI Toolkit: Fixed serialization of UxmlAttributes for Lists and Arrays of unity objects
- UI Toolkit: Fixed UI Builder not displaying the name of some elements in the hierarchy when they did not use UxmlElement or UxmlFactory
- UI Toolkit: The UXML file importer will now show a button to fix issues with any file paths that have changed but can still be resolved via their guid. Importer errors/warnings can now also be seen in the assets inspector
- Universal RP: Remove "AssertionException The RenderTextureDescriptor used to create a TextureDesc contains both graphicsFormat and depthStencilFormat"
- Universal Windows Platform: Stop reading mdb symbol files during player builds
- Version Control: UnityYAMLMerge is now able to open files when using long file paths on Windows
- VFX Graph: Incorrect sanitization of SetCustomAttribute when Random was different than Random.Off
- VFX Graph: Missing delayed field for Sample Water Surface Operator
- VFX Graph: Particle outputs connected to particle strip systems don't render last particle
- VFX Graph: Unexpected log "Expression graph was marked as dirty after compiling context for UI" while using Custom HLSL based operators
- WebGL: Fixed choppy video playback when using more than one Render Texture to play a video in Linear Color Space


Unity 6000.0.24
Improved:
- HDRP: Simplified the list of validations for IRenderPipelineGraphicsSettings
- IL2CPP: RequireDerived and RequireImplementors will now mark all instance constructors of all types

Fixed:
- Android: Fixed a crash on GameActivity using Vulkan while rotating the device while playing video launched via Handheld.PlayFullScreenMovie
- Editor: Adding an 'Include all scripts' checkbox option to the export window allows users to choose whether to include all project scripts in the export list. This serves as the initial step before addressing the script dependency issue
- Editor: Disabled the SRP batcher on the AssetImportWorker window
- Editor: Fixed an issue where the Editor would incorrectly mark some objects as dirty
- Editor: Fixed duplicate separators appearing in the game object hierarchy menu
- Editor: Fixed issues where the TextureImporterInspector ocassionally failed to retrieve texture platform settings for platforms with more than one valid internal name (example: "iPhone" / "iOS")
- Editor: Wizard - Some validations were showing the fix button when it was not needed
- HDRP: Fixed the option to edit advanced upsampling that aren't visible on platforms when they're not supported
- IL2CPP: Fixed a crash that was caused by creation of too many threads in IL2CPP
- License: Fixed an issue where the Licensing Client 1.16.0 was not bundled with Unity 6.0.
- Package Manager: Fix the issue where using the 'Window.Open" API to select a package would silently fails when it is hidden by "Show PreRelease Package Versions" setting
- Package Manager: Fixed the overflow of tabs drop-down icon
- Physics: Fixed an issue where Physics Debugger wouldn't take physics shape scale into account when redering
- Scene/Game View: Fixed an issue where custom tool buttons in the Tools overlay would consume GPU resources in every Editor frame
- Scene/Game View: Reduced the UpdateState time for custom tool buttons in the Tools overlay
- Shadergraph: Fixed an issue where a shader graph was reverted to its last saved state when entering Play Mode without saving changes
- Shaders: Fixed an issue with the Editor rendering objects with cyan replacement shader in game/scene view on each Editor startup
- Shaders: Fixed the issue with the compute shader logs reporting only a single variant cache even when all the variants were loaded from the cache
- TextCore: Fixed ATG crash with static FontAsset (UUM-78094)
- UI Toolkit: Fixed the slider fill element, which is used to enable an element that shows a filled-in area for the value entereind in Inspector
- UI Toolkit: Fixed the UI Builder Learn More url to include the correct version of the Editor
- UI Toolkit: Fixed AttributeOverrides overriding attributes that were only included in the templated asset. This would also cause asset references to be lost if they were not explicitly overriden
- Universal RP: Fixed black pixels (NaN) in Lens Distort post-processing effect
- Universal RP: Fixed incorrectly bright pixels by clamping alpha after additive blending to 0-1 range in post-processing when using camera stacking with render scale
- Universal RP: Fixed invalid alpha output for scaling setup shader when using camera stacking with render scale on URP compatibility path
- Universal RP: Fixed invalid viewport for post-process when using camera stacking with render scale
- Universal RP: Fixed post-process FSR upscaling and _ScreenParams for stacked Overlay cameras
- Video: Fixed an issue with WebCamTextures on some Android devices resulting in errors due to re-initializing the already initialized graphics textures


Unity 6000.0.23
Features:
- Android: Added the Addressables for Android (com.unity.addressables.android) package. This package provides Play Asset Delivery support for Addressables
- DX12: Added support for indirect Dispatch Rays (part of DXR 1.1). The method is similar to RayTracingShader.Dispatch, but the three dispatch dimensions are retrieved from a GraphicsBuffer. Added RayTracingShader.DispatchIndirect and a new CommandBuffer.DispatchRays signature. Added SystemInfo.supportsIndirectDispatchRays capability status
- Editor: Added a custom menu on IRenderPipelineGraphicsSettings
- Editor: Added a piercing menu that you can open with Ctrl + Right-click in the Scene view. The piercing menu provides a UI that lists all GameObjects under the pointer. GameObjects in the menu can be highlighted and selected
- Editor: Added the ForceNoCrunch option to the Build Windows > Asset Import Overrides > Texture Compression dropdown which forces all textures to disable crunch compression and re-import
- Editor: Added Additional App IDs to Steam ID Provider Editor Settings for Multiple App ID support
- Editor: Integrated new build profile icons
- Editor: Introduced IRenderPipelineResources to host SRP resources, which uses the ResourcePath to auto-load resources
- Editor: The Build Profile Diagnostic checkbox is no longer available because the Build Settings window has been replaced with the Build Profile window
- Graphics: Added a new backend rendering path for rigid GameObjects in Unity that puts them through the Batch Render Group API when the option is enabled on the Render Pipeline asset ('GPU Resident Drawer'). This functionality creates a persistent GPU state for these objects and they will be rendered by the same fast batching path as used by the entities renderer
- Graphics: Added small-mesh culling for gpu-driven instances
- Graphics: Added support for GPU occlusion culling of instances that are compatible with the 'GPU Resident Drawer', which can be enabled in the Render Pipeline asset
- Graphics: Added UITK support for CustomPostProcessOrder
- Graphics: Adding a new per batch layer filtering setting for BatchRendererGroup. This setting is useful for the context of culling out specific batches that go through the batch renderer group
- Graphics: Enabled SpeedTree GameObjects rendering using GPU Resident Drawer
- Graphics: Updated the default IRenderPipelineGraphicsSettings Inspector to trigger notifications when a value is modified
- HDRP: Added AMD FidelityFX Super Resolution 2 (FSR2) Unity script bindings and HDRP integration
- HDRP: Added support for overriding material properties such as smoothness, albedo, and normal maps on all materials to facilitate material and lighting debugging. The material override feature in HDRP is available through the Rendering Debugger's Lighting panel when rendering through the path tracer pipeline
- HDRP: Added support for Spatial Temporal Post-Processing (STP) upscaling solution
- HDRP: Added the Sky Occlusion feature to Adaptive Probe Volumes (APV), to allow time of day with static probe volumes
- HDRP: Disabled storing of baked data as Streaming Asset in Adaptive Probe Volumes (APV) to make it compatible with Asset Bundles and Addressables
- HDRP: Improved on existing Mipmap Streaming debug views and added more. The current offering in HDRP is consistent with what URP offers
- iOS: Added Apple Privacy Manifest support
- Package: Added the Character Controller package, version 1.2.4
- Package: Improved the user experience in the 2.0.8 patch of the User Reporting package
- Package Manager: Improved Project manifest files to repopulate with default dependencies when the files are empty or contain only whitespace
- Particles: Add BakeTexture and BakeTrailsTexture scripting methods
- Particles: Added the Custom Vertex Streams feature for particle trails
- Shadergraph: Added a customizable Heatmap color mode, which by default displays the estimated performance impact of each node in a Shader Graph
- Shadergraph: Added a new sample content pack that can be installed with the Package Manager. The samples contain descriptions, examples, and break downs for a majority of the nodes in Shader Graph. These samples help users understand the inner workings of the nodes and see examples of how they work and how they can be used
- Shadergraph: Added a zoom step size option in the user preferences
- Shadergraph: Added new shortcuts for adding new nodes and toggling sub-window visibility, and moved several existing shortcuts to the Shortcut Manager
- Shadergraph: Added the Feature Examples Sample to Shader Graph to show users how to achieve specific effects in Shader Graph
- SpeedTree: Added the SpeedTree9Importer, which supports .st9 files exported by SpeedTree Modeler 9 and includes the following
- Support for SpeedTree Games Wind and SpeedTree Legacy Wind effect
- The ability to configure wind strength and direction responsiveness through the Importer Setting
- New SpeedTree9 shaders for built-in (.cg), URP, and HDRP renderers (.shadergraph
- New shaders for the new wind effects, but no major changes to lightin
- SRP Core: Added the option to cache Render Graph compilation for both URP and HDRP
- TextCore: Native TextGenerator Rewrite
- UI Toolkit: Added a debugger for the UI Toolkit dynamic atlas
- UI Toolkit: Added missing UxmlAttribute converters to support UXML authoring: Gradient, AnimationCurve, ToggleButtonGroupState, Unsigned Int and Unsigned Long
- UI Toolkit: Added support in PropertyField for ToggleButtonGroupState serialized properties
- Universal RP: Added a Camera History Texture manager and basic interfaces to access per-camera history textures
- History textures are wrapped and stored in types which contain all the textures, additional data, and API methods specific for that history
- History textures are useful for rendering algorithms that accumulate samples over multiple frames or use data of previous frames as input
- Universal RP: Added a new config package that allows you to override the maximum number of lights visible on screen
- Universal RP: Added C# script templates to create a post-processing ScriptableRendererFeature that uses a custom VolumeComponent
- Universal RP: Added per-camera color and depth history and history access for custom render passes
- Universal RP: Added support for foveated rendering in the Forward+ rendering path
- Universal RP: Added the 8192x8192 option in Shadow textures
- URP: Added Adaptive Probe Volumes (APV) Lighting Scenario Blending to UR
- URP: Added APV Sky Occlusion support for URP
- URP: Added Render Graph Viewer. Access it through the Window > Rendering menu. The tool helps to visualize and debug resource usage of Render Passes in the Render Graph framework
- URP: Added six Mipmap Streaming debug views to the Rendering Debugger. These views can be found in the Rendering tab, under Mipmap Streaming. The available debug views are: Mip Streaming Performance, Mip Streaming Status, Mip Streaming Activity, Mip Streaming Priority, Mip Count, and Mip Ratio
- URP: Added support for Spatial Temporal Post-Processing (STP) upscaling solution
- VFX Graph: Added Camera Buffer Access support in VFX with URP
- VFX Graph: Added collision events that allow specific processes upon contact
- VFX Graph: Added new profiling/debugging panels in the VFX window
- VFX Graph: Added particle count readback for strips, which also allows strips to go to sleep state
- VFX Graph: Added support for per-particle sorting in strips
- VFX Graph: Allowed instanced rendering of VFX that have exposed textures or graphic buffers
- VFX Graph: Built-in and custom attributes can now be handled from the blackboard panel
- VFX Graph: Enabled Frustum Culling for strips
- VFX Graph: Improved the Shader Graph Cross Pipeline workflow
- VFX Graph: Reworked Flipbook player block
- VFX Graph: Strips now support the "Indirect draw" option. "Indirect draw" renders only the particles that are active, instead of full capacity
- VFX Graph: Support of ShaderKeyword declared in Shader Graph
- VFX Graph: The following improvements have been made to shortcuts in VFX Graph
- Registered the shortcuts in the global Unity Shortcut window
- Synced shortcuts with ShaderGraph where possible
- Added new shortcuts
- Web: Implemented the following LocationService methods and properties in Web platform
- Start(
- Stop(
- isEnabledByUse
- lastDat
- statu
- Web: [Web Platform] Added the ability to copy and paste to and from the Unity player
- WebGL: Added support for WebAssembly 2023, which is a Unity-coined term for a collection of newer WebAssembly language features such as, sign-ext opcodes, non-trapping fp-to-int, bulk-memory, bigint, wasm table, native Wasm exceptions, and Wasm SIMD
- WebGL: Implemented the following LocationService methods and properties
- GetLastHeading(
- SetHeadingUpdatesEnabled(
- IsHeadingUpdatesEnabled(
- GetHeadingStatus(
- IsHeadingAvailable(
- XR: Added support for Foveated Rendering on Vision Pro

Improved:
- 2D: Improved performance of shadow generation
- Accessibility: Improved multiple API documentation for the Screen Reader API
- AI: Increased the speed of the instantiation of NavMeshes into the scene
- Android: Added a new Player setting to display warnings when the symbols package size exceeds the specified threshold
- Android: Added a new property in .androidlib plug-in inspector to specify dependencies for unityLibrary. You can now configure .androidlib to depend on unityLibrary, and thus expand an activity by overriding UnityPlayerActivity
- Android: Fixed .androidlib default build.gradle, it will correctly apply android library plugin + targetSDKVersion
- Android: When producing the symbols.zip package, Unity will prompt Gradle to produce the zip, which means the symbols.zip package might contain more symbol files, allowing for better stack trace resolution. This also allows you to regenerate the symbols package from within the Gradle project
- Android: You can now embed Debug symbols into an app bundle (e.g., in the Build Settings window, choose Debug Symbol > level and format to IncludeInBundle) when uploading .aab files to the Google Play Store. The symbols are uploaded together with aab, which means you don't need to upload the symbols separately
- Apple TV: Included platform name in Bundle Identifier error messages.
- Asset Pipeline: Improved error handling when updating ArtifactDB or SourceAssetsDB.
- Audio: Added an "Edit Audio Random Container" button to the Audio Random Container Inspector. Also, disabled presets for the Audio Random Container.
- Audio: Enabled ALT+P as a shortcut to preview the Audio Random Container (ARC)
- Audio: You can now create an Audio Random Container (ARC) from a selection of audio clips using the following method
- From your Project browser, select a set of audio clips
- Right-click and click Create > Audio > Audio Random Container
- This creates a fresh audio random container that contains the clips from your selection
- Build System: Added deterministic shader ordering in output content
- Build System: Content is now deterministically sorted when being pulled from the resource manager
- Build System: Made bee_backend's directory deletion explicitly handle read-only files on Windows
- Burst: Added a new Math.Clamp API, which is available when the API Compatibility Level is set to .NET Standard 2.1
- Burst: Added Burst support for Apple visionOS
- Burst: Added support for default interface methods
- Burst: Added support for hashing against different target frameworks
- Burst: Added support for string interpolation in exception messages
- Burst: Added support for System.Math functions Acosh, Asinh, Atanh, Cbrt, CopySign, Log2, SinCos, FusedMultiplyAdd, and ILogB
- Compute: Added logging when a ComputeShader variant is created with no keywords
- Core: Clean up and clarify areas of the source code
- Core: Improved baking of large scenes that use Probe Volumes
- Documentation: Add instructions for blending Adaptive Probe Volumes at runtime
- Documentation: Added a Multiplayer overview page to summarize Unity's multiplayer packages and services
- Documentation: Added new and updated existing Accelerator cache server command line argument documentation
- Documentation: Added two new workflows to the Timeline Workflows documentatio
- The Use markers and signals for footsteps workflow demonstrates how to use Timeline markers, Signal assets, and Signal Receiver components to play audio sources for footsteps
- The Create a Sub-Timeline instance workflow demonstrates how to create a single cut-scene by nesting a Timeline instance within another Timeline instance
- Documentation: Improve the scripting documentation for RaycastHit2D
- Documentation: Improved code sample for NavMeshAgent.CalculatePath() to better clarify how to interpret and use its results.
- Documentation: Updated documentation of Mathf.SmoothDamp.
- Documentation: [AI] Added some detail to NavMeshPathStatus.PathInvalid.
- DX12: Implemented a dedicated GPU memory allocator for small acceleration structures (BLASes) to save GPU memory when using ray tracing
- DX12: Implemented acceleration structure (BLAS) compaction for static meshes to reduce GPU memory consumption in Ray Tracing effects. Compaction reduces memory requirements by more than 50% for BLASes
- DX12: Optimized writing shader records into shader tables before ray tracing dispatches
- Editor: Added a column that displays the shortcut type in the Shortcut Manager window
- Editor: Added a general Graph category to the search by type option in ProjectBrowser
- Editor: Added a new internal Editor API to control Rendering Layer names in Tag & Layers
- Editor: Added a toggle in the preferences to show the project path instead of the project name in main window title
- Editor: Added Deselect and Invert Selection to the context menu
- Editor: Added discrete menu items for pasting cut or copied GameObjects as children while preserving local or world transform.
- Editor: Allow for action and clutch shortcuts to use the same mouse button [with or without modifiers]
- Editor: Categorised and alphabetised the order of items in the Create menu.
- Editor: Changed the overlay menu into an overlay itself. This allows us to use the new Overlay Popup feature and to remove the need to maintain two code paths for very similar behaviors
- Editor: Changed unused System namespaces so they are no longer added to new scripts.
- Editor: Data used for preview is released when the baked lightmap preview system is not used for 30 seconds
- Editor: Implement guard for crash in meSliceAwakeFromLoadQueue:IntegrateTimeSliced
- Editor: Improve performance when fetching artifacts that are missing (e.g link to an artifact deleted from the project).
- Editor: Improved exception handling when package load fails.
- Editor: Improved moving files in the Project window. Moving files in the Project window now takes less memory and is faster.
- Editor: Improved the Build window message that appears when a Dedicated Server target is not installed.
- Editor: Improved the Clamp Gizmo icon render size to prevent gizmos from being drawn obstructively large or unreadably small in certain scenes
- Editor: Improved visibility on Volume component when Profile Instance used
- Editor: Improvements to the Graphics Settings UI
- Editor: Improvements to CustomPropertyDrawer to allow filtering per Render Pipeline with the SupportedOnRenderPipeline attribute
- Editor: Modified the Create menu so it now contains a script template for an empty C# Script and a Scriptable Object Script. In addition, the C# Script menu item has been renamed to MonoBehaviour Script.
- Editor: Renamed Post-processing and Lighting Quality settings to Tiers
- Editor: Reorganized the Edit menu
- Editor: The menu Animation item has been renamed to Animation Clip.
- Editor: Updated OpenSSL to 1.1.1w.
- GI: Added missing color legends for the Lighting Visualizations Colors panel, to explain the colors used in the Texel Validity Scene View Mode
- GI: Added the Bake Reflection Probes menu item
- GI: Added the Clear Baked Data menu item
- GI: Changed packing of instances into lightmap atlases to be spatially coherent, and prefer packing instances that are located close to be together
- GI: Changed several scene view modes to have lit shading, to make them easier to read
- GI: Exposed a "Lightmap Scale" slider for baked preview mode, which lets you quickly change the effective lightmap resolution
- GI: Finalize APV baking using new probe baking API
- GI: Implemented tests which target meta passes without light baking
- GI: Improved and optimized both undo and redo in VFX Graph
- GI: Improved Typeset lightmap and light probe numbers in the Lighting Window
- GI: Optimized light baking input extraction by parallelizing surface area calculations
- GI: Optimized the initialization time for GPU lightmapper bakes
- Graphics: Added the option Use Legacy Lightmaps to disable lightmap texture arrays when GPU Resident Drawer is enabled
- Graphics: Added three new UNITY_DOTS_INSTANCED_PROP variants to give users more control over DOTS instanced property loading performances
- Graphics: Added ShadowDrawingSettings.splitIndex to control which split index is drawn for a shadow renderer list
- Graphics: Improved CPU performance when binding geometry buffers (i.e. unity_MeshVertexBuffers_RT) to ray tracing hit shader
- Graphics: Improved culling performance when using Batch Render Group
- Graphics: Improved the performance and memory requirements of Texture API calls such as LoadRawTextureData that write to a Texture2D that was created with the TextureCreationFlags.DontUploadUponCreate flag.
- Graphics: Kick GameObjects shadow casters culling jobs earlier to improve performance
- Graphics: Optimized DOTS instanced properties loading code for URP and HDRP stock shaders
- Graphics: Updated platform macros for VRR code
- HDRP: Add support for fixing IRenderPipelineGraphicsSettings on the HDRP Wizard
- HDRP: Added a new LOD mode for the High Quality Line Renderer that is based on screen coverage
- HDRP: Added a slider to High Quality Line Rendering Volume Component to specify when to omit depth and motion vector write if alpha is too low
- HDRP: Added a warning to the HDRP Wizard if a users project contains materials that can't be upgraded.
- HDRP: Added an Importance property to Reflection Probes. Use this property to indicate the relative priority of the Reflection Probe for sorting
- HDRP: Added atmospheric scattering from PBR Sky
- HDRP: Added line light support to the Stacklit, Water, Hair, Eye, and Fabric shaders
- HDRP: Added new visual effects examples to the HDRP Water Sample example scenes
- HDRP: Added support for tube-shaped and disc-shaped area lights in the path tracer
- HDRP: Added the ability to express the width of lines in the High Quality Line Renderer in centimeter units on a per-vertex basis
- HDRP: Added the option to compose hair before color pyramid but after clouds
- HDRP: Allow using Solid Angle Culling Mode in Ray Tracing Settings volume override. This ray tracing culling mode rejects objects that are small enough or that are far away from the camera position based on their projected solid angle. These will not be added to the ray tracing acceleration structure
- HDRP: Avoid clamping to integers for HDR manipulation.
- HDRP: Following HDRP fixes were made
- Support for decals in the Raytracing mode of SSR and SSGI
- Changed the value type of Texture Lod Bias from integer to floa
- Support debug rendering of decals' light cluster from Window > Rendering Debugger > Fullscreen Debug Mode > LightCluster, Light Category > Decal
- Changed the color of the light cluster in the debug view, so that it uses the same color palette as that of tiled lighting
- HDRP: Improved HDRP build time.
- HDRP: Improved implementation of line lights for all materials and performance
- HDRP: Improved path tracer denoising when using AOVs in combination with volumetric fog. Added an option to denoise the volumetric scattering effect separately
- HDRP: Improved Render Graph Viewer
- HDRP: Improved scene culling performance when APV is enabled in the project
- HDRP: Improved skyContext caching when the sky renderer changes.
- HDRP: Improved the performance of the FrameSettings.Sanitize method
- HDRP: Improved user feedback when a framesetting is disabled
- HDRP: Improved water surface underwater backface rendering
- HDRP: Improved water system foam generatorattenuation
- HDRP: Improved water system performances
- HDRP: Improvements in the volumetric lighting performance
- HDRP: Made changes to improve the conversion from string to type for each Custom PP
- HDRP: Optimized the performance of reflection probe baking by baking all probes in a single batch
- HDRP: Optimized water surface scripting interactions
- HDRP: Reduced GC Alloc when using raytracing and HDRP.
- HDRP: Reduced the amount of memory that LTC area light tables consume
- HDRP: Reduced time taken by default scriptable shader stripping
- HDRP: Updated description of Decal Projector Draw Distance setting to mention HDRP asset setting
- HDRP: Updated com.unity.collections package from 1.4.0 to 2.2.0 in HDRP and light-transport packages
- Kernel: Added the "-timestamps" command line argument to the player, which makes it prepend timestamps at the beginning of each log line. This setting was previously only available to the Editor
- Mono: Implemented stack probes for Windows Arm64
- Package: Alembic: Prevented a NullReferenceException when upgrading a project with URP and Alembic to Unity 2023.3
- Package Manager: A warning is logged in upm.log when a deprecated UPM environment variable is detected
- Package Manager: Added the ability to configure the UPM global cache size via the UPM_MAX_CACHE_SIZE environment variable or the maxCacheSize property in the user configuration file. The default is 10GB
- Package Manager: Concurrent operations made via the UnityEditor.PackageManager.Client class will now be processed sequentially instead of failing with a concurrency error
- Package Manager: Optimized handling of built-in packages with type module to avoid unnecessary network calls and file operations
- Package Manager: The global cache that contains the uncompressed contents of registry package tarballs is now obsolete and the UPM_CACHE_PATH environment variable is no longer supported
- Particles: Improved two error messages to include the name of the Particle System
- Physics: Improved Physics callback dispatching performance by jobifying the processing of trigger and joint break events and only dispatching events that have their callback implemented
- Profiler: Released Memory Profiler version 1.1.0. Refer to https://docs.unity3d.com/Packages/[email protected]/manual/index.html for more information
- Scene/Game View: Changed the overlays order for a consistent one in the Overlay Menu
- Scene/Game View: Updated the Cameras overlay icon to be more descriptive
- Scripting: Fixed Hierarchy.Remove performance issues that could not scale when performed in loop.
- Scripting: Reduced noise in logs by setting logging level to 'Debug' in AssemblyUpdater when collecting ApiUpdater configurations.
- Shadergraph: Added theDisable Color Tinting property to Canvas and Sprite SubTargets. Use this property to override the color completely.
- Shadergraph: Added a shader variant limit to the Project Settings, and clarified the difference between the variant limits in the Preferences tooltip
- Shadergraph: Addressed delays related to graph concretization where certain operations were taking longer than expected
- Shadergraph: Exposed a scope option for Texture3D, CubeMap, and Texture2D Array Blackboard properties
- Shadergraph: Improved clarity and behavior of Blackboard properties when options change. Renamed Exposed to Show in Inspector
- Shadergraph: Improved the performance of undo/redo operations in large graphs.
- Shadergraph: Removed the Global/Local scope for Keyword properties and replaced them with an Is Overridable toggle. Updated the corresponding option enablement to clarify behavior
- Shadergraph: Updated the toolbar UI to make it more similar to VFX Graph
- Shaders: When compiling shaders with DXC and targeting Metal, HLSL min16float instructions will be converted to 16-bit floating point (MSL half) instructions
- SRP Core: Added GPU Resident Drawer debug panel to display culling stats when Instanced Drawing is enabled
- SRP Core: Added icons and fixed bugs in Render Graph Viewer
- SRP Core: Dumping in the temp folder the stripping of IRenderPipelineGraphicsSetting
- SRP Core: Improved and unified render graph profiling markers
- SRP Core: Improved execution performance with Render Graph
- SRP Core: Improved Render Graph Viewer UI to allow jumping to pass definitions in C# IDE
- SRP Core: Improved the CPU performance of the Native Render Pass Render Graph compiler by 15-40% (combined with NativeList PR and other optimization), depending on the complexity of the rendering and the runtime device
- SRP Core: Improved the resource pooling system in Render Graph
- SRP Core: Improved BeginRenderPass CPU performance in the Native Render Pass Render Graph (URP)
- SRP Core: Merged rendergraph native render passes that have different depths
- SRP Core: Prevented the unnecessary store op of MSAA buffers in URP when using Native Render Pass Render Graph
- SRP Core: Reduced AddRaster/Compute/UnsafeRenderPass Render Graph API CPU cost by not clearing internal arrays. Now it relies on the handle IsValid() API instead
- SRP Core: Replaced the overlays inside the RenderGraph Viewer with a fixed side panel
- SRP Core: Replaced DynamicArray with NativeList in NativeRenderPassCompiler to improve performance
- SRP Core: Small optimization, frame allocation checks of the Render Graph resource pool are now enabled through Validation checks
- SRP Core: Validation checks of Render Graph can now be enabled or disabled from the Editor. They are enabled by default, and disabling them slightly improves Render Graph performance
- SRP Core: RenderGraphObjectPool is now three times faster with RasterRenderRenderGraphPass objects by using UnityEngine.Pool
- Text: Improved dynamic FontAsset initialization time and reduced the required number of managed memory allocations
- uGUI: Provided early out to scenarios where a null mesh was being set on a CanvasRenderer
- UI Elements: Refactored the TreeView and MultiColumnTreeView control to use the Hierarchy as its data structure
- UI Toolkit: Added support for defining null UxmlObjects by using the tag
- UI Toolkit: Added support for generic UxmlAttributeConverters and Types
- UI Toolkit: Added support for setting the searchfield placeholder text via UXML
- UI Toolkit: Added support for UxmlObjects to use custom property drawers for their serialized data
- UI Toolkit: Added the ability to preview changes to the inline value of a UXML attribute or a USS property In the UI Builder, even if they are bound
- UI Toolkit: Added undo/redo functionality for when you create a binding on attributes or style properties.
- UI Toolkit: Added validation of UXML attribute and element names to ensure they are valid XML names.
- UI Toolkit: Added warning for UxmlAttributes in a non UxmlElement class. (UIT-2017
- UI Toolkit: Changing a UxmlElements namespace or class name is now supported with the MovedFromAttribute
- UI Toolkit: Exposed the align-content API in the Editor, via the Align Content property in the Align section of the Builder Inspector. (UIT-1703
- UI Toolkit: Improved the performance of the UXML attributes view in the builder during undo/redo operations. (UIT-2161
- UI Toolkit: Improved the UI Builder performance when using UXML serialization and data bindings
- UI Toolkit: Improved the UI Toolkit performance by reducing the number of managed memory allocations (GC.Alloc), specifically when using a virtualized ListView containing Label items.
- UI Toolkit: Improved UI Builder Attribute type picker field to use a popup selector instead of a completer.
- UI Toolkit: Modified the builder attribute field tooltips so they now include the value
- UI Toolkit: The Editor now tracks which fields are overridden in UXML in the UxmlSerializedData. During the deserialize process, the Editor only applies the overridden fields instead of all of them
- UI Toolkit: The UI Builder is improved to no longer react to asset changes unnecessarily if it's not opened. (UIT-2157
- UI Toolkit: Updated the bound fields in the UI Builder Inspector so they can be navigated through keyboard events
- Universal RP: Added checks to avoid building shadow atlases, adjusting shadow resolution, calculating rendering layers, and running other related operations when their features are disabled
- Universal RP: Bloom shader variants are now stripped per feature (LQ, LQ Dirt, HQ, HQ Dirt)
- Universal RP: Disabled implicit use of all globals in URP passe
- Universal RP: Improved performance for Deferred Rendering when using many lights
- Universal RP: Improved performance for AdditionalLightShadowCasterPass and BuildAdditionalLightsShadowAtlasLayout
- Universal RP: Improved performance when creating shadow data
- Universal RP: Improved runtime performance by adding checks for _ALPHATEST_ON when rendering depth, shadows, and depth normals
- Universal RP: Improved stripping logic for Accurate G-buffer normals when using Deferred rendering on Vulkan
- Universal RP: New Renderer Feature updated with Render Graph code
- Universal RP: Optimized bloom post processing effect CPU performance. Converted many RasterPass into a single UnsafePass
- Universal RP: SSAO CPU optimization. Many RasterPass into single UnsafePass
- Universal RP: Updated NewRendererFeature Template
- Universal Windows Platform: Improved the performance of repeating checks on whether the accelerometer and gyrometer are supported
- URP: Enabled APV Disk Streaming in URP
- URP: Enabled the APV Lighting Scenario Baking in URP
- URP: Enabled renderViewportScale for XR intermediate textures
- VFX Graph: Improved AddComponent performance for VFX by precaching script pointers in common case operation
- VFX Graph: Improved and optimized both undo and redo
- VFX Graph: Improved compilation times with VFX Graph using Subgraphs
- VFX Graph: Improved error feedback and added more error feedback
- VFX Graph: Improved Position, Collision, and Kill blocks
- VFX Graph: Improved the collision system so it is more stable, robust, and energy conservative
- VFX Graph: Improved the performance of VFX.ProcessCommandList by skipping the use of a RenderingCommandBuffer
- VFX Graph: Improvements to texture types to allow using in branch operators.
- VisionOS: Added VisionOS as a target for Windows and Linux.
- Web: Improved performance for instance rendering in WebGPU
- WebGL: Improved Web builds to be able to allocate up to 4GB of WebAssembly Memory, up from the previous limit of 2GB. Note that at the time of development, this feature did not work in Firefox ( https://bugzilla.mozilla.org/show_bug.cgi?id=1838218 ), so the default memory limit on the web is still set to 2048 MB
- WebGL: Removed redundant filesystem persistence operations, to improve IndexedDB filesystem performance

API Changes:
- Accessibility: Added: Added mobile screen reader support for sliders, allowing them to be made compatible with TalkBack (Android) and VoiceOver (iOS)
- Accessibility: Added: Support added for the Dismiss Gesture (Two-finger scrub) on iOS and the Dismiss Action (Action Menu item) on Android when using a screen reader
- Accessibility: Added: support for reading the bold text system setting on Android and iOS
- Accessibility: Added: support for reading the closed captioning system setting on Android and iOS
- Accessibility: Added: support for reading the font scale system setting on Android and iOS
- Accessibility: Changed: Made label parameter on AccessibilityHierarchy.AddNode and AccessibilityHierarchy.InsertNode null by default to make some use cases easier to achiev
- Accessibility: Changed: Toggle role added to the AccessibilityRole enum
- AI: Added: All the new NavMeshEditorHelpers.CollectSourcesInStage() methods have been copied from the NavMeshBuilder.CollectSourcesInStage() methods, which, in turn, have been deprecated
- AI: Added: NavMesh.GetAreaNames() has been added to replace the deprecated method GameObjectUtility.GetNavMeshAreaNames()
- AI: Deprecated: All methods from GameObjectUtility related to NavMesh area names have been deprecated. Use the similar methods from the NavMesh class instead
- AI: Deprecated: All methods from GameObjectUtility that assign and retrieve NavMesh area types to/from GameObjects have been deprecated. Instead, use NavMeshBuildMarkup and UnityEngine.AI.NavMeshBuilder to designate different area types in a generated NavMesh
- AI: Deprecated: The editor-only NavMeshBuilder class has been deprecated. Use UnityEngine.AI.NavMeshBuilder instead
- AI: Deprecated: The NavMeshBuilder.CollectSourcesInStage() methods have been deprecated. Use NavMeshEditorHelpers.CollectSourcesInStage() instead
- Android: Added: ConfigurationManager has new APIs
- ApplyPluginList.AddPluginFromPat
- ApplyPluginList.AddPluginFromRa
- Ndk.DebugSymbolLeve
- Android: Changed: Unity.Android.Gradle.GradlePropertiesFile.EnableUncompressedNativeLibs was replaced with Unity.Android.Gradle.JniLibs.UseLegacyPackaging
- Core: Added: API to force active set for APV.
- Core: Added: ContextContainer to SRP Core. A storage container which works like a dictionary with the key being a generic type id and the value being the value of the given type
- Core: Added: Component.GetComponentIndex() returns a components index on it's GameObject
- Core: Added: ContentLoadInterface.GetIntegrationTimeMS() and ContentLoadInterface.SetIntegrationTimeMS() for timeslicing integration from Content Files
- Core: Added: Object.Instantiate(Object,Scene) allows for directly instantiating an object to a specific scene
- Editor: Added: a flag for recursive dependency calculation. For use with the Compatibility Pipeline API
- Editor: Added: Added API for collecting in-scene assets and promoting them to project assets
- Editor: Added: Added RenderingLayerMask as a separate Runtime structure
- Editor: Added: Added the ScriptableRenderPass.requiresIntermediateTexture flag to allow individual ScriptableRenderPasses to request offscreen renderin
- Editor: Added: Expose DropdownMenu contextual menu AP
- Editor: Added: Exposed new MenuItem attribute constructor with a path to iconResource
- Editor: Added: Layout field in the DropdownMenuDescriptor to the behavior of the menu when there is a large number of items
- Editor: Added: Make OverlayCanvas.SetOverlaysEnabled and OverlayCanvas.overlaysEnabled public API
- Editor: Added: PrefabUtility callbacks for prefab instance apply
- Editor: Added: public methods RegisterToolContext and DeregisterToolContext to the ShortcutManager class to allow users to register and unregister custom shortcut contexts
- Editor: Added: the IShortcutToolContext interface to allow users to create their own custom shortcut context
- Editor: Added: EditorGraphicsSettings.TryGetRenderPipelineSettingsForPipeline to access settings of other pipelines than the currently active pipeline
- Editor: Added: GameObject.GetComponentAtIndex() returns the component at the specific index on a GameObject
- Editor: Added: HandleUtility.GetOverlappingObjects for getting an ordered list of all pickable objects under the give mouse location
- Editor: Added: HandleUtility.RegisterRenderPickingCallback and a few peripheral structures that enables custom rendering-based picking solutions to be developed
- Editor: Added: SceneManager.MoveObjectToSceneBatch allows for moving objects in batches to a scene
- Editor: Changed: EditorUserBuildSettings.androidCreateSymbols was replaced with UnityEditor.Android.UserBuildSettings.DebugSymbols.level and UnityEditor.Android.UserBuildSettings.DebugSymbols.format
- Editor: Changed: Renamed ArticulationBody.velocity to ArticulationBody.linearVelocity in order for the API to be symmetric with ArticulationBody.angularVelocit
- Editor: Changed: Renamed Rigidbody.velocity to Rigidbody.linearVelocity in order for the API to be symmetric with Rigidbody.angularVelocit
- Editor: Deprecated: The property ChildCount on HierarchyNodeFlattened was renamed to ChildrenCount
- The following methods are now deprecated: GetExpanded replaced by DoesNotHaveFlags(Collapsed), GetSelected replaced by HasFlags(Selected), SetExpanded replaced by ClearFlags(Collapsed), and SetSelected replaced by SetFlags(Selected)
- Editor: Deprecated: Using XRSettings.enabled to enable/disable XR for an application is now deprecated in favor of calling Start()/Stop() on an XRDisplaySubystem instance
- Using XRSettings.LoadDeviceByName to load XR devices is now deprecated in favor of querying subsystem descriptors to create and start the subsystems of your choice with the SubystemManager
- Editor: Deprecated: ObjectIdResult.DecodeIdFromColor. Users are now encouraged to use HandleUtility.DecodeSelectionId for decoding and HandleUtility.EncodeSelectionId for encoding selection IDs
- Editor: Obsoleted: Made PropertyCollectionAttribute obsolete. Use PropertAttribute constructor argument applyToCollection to make a collection attribute
- Editor: Obsoleted: Using Unsupported.CaptureScreenshotImmediate will now result in a compilation error. Please use ScreenCapture.CaptureScreenshot instead
- Editor: Removed: IOSLaunchScreenType.CustomXib launch screen option was removed
- Editor: Removed: SceneManager.MoveObjectToSceneBatch becase it was never was properly exposed
- EmbeddedLinux: Deprecated: UnityEditor.EmbeddedLinuxArchitecture enum and UnityEditor.EditorUserBuildSettings.selectedEmbeddedLinuxArchitecture are deprecated. UnityEditor.EmbeddedArchitecture and UnityEditor.EmbeddedLinux.EmbeddedLinuxSettings.Get().architecture should be used instead
- GI: Added: Add functions for better manipulating LightTransport.BufferSlice, including LightTransport.BufferID.Slice, LightTransport.BufferSlice.SafeReinterpret and LightTransport.BufferSlice.UnsafeReinterpret
- GI: Added: New light probe baking API. A data driven, stateless, public API for GI probe baking without dependencies on game objects. The API provides CPU and GPU integrators for direct and indirect radiance, validity and a post processing API for conversion to irradiance and other operations needed to composite results before rendering
- GI: Changed: Added IDisposable to LightTransport.IProbeIntegrator, LightTransport.IWorld and LightTransport.PostProcessing.IProbePostProcessor interfaces
- GI: Changed: Change LightTransport.BufferSlice to carry a type annotation, indicating the type of elements in the buffer slice
- GI: Changed: Changed LightTransport.IDeviceContext.WriteBuffer and LightTransport.IDeviceContext.ReadBuffer to take a LightTransport.BufferSlice rather than a LightTransport.BufferID. This lets you provide an offset for your reads and writes
- GI: Changed: Only one of ignoreDirectEnvironment and ignoreIndirectEnvironment is relevant in each of the IntegrateRadiance methods in IProbeIntegrator
- Removed the unnecessary ignoreIndirectEnvironment parameter from LightTransport.IProbeIntegrator.IntegrateDirectRadiance
- Removed the unnecessary ignoreDirectEnvironment parameter from LightTransport.IProbeIntegrator.IntegrateIndirectRadiance.
- GI: Changed: Renamed LightTransport.IDeviceContext.WaitForAsyncOperation and LightTransport.IDeviceContext.IsAsyncOperationComplete to LightTransport.IDeviceContext.Wait and LightTransport.IDeviceContext.IsComplete
- Graph Tool Foundation: Removed: GTF and CSO modules removed from the editor. Use package com.unity.graphtoolsauthoringframework instead
- Graphics: Added: Added a "Texture.SetStreamingTextureMaterialDebugProperties" overload that takes in a "materialTextureSlot" integer. This overload can be used to debug any (non-hidden) texture property on materials used by renderers
- Graphics: Added: API to reconstruct SRP using a certain IRenderPipelineGraphicsSettings in the Editor
- Graphics: Added: New method overloads accepting GraphicsTexture parameters were added to the Graphics.CopyTexture AP
- Graphics: Added: Texture2D.CopyPixels, Texture2DArray.CopyPixels, Texture3D.CopyPixels, Cubemap.CopyPixels, CubemapArray.CopyPixels allow copying readable pixel data only on the CPU
- Graphics: Added: UseBufferRandomAccess and UseTextureRandomAccess to IRasterRenderGraphBuilde
- Graphics: Added: watermark API to indicate if watermark is visible
- Graphics: Changed: BatchDrawCommand.visibleCount no longer has to be set to 1 when BatchDrawCommandFlags.HasSortingPosition is se
- Graphics: Changed: HLSL min16float variables are now translated to MSL float in all CPU visible buffers (e.g. Constant Buffers, Structured Buffers, Vertex Shader Input). When accessing these values inside shaders, they are casted to MSL half (16-bit) for faster arithmetic operations. Any project that uses min16float or half in shaders and accesses this data as 16-float (from CPU) on iOS is incompatible with this change. For these cases, a new #pragma metal_fxc_allow_float16_in_cpu_visible_buffers was added so that HLSL min16float variables are converted to MSL half in all CPU visible buffers (just like before)
- Graphics: Changed: Updated contextual menu drawer API with PropertyDrawer information
- HDRP: Added: Added an API to set and get the material type via script on HDRP Materials
- HDRP: Added: Fix missing API to get deformation buffer
- HDRP: Added: New forceVisible API on light to get information from a light from SRP even if it is not in frustrum
- Package: Added: Added GetCustomId method to PlayerInf
- Package: Added: Added SignInWithSteamAsync method with appId parameter for Multiple App Id Suppor
- Package: Changed: Added LinkWithSteamAsync method with appId parameter for Multiple App Id Suppor
- Particles: Added: New custom vertex streams: particle index, mesh axis of rotation, and color packed as 2 floats
- Physics: Changed: Collider.material now returns PhysicsMaterial instead of PhysicMateria
- Physics: Changed: Collider.sharedMaterial now returns PhysicsMaterial instead of PhysicMateria
- Physics: Changed: Renamed PhysicMaterial into PhysicsMateria
- Physics: Changed: Renamed PhysicMaterialCombine to PhysicsMaterialCombin
- Physics: Changed: Renamed Rigidbody.angularDrag to Rigidbody.angularDamping to create symmetry between ArticulationBody and Rigidbody API
- Physics: Changed: Renamed Rigidbody.drag to Rigidbody.linearDamping to create symmetry between ArticulationBody and Rigidbody API
- Physics: Obsoleted: PhysicMaterial is now obsolete. All references to PhysicMaterial are upgradeable to PhysicsMaterial when updating your project
- Physics: Obsoleted: PhysicMaterialCombine is now obsolete. All references to PhysicMaterialCombine are upgradeable to PhysicsMaterialCombine when updating your project
- Physics: Removed: Removed long deprecated type field SoftJointLimit.bouncynes
- Physics: Removed: Removed long deprecated type field SoftJointLimit.dampe
- Physics: Removed: Removed long deprecated type field SoftJointLimit.sprin
- Player: Added: AsyncInstantiateOperation.GetIntegrationTimeMS() and AsyncInstantiateOperation.SetIntegrationTimeMS() for time slicing integration times of InstantiateAsync()
- Player: Added: Object.InstantiateAsync()
- QNX: Deprecated: UnityEditor.QNXArchitecture enum, UnityEditor.EditorUserBuildSettings.selectedQnxArchitecture, UnityEditor.EditorUserBuildSettings.selectedQnxOsVersion are deprecated. UnityEditor.EmbeddedArchitecture and UnityEditor.QNX.QNXSettings.Get().architecture should be used instead
- Scripting: Added: Constructor to TextAsset which takes a ReadOnlySpan of bytes
- Scripting: Added: Every hierarchy node type handler now has access to an member hierarchy command list in which they can write to whenever they want. This is to simplify the workflow of integrating changes into the hierarchy, which in turn makes the ChangesPending and IntegrateChanges methods optional.
- Scripting: Added: New methods on Hierarchy class: GetChild to retrieve a child at specified index, GetChildrenCountRecursive to get number of children including children of children, DoesChildrenNeedsSorting to get whether or not a node requires its children to be sorted, and EnumerateChildren to get a children enumerable to iterate children without copying them
- New methods on HierarchyFlattened class: EnumerateChildren to get a children enumerable for the specified node, GetChildrenCountRecursive to get number of children including children of children
- New methods on HierarchyViewModel class: several methods to manipulate and query bit flags on nodes, such as SetFlags, ToggleFlags, ClearFlags, HasFlags, DoesNotHaveFlags, GetNodesWithFlags, GetIndicesWithFlags, EnumerateNodesWithFlags and EnumerateNodesWithoutFlags
- New classes and structs to support new functionality: several new enumerables, such as HierarchyFlattenedNodeChildren, HierarchyNodeChildren and HierarchyViewNodesEnumerable
- A new enum flags HierarchyNodeFlags used by the HierarchyViewModel
- A new struct HierarchyNodeMapUnmanaged to store unmanaged data per node that is O(1) lookup time, implemented as a sparse array
- Scripting: Changed: Several methods have had their parameter taking a Span changed to a ReadOnlySpan, to indicate that the content of the span will not be modified and only used as input
- Hierarchy.RegisterNodeTypeHandler now returns the handler
- The Hierarchy.SortChildren method got a new parameter, to enable sorting recursively
- Scripting: Changed: The HierarchyViewModel methods used to query flags were ambiguous because it did not specify they meant "all flags" versus "any flags". These methods are now deprecated, and new methods which specify if it is "all flags" versus "any flags" were added.
- Scripting: Removed: Removed overloads of method Hierarchy.Add that did not take a parent node.
- Scripting: Removed: UDP SDK package is now deprecated
- Shaders: Added: Support for typed texture declarations in HLSL which allow developers to sample integer texture formats robustly on all platform
- SRP Core: Added: Added TEMPLATE_X_FLT_HALF shader macros that defines functions with both min16float and float
- SRP Core: Added: Added TEMPLATE_X_HALF shader macros that define functions using min16float only
- SRP Core: Added: API to manage global texture
- SRP Core: Added: callbacks when RenderPipeline is created or disposed.
- SRP Core: Added: Foveated rendering API to fix FSR renderin
- SRP Core: Added: New useDynamicScaleExplicit flag to render graph's TextureDesc which can be used to control the underlying RenderTexture's dynamic scaling behavio
- SRP Core: Changed: Fixed typo in RenderGraph API, using lowercase for nativeRenderPassesEnabled propert
- SRP Core: Changed: Major update of the Native Render Pass Render Graph API (URP), moving out of Experimental
- SRP Core: Changed: Recent UISubset API has been adjusted and UI overlay pass made safer with URP RG
- SRP Core: Removed: Removed TEMPLATE_X_REAL shader macros
- TextCore: Obsoleted: Obsolete TextSettings.fallbackSpriteAssets.
- UI Toolkit: Added: A string array named paths to the drag and drop API to reproduce what was available in the Editor
- UI Toolkit: Added: API to get the result of the last binding operation for a given binding id
- UI Toolkit: Added: disablePlayModeTint on VisualElement to opt-out of playmode tinting. Applies hierarchically so a user could retrieve the rootVisualElement on an EditorWindow to disable playmode tinting entirely on the window
- UI Toolkit: Added: toggleOnLabelClick attribute to Toggle and Foldout. This is enabled by default but can be disabled to prevent clicking on the elements label from triggering the value change.
- UI Toolkit: Changed: Added Column.comparison and sortingMode on MultiColumnListView and MultiColumnTreeView to give a default sorting algorithm for sortable columns. This replaces the previous sortingEnabled API
- UI Toolkit: Changed: Exposed the enabledSelf property to both UXML and bindings
- UI Toolkit: Changed: Make VisualElement.disablePlayModeTint publi
- UI Toolkit: Changed: Marked UxmlTraits, UxmlFactory, and associated API as obsolete. This is now replaced by the UxmlElementAttribute
- Universal RP: Added: Added RG path only function for AddRenderPasses using ContextContainer instead of RenderingDat
- Universal RP: Added: ContextContainer items used as frame data for UniversalRenderer and Renderer2D e.g. UniversalLightData & UniversalCameraData
- Universal RP: Added: Exposed opaqueLayerMask and transparentLayerMask in UniversalRenderingData
- Universal RP: Added: Made Main Light Shadow Resolution and Additional Light Shadow Resolution settings public in the URP Asset
- Universal RP: Added: Made the cascade split settings public in the URP Asset
- Universal RP: Obsoleted: Mark non-rendergraph APIs as obsolete
- Video: Added: WebCamKind.Unknown to be used as fallback when camera type is not recognized

Changed:
- 2D: Changed Shadow Caster 2D to provide a message that GPU skinning is not supported when it is enabled.
- AI: Built-in navigation components are no longer hidden from the Add Component menu if the AI Navigation package is not installed. Instead, affected workflows provide shortcuts to install the package
- AI: Deprecated OffMeshLink component no longer displays in the Add Component Menu under any circumstances
- Android: The launcher/build.gradle evaluation now depends on unityLibrary/build.gradle evaluation. Therefore, the unityLibrary/build.gradle can no longer have any dependencies on the launcher/build.gradle
- Android: Unity will no longer need to force debugging symbols if Unity Cloud Diagnostics (UCD) is enabled. Users can manually choose the appropriate debug symbol level. Choosing the level affects how stack traces are resolved by UCD. For example, public symbols are enough to properly resolve function names, while debugging symbols provide filenames and line numbers. Debugging symbols, due to their size can increase build time and build size, which might be a limitation for some users
- Android: Upgraded the default Android Gradle Plugin version to 8.1.3
- Android: Upgraded the default Gradle version to 8.4
- Android: Upgraded the default targetSdkVersion and compileSdkVersion to 34
- Android: Upgraded the Java Development Kit (JDK) version for building Android apps to 17
- Android: When producing the symbols.zip package, the symbols will contain .so.sym or .so.dbg extension depending on the debugSymbolLevel. These extensions are provided by the Android Gradle plugin for backwards compatibility but you can still force the .so extension (for more information, check out Debug Symbol > format in the Build Settings window)
- Asset Bundles: Modified the AssetBundle hash so it now depends only on the respective Multiplayer Role settings it targets
- Asset Bundles: Updated AssetBundle so that the AssetBundle hash now depends on Multiplayer Roles only if the feature is enabled
- Build Pipeline: Font assets are not stripped from Dedicated Server builds when Dedicated Server Optimizations are enabled.
- Build Pipeline: Made the Player Settings > Dedicated Server optimizations option, that strips all shaders and fonts, enabled by default
- Burst: Disabled Direct call for methods that are decorated with both [BurstCompile] and [UnmanagedCallersOnly] attributes because such methods shouldn't be called directly from managed code
- Burst: Removed all code specific to DOTS Runtime
- Burst: Updated the default LLVM version to 16
- Burst: Used mimalloc as the native allocator on Windows to speed up the concurrently executing LLVM work
- Documentation: The documentation for the Universal Render Pipeline (URP) in Unity 6 Preview has moved from a separate URP site to the Unity Manual. URP site pages now redirect to the Unity Manual pages
- Editor: Accessing Transform data from 'OnDestroy' during an Undo operation is no longer allowed and an error message is logged.
- Editor: Added a new RenderingLayerMask type for serialized property and a RenderingLayerMaskField to draw it
- Editor: Added command to support Hub creating a new project, and connecting a project to Unity Version Control
- Editor: Added support for hiding RenderPipelineGraphicsSettings in GraphicsSettings page, persistent Scroll position and persistent active Tab
- Editor: Build Report printed to the Editor log no longer contains entries for "Scripts" and "Included DLLs".
- Editor: Changed the layout of overlays when dragging over a container that would enforce a specific layout
- Editor: Do not write cloudProjectId in ProjectSettings.asset anymore since it should only be managed by Services
- Editor: Improved the visual anchoring of overlays
- Editor: Modified the ghost behavior of overlays
- Editor: Remove CalculateDirtyPaths and added functionality to use
rsistentManager:GetStreamsWithDestroyedObjects directly.
- Editor: Renamed the shortcut that opens the context menu in the Scene view from "Show Action Menu" to "Show Scene view context menu"
- Editor: Reverted the new contextual menu
- Editor: Reworked the Physics project settings window and converted it to use UI Toolkit
- Editor: Switched to use drawers for Rendering Layers connected to Tags & Layers
- Editor: Updated the macOS Editor's minimum OS version requirement to macOS 11
- Editor: [Android] Moved Play Library checks for plugins and gradle dependencies into methods in 23.2 for use in Editor Tests, to avoid building player in every test.
- Editor: [Android] Removed exceptions for unspecified versions when including Play Libraries due to logic changes when fixing Regex for Core-Common.
- GI: Added code signing for Unity denoising DLLs
- GI: Moved code related to sampling to its own subfolder in the Light Transport package
- Graphics: BatchRendererGroup now supports procedural and indirect draw command
- Graphics: Camera API that wasn't compatible with SRP's now correctly logs warnings/errors where applicable. Also, updated documentation to reflect SRP capabilities in Camera API
- Graphics: Moved the editor for GlobalSettingsAssets directly to ProjectSettings > Graphics
- Graphics: Use the unified RenderGraph compiler instead of defaulting to the older HDRP implementation for OpenGLES
- Graphics: When IRenderPipelineGraphicsSettingsStripper is defined, it owns the stripping of the IRenderPipelineGraphicsSettings, which previously required isAvailableInPlayerBuild. (XPIPELINE-804
- HDRP: Added Volumetrics settings to Area lights similar to other light types, to control their influence on volumetric fog when using the path tracer
- HDRP: Changed how the mask map ambient occlusion channel is taken into account in rendering to have better consistency between area lights and emissive quads
- HDRP: Improved the usage of the HDRP runtime resources
- HDRP: Made the Texture Streaming scene view debug draw mode unavailable. Use the reworked Mipmap Streaming debug views in the Rendering Debugger instead
- HDRP: Rectangle light and Line light now share same implementation
- IL2CPP: Prevented references to unused shared generic types from being collected when the script debugging is enabled
- License: Added the option on Unity Personal to disable or customize the Made with Unity splash screen
- macOS: Updated the macOS Runtime's minimum OS version requirement to macOS 11
- Package: Promoted deprecated version of Sequences package
- Package: Updated the package version of com.unity.scripting.python to 7.0.1
- Package Manager: Changed the min-width of the package manager window, sidebar, and package list.
- Package Manager: Deprecated the UPM environment variable UPM_NPM_CACHE_PATH. Use the UPM_CACHE_ROOT environment variable instead
- Package Manager: Modied Client.AddAndRemove so it does not throw an error if the same packages are specified in packagesToAdd and packagesToRemove
- Package Manager: The package installation folder names have been shortened from @ to in the Library/PackageCache folder
- Physics: Errors related to mesh data will no longer print the assets path. This change was done in order to decouple error generation from some specific editor only functionality. We will be reworking the error messaging in the following patch releases
- Physics: Removed compatibility code that allowed Unity to load joints directly from assets created in Unity 4.x and older
- Physics: OnTriggerEnter events now have their matching OnTriggerStay dispatched after an OnTriggerEnter event, rather than wait for all OnTriggerEnter events to be dispatched
- Profiler: Removed extraneous calls to UpdateRendererBoundingVolumes when executing an empty CommandBuffer.
- Profiler: The Highlights profiler module is now visible by default
- Shadergraph: Now all the nodes connected to the BaseColor block are taken into shader codegen when generating the picking pass, allowing custom picking-specific code to be included through custom function nodes.
- UI: Added Unsupported MSAA Fallback in Player settings to specify how to handle cases with unsupported sample counts.
- UI Toolkit: Added a checked background to GradientField so the transparency is easier to see.
- UI Toolkit: Removed unused border element from GradientField
- UI Toolkit: Users can no longer drag disabled selectors when using in-context editing in the UI Builder.
- Universal RP: Added per-renderer filtering for renderer features
- Universal RP: Modified the Scene view camera so it now uses the same renderer that MainCamera uses in the scene instead of always using Default Renderer
- Universal RP: Moved the RenderObjects renderer feature out of the Experimental namespace
- Universal RP: The Auto option in SH Evaluation Mode, in the URP Asset, now chooses Per Vertex instead of Per Pixel on mobile and similar devices.
- URP: Added RenderGraph support to URP Samples
- URP: In the Render Graph Viewer, you can now open the tool when the compatibility mode is enabled.
- URP: Vulkan URP will use MSAA samples count fallback from Player settings. Prior to this x2 fallback would have been required upgrade to x4.
- Version Control: Added a message that appears after the first check-in, which contains a link to invite users to the organization
- Version Control: Added button for organization owner/admins to upgrade to DevOps subscription
- Version Control: Added new decorators for retained & locked files
- Version Control: Moved the button to invite users to the organization from the sub-menu to the toolbar
- Version Control: Updated description in the package.json, including an updated link to get started
- XR: Changed the reported Screen.width and Screen.height when using MagicLeap device
- XR: Removed the use of an intermediate texture when not required for XR rendering when scaling is used
- XR: The Oculus XR Plugin package is updated to 4.2.0
- XR: Updated the Oculus XR Plugin package to 4.1.2


Unity 6000.0.22
Improved:
- Documentation: Updated documentation on execution order for OnDisable and OnDestroy
- Graphics: Improved SRPs default scene templates
- Physics: Improved the performance of setting position and rotation to colliders that belong to a Rigidbody or ArticulationBody component
- Profiler: Optimized a profiler allocator to have better performance when profiling a game with many jobs
- Universal RP: Enabled foveated rendering for UberPost pass when it is the last pass and FinalPostBlit pass
- URP: Improved the depth copy scheduling in render graph path to allow copying after skybox rendering to improve pass merging

API Changes:
- Editor: Added: a public method to refresh the visual content of the collapsed OverlayPopup
- Editor: Added: an api in CloudProjectSettings to get the Services Gateway token
- iOS: Added: iPhone 16 device generation enums and screen cutouts.

Changed:
- Package Manager: The package installation folder names have been changed from to @.substring(0,12) in the Library/PackageCache folder to prevent locking issues.
- Physics: Renamed the profiler marker "Dynamic WheelCollider.Create" to "WheelCollider.Create" in order to clarify where the marker is coming from.

Fixed:
- 2D: Added Color preference for Tile Palette background in Edit mode
- 2D: Fixed an issue where Render Graph errors where thrown when resizing the SceneView to 0 height or width
- 2D: Fixed uv precision issue on iOS devices
- Android: Moved the game_view_content_description resource from string.xml in launcher module to unityLibrary module, since game_view_content_description is used by unityLibrary, not the launcher module.
- Android: Updated GameActivity to fix an issue with the delete key on soft keyboard
- Asset Import: Ignored UNITY_GIVE_CHANCE_TO_ATTACH_DEBUGGER for asset import process
- Asset Pipeline: Fixed a crash that occurred when moving scripts which saved their state in OnPostprocessAllAssets
- Audio: Fixed Fatal Error "Callback registration failed. Increase kMaxCallback." when playing more than 128 audio sources with AudioRandomContainers simultaneously
- Audio: Reverted change to buffering code in OpenSL FMOD driver
- Build Pipeline: Fixed an issue so the Build Profiles Window now updates the active build target if a user script changes the active build target while it is open
- Editor: Added a cancelable progress bar for the preliminary steps of an APV bake
- Editor: Added a delete build profile dialog when deleting non-active profiles in the build profile window
- Editor: Ensured that when opening from Project browser, the search window query is correctly populated
- Editor: Fixed a game view focus issue
- Editor: Fixed an Editor crash that would occur with some corrupted custom SRP
- Editor: Fixed an expensive call to FindObjectsOfTypeAll that would cause the Inspector to be slow in volume inspector UI
- Editor: Fixed an issue in HDRP where multi-selected lights with different ranges had their range overridden
- Editor: Fixed an issue so Linux Editor no longer crashes when attempting to drag from the Project window to the Scene View
- Editor: Fixed an issue where the texture's alpha appears as opaque white when the texture format is set to BC7
- Editor: Fixed an issue where visionOS was listed in Build Profiles when visionOS module was not installed
- Editor: Fixed an issue with macOS shortcuts not working if a graph view "Create Node" window with search box was closed
- Editor: Fixed an uninitialized variable in rendering that under certain conditions cause 'invalid aabb' to be spammed to the log
- Editor: Fixed crash in Linux when opening recent scenes from the File menu
- Editor: Fixed crash that occurs when -readonly and -activeBuildProfile command line arguments are passed
- Editor: Fixed rendering issues with XRSettings.RenderViewportScale when using OpenXR
- Editor: Fixed shader warning errors when building a player
- Editor: Fixed splash screen preview not working sometimes
- Editor: Fixed SRP Batcher supports Integer type "stencil ref"
- Editor: Removed default timeout in searchsession
- Editor: Resolved a ccrash in the Unity Editor when attempting to update the number of Vulkan swapchain images
- GI: Fixed an issue where GPU Lightmapper produced incorrect validity when using Cutout transmission
- GI: Fixed seams across cell boundaries in Adaptive Probe Volumes
- Graphics: Changed RenderPassSetup for memoryless surface to match GraphicsHelpers::ValidateMemoryless.
- Graphics: Cleared materialPropertyBlocks after each Blit to avoid interference between blits
- Graphics: Fixed an issue in which raw Image that uses a Material with a custom Shader is invisible in Canvas when "Screen Space - Overlay" is set and the Player is in "Windowed" mode
- Graphics: Prevent scheduling jobs from ScheduleGeometryJobs already running in split jobs
- Graphics: Setting RenderTextureDescriptor.graphicsFormat had unexpected/unwanted side effects to the depthStencilFormat. Setting RenderTextureDescriptor graphicsFormat, dephtStencilFormat and shadowSamplingMode properties are now order independent. These are the modern fields. The legacy properties depthBufferBits and colorFormat will set a combination of these modern fields. The use of these legacy APIs should not be combined with setting the modern fields directly, the order can change the results
- HDRP: Fixed distortion in Unlit Shader Graph
- HDRP: Fixed the artifact of non-physical DOF if it's used with TAA and dynamic resolution; The artifacts appear for a frame after the screen resolution changes
- HDRP: Fixed UI overflow and stencil based effects not working in HDRP
- HDRP: Updated HDRP to use the new TextureDesc field format instead of colorFormat and depthBufferBits to avoid a performance regression and subtle issues.
- Kernel: Fixed a memory ordering bug which could have caused a crash or hang in the job system
- Package Manager: Fixed an EPERM error that could occur on Windows during resolve when UPM tries to rename an existing package folder in the PackageCache to replace it with a new package.
- Package Manager: Fixed the issue where 'Experimental Packages in Use' dropdown was still using the old experimental tag logic (UUM-81539)
- Package Manager: Fixed the issue where 'See other versions' button did not show up for packages from Unity Registry
- Package Manager: Fixed the issue where the 'Experimental Package in Use' icon was missing tooltip
- Physics: Fixed an issue with cloth self collision where setting and clearing self collision indices would cause simulation artifacts unless self collision distance was set to 0.0f prior to clearing. Now when clearing self collision indices distance/stiffness no longer play a role in the simulation of the cloth component
- Physics: Fixed an issue with the Physics Debugger where attempting to visualize a character controller would assert and cause the shape's visualization to not be posed correctly.
- Scene/Game View: Fixed an issue where the cursor could flicker when hovering input fields in the scene view
- Scene/Game View: Fixed Orientation overlay styling
- Shadergraph: Addressed an issue where precision mismatch could result in an asset failing to import
- Shadergraph: Fixed an issue that caused errors in the Feature Examples sample content for Shader Graph
- Shaders: Fixed an issue so HLSLcc will no longer warn about potentially exceeding the SSBO limits set in the specification when compiling compute shaders for OpenGL and OpenGL ES
- SpeedTree: Fixed a crash in SpeedTreeWindManager with certain prefab assets when play mode is engaged
- SRP Core: Modified RTHandle allocators so they can now use GraphicsFormat to set the depthStencil format (TextureDesc.format). The allocators take a single format for either color or depth stencil to avoid incorrectly creating depth instead of color or vice versa.
- SRP Core: Modified TextureDesc so it can now use GraphicsFormat to set the depthStencil format (TextureDesc.format). The TextureDesc.depthBufferBits and TextureDesc.colorFormat fields are now properties that call GraphicsFormatUtilities functions for backwards compatibility. The descriptor now unambiguously describes a single resource, either color or depth. Therefore, TextureHandle clearly represents a single resource.
- Tests: Fixed an issue with AsyncInstantiateObjectChildrenTransformValidationNoPositionRotationParent instability by reducing floating point comparison precision
- UI Toolkit: Fixed alignment of foldouts children in IMGUI
- UI Toolkit: Fixed an issue where the slider value was incorrectly clamped when loaded from UXML
- UI Toolkit: Fixed an issue with zero scale when using group transform
- UI Toolkit: Fixed foldouts alignment when they are rendered in IMGUIContainers
- Universal RP: Fixed an issue in RenderGraph where an extra copy was made of the Main and Additional light shadow textures
- Universal RP: Fixed an issue in URP Forward Plus lighting where extra tiles were being incorrectly masked to be lit by spot lights that did not in fact affect them
- Universal RP: Fixed an issue where shadows were rendering incorrectly when light sources were placed near shadow casting objects
- Universal RP: Fixed an issue with the depthStencil format for the _CameraDepthAttachment and the _CameraDepthTexture resource so they are now correctly set by the format settings on the Renderer asset
- Universal RP: Fixed SpeedTree8 ShaderLab shader issue
- Universal RP: Fixed use of potentially uninitialized variable warning in Core2D issue
- URP: Fixed an issue with a missing depth prepass in deferred render graph path
- URP: Fixed camera stacking rendering to system backbuffer with Render Graph on iOS/macOS
- URP: Fixed render graph global textures persisting after graph execution
- URP: Modified the scheduling of a motion vector pass in render graph path in order to ensure motion and depth data are always available together
- VFX Graph: Fixed a crash that would uccur during the update of a Visual Effect when deleting a used Texture
- VFX Graph: Fixed an issue where strip tangent was not computed correctly when using Shader Graph output
- VFX Graph: Fixed an issue where Tooltips were not displaying
- VFX Graph: Fixed capacity field in the Particle System Info panel not being refreshed when modifying system capacity
- VFX Graph: Fixed overdraw debug mode of unlit particles in URP
- VFX Graph: Fixed two different HLSL parsing issues with VFX Graph custom HLSL
- VisionOS: Fixed the selection of incorrect scheme for visionOS Xcode projects when using Build And Run or running Player tests in Test Runner.
- VisionOS: Removed delayed-start code path used in visionOS development and simulator builds. This delay was introduced to fix potential crashes when using the Wait For Managed Debugger build setting, but caused issues with input in visionOS XR builds. Prior to this fix, input in visionOS XR development and simulator builds would only update intermittently, appearing like "lag" or as if running at a very low frame rate.
- WebGL: Fixed a problem in Web platform Build and Run feature when both Native C/C++ multithreading and Autoconnect Profiler were enabled
- WebGL: [WebGPU] Fixed an issue with mismatched bind group layouts when sampling depth textures


Unity 6000.0.21
Features:
- Editor: Added the Asset Manager for Unity packages into Package Manager > Services > Content Management section

Changed:
- Package Manager: Changed the color of selected icons to be more consistent with other elements in light mode

Fixed:
- 2D: Fixed an issue with Render Graph 2D light look up resource usage
- Android: Fixed VideoPlayer test instabilities on some devices
- Animation: Fixed an issue where entry transitions were not reporting warnings when one of their parameters was deleted
- Editor: Added a more descriptive error message if FileUtil::ReplaceDirectory() fails to delete the destination directory
- Editor: Added support for Normal Map Encoding setting to be set with Build Profiles
- Editor: Fixed an issue that occurs when using dynamic color usage hints along with Text
- Editor: Fixed an issue where RPCore RenderGraphPerformanceTests are failing after additional error checking in ImportTexture
- Editor: Fixed an issue where the built-in "Cycle Tool Modes" shortcut would never enter the GameObject context
- Editor: Fixed an issue with splacescreens by using more specific keys for caching splash screens rather than clearing the splash screen cache on all changes. Clearing out the splash screen hash could cause race conditions that would cause a build to fail. If splash screens are not being cached properly, you can clear out the cache before a build by deleting the SplashScreenCache folder in the Library
- Editor: Fixed ALLOC_TEMP_MAIN warnings when passing Accelerator command line arguments
- HDRP: Fixed a sun flicker where the sun is close to cloud boundaries
- HDRP: Fixed an issue where cascade shadows and distance shadowmask were not blended properly
- Package Manager: Fixed an issue where "Add by name" and "Add by git url" dropdowns are showing in incorrect positions
- Player: Fixed a corner case crash bug on server build player shutdown
- Shadergraph: Added padding to Shader Graph Preferences settings
- SRP Core: Fixed an issue when using multiple AddBlitPass would binds the _BlitTexture wrongly
- Universal RP: Enabled Native RenderPass option to follow Universal Renderer Data when rendering Game view
- URP: Fixed an issue to prevent repetitive error logs about C-buffer layout mispatch in GPU-instancing-enabled Speed Tree materials when enabling Rendering Layers
- VFX Graph: Fixed sticky note resizing could be broken
- Web: Fixed an issue where THE WebGPU graphics backend would incorrectly identify float 32 render textures as blendable formats for the WebGPU graphics API
- Windows: Fixed an issue where quad audio output mode would erroneously result in audio being sent to the center channel on 5.1 hardware


Unity 6000.0.20
Features:
- Version Control: Added a setting to automatically add new files to source control.
- Version Control: Now allow deletion of non-empty branches that have not been merged anywhere.

Improved:
- DX12: Optimized binding resources to ray tracing hit shaders by using root constant buffers. In the HDRP Sample Scene, the cost for writing hit group shader table for the ray traced reflection effect is reduced by 15-20%.
- GI: Added a warning for when Adaptive Probe Volumes run out of VRAM budget, and streaming isn't enabled
- Version Control: Improved the dialog to install Unity Version Control from the Editor.

API Changes:
- DX12: Added: Added "Allow Graphics Jobs in Editor" button in the Preferences/Jobs window.
- Editor: Added: Exposed BuildSummary.buildType, allowing for querying which kind of build a BuildReport represents
- Graphics: Added: Added solid angle culling in RayTracingAccelerationStructure.CullInstances.
- Added RayTracingInstanceCullingFlags.EnableSolidAngleCulling and RayTracingInstanceCullingConfig.minSolidAngle culling parameters. The reference point (apex) is RayTracingInstanceCullingConfig.LODParameters.cameraPosition.

Changed:
- Package Manager: Updated the tagging system in the Package Manager UI so that tags are now coherent for packages coming from any source.

Fixed:
- 2D: Fixed a post processing issue that occured when camera stacking
- 2D: Fixed an issue with gizmo rendering in the Game view
- 2D: Fixed case where Sprite Batching Threshold is not considered when using Sprite batches
- Android: Fixed CalledFromWrongThreadException error caused when pausing app on low-end devices
- Android: Removed unused code and update the GradleTemplateUpdater for legacy noCompress
- Animation: Fixed an issue where state machine behaviors would appear linked when copy-pasting an AnimatorState
- Animation: Fixed an issue related to resizing the split view in the Animator window
- Asset Import: Fixed an issue where assets were imported twice on startup when using the -activeBuildProfile command line argument to select the startup build profile
- Asset Pipeline: Fixed a hashing error for the Accelerator when the file size is a multiple of the internal put buffer size
- Asset Pipeline: No longer rely on the resolver cache when determining if a loaded asset is a prefab
- Audio: Fixed a race condition causing the audio engine to see a sound as READY because it started to load
- Build Pipeline: Fixed a validation error that prevents building Linux Dedicated Server from Windows and Mac platforms
- Build Pipeline: Fixed an issue where you could not scroll through the scene list in the Build Profiles window
- Build System: Disabled the Build and Run button in the Build Profile when the build target cannot run on the current OS
- DX12: Fixed GPU crash when a GraphicsBuffer was Released after using it with SetGlobalConstantBuffer
- Editor: Added a check for missing buffer bindings before draw calls to avoid a crash
- Editor: Fixed a crash that would occur from memory corruption in FontEngine
- Editor: Fixed a hang that would occur when Editor quit
- Editor: Fixed a login failure for Enterprise installation
- Editor: Fixed an issue so that before setting layouts, Unity validates that we can close all windows. If the user decides to cancel saving, Unity aborts reset layout operation
- Editor: Fixed an issue so you can use Alt + Cmd as a shortcut to alternate between groups which frees Alt+Arrow to jump between words
- Editor: Fixed an issue to Track SearchDB that are moved
- Editor: Fixed an issue where a domain reload would break Scene view's overlays after using the Light Probe Group edit tool
- Editor: Fixed an issue where an APV cannot be enabled when the Scene and Game view are not shown
- Editor: Fixed an issue where double separation lines were present in a kebab dropdown menu
- Editor: Fixed an issue where the Build Profiles window refreshed every frame Create Visual Studio solution is enabled and targeting Windows
- Editor: Fixed an issue where the loading icon didn't have a hover style
- Editor: Fixed an issue where the Unity 6 Editor would go into the background after a dialog was closed
- Editor: Fixed an issue where the wrong font size would be used when changing to changesets view
- Editor: Fixed an issue where MenuItem with priority of int.MinValue caused the CONTEXT menu to be shown in the Toolbar
- Editor: Fixed an issue with history that was not shown when desktop client was not installed
- Editor: Fixed an issue with logs that were configured too late in the initialization
- Editor: Fixed global mouse position reporting on Linux for the Player window
- Editor: Fixed issue where Transient Window opened as a GeneralWindow with session settings
- Editor: Fixed Reflection Proxy Volume gizmo handles that could not be dragged
- Editor: Fixed RuntimeInitializeOnLoad invoking attribute marked accessor methods in Editor.
- Editor: Fixed RuntimeInitializeOnLoad invoking the wrong method overload
- Editor: Fixed scene template provider to have a description without a new line
- Editor: Fixed the "Upgrade plan" button in Unity plugin that used an obsolete redirection link
- Editor: Fixed the minimum supported version (2020.3.48f1 LTS) in the README.
- Editor: Fixed undo operation that didn't capture changes in packages
- Editor: Improved naming convention in the Search column selector
- Editor: Removed ImageEffectAllowedInSceneView tag from UniversalAdditionalCameraData so it's not added to the SceneView camera when the Image effects preview is enabled
- Editor: Updated Player Settings so that HDR Cubemap Encoding is changed per Build Profile and not globally
- Editor: Updated Player Settings so that Lightmap Encoding is changed per Build Profile and not globally
- Editor: Updated Player Settings so that Lightmap Streaming and Streaming Priority are changed per Build Profile and not globally
- Editor: Updated Player Settings so that shader chunk count, size, and override are changed per Build Profile and not globally
- Editor: Updated Player Settings so that Sprite Batching Threshold is changed per Build Profile and not globally
- Editor: Updated Player Settings so that Static and Dynamic Batching are changed per Build Profile and not globally
- Editor: Updated the message displayed when attempting to lock a buffer for writing that was currently in use for accuracy
- GI: Fixed Adaptive Probe Volumes not working correctly for scenes residing in Asset Bundles. Note that Asset Bundle support for APV still requires enabling the "Probe Volume Disable Streaming Assets" Project Setting. After this fix, previously broken bundles may require a clean rebuild to work properly
- GI: Fixed an issue where Adaptive Probe Volume Scenario Blending did not always prioritize cells close to the camera
- GI: Fixed an issue where Adaptive Probe Volume Scenario Blending did not work when using Disk Streaming when the Turnover rate was set greater than 0
- GI: Fixed an issue with LightProbe baking on AMD
- Graphics: Added a check to CustomRenderTexture to skip UpdateZone if ShaderPass is invalid
- Graphics: Enabled the retrieval and use of the XR provided viewport when the platform passes the useViewportAsRenderArea flag
- Graphics: Fixed an "IndexOutOfRangeException: NewLength 8 is out of range of 7 Capacity" error when using GPUResidentDrawer
- Graphics: Fixed CopyTexture skipping the CPU side copy when the destination is a Cubemap
- Graphics: Fixed view and projection transformation matrices in RenderPipeline.endContextRendering
- Graphics: Removed an error message in Graphics.Blit when materials MainTex binding is set
- Graphics: Updated the sample code for creating BRG draw commands to add BatchDrawCommandType
- HDRP: Fixed an issue where alpha clamping to BloomPrefilter.compute was missing
- HDRP: Fixed an issue where HDProbes created depth resources that were never used, leading to unnecessary GPU memory usage.
- HDRP: Fixed an issue where HDRP CustomPass created an unnecessary color resource, leading to unnecessary GPU memory usage.
- HDRP: Fixed volumetric cloud clipping through geometry
- IL2CPP: Added missing GC write barrier when storing the active exception with script debugging enabled.
- IL2CPP: Fixed a crash that occured when using a derived COM interface defined in an assembly with Embed Interop Types set to true
- IL2CPP: Fixed a performance regression when using atomic operations such as Interlocked APIs
- IL2CPP: Fixed IL2CPP compiler errors when using explicit struct layout on classes with base types
- IL2CPP: Updated code generation for il2cpp_codegen_get_marshal_directive_exception to safeguard against invalid C++ printable characters
- Installer: Fixed the Windows target support installer follows the Editor installer and reads from HKLM for admin installs, or HKCU for user installs
- iOS: Fixed an issue where the universal deeplink was not set for Awake or Start in the first scene
- iOS: Fixed an occasional deadlock in UnityWebRequest on abort
- iOS: Fixed logging when using Wait for the executable to be launched
- Linux: Added Xwayland and Wayland Cursor Warping Support to Linux Runtime. This only works when the system cursor is hidden.
- macOS: Fixed an issue where Application.persistentDataPath points to the wrong path on macOS dedicated server builds
- Mono: Fixed a JIT trampoline memory leak with Timers and Sockets
- Mono: Fixed an issue where Linux was running out of memory pages because they were not being returned
- Mono: Fixed an issue where Vector and Vector would not receive hardware acceleration
- Mono: Fixed an issue wheree exceptions were thrown on WebRequest.Create on Android when the scripting backend is Mono
- Multiplayer: Fixed content selection not working when an object is moved to the DontDestroyOnLoad scene.
- Package Manager: Fixed the Remove assets from project window so it now opens with uncollapsed items by default
- Physics: Fixed a crash caused by the PhysicsDebugDraw C# API still being called when the Physics Debugger window is docked and out of focus
- Physics: Fixed an issue where exiting Play mode inside the Editor would not clear existing trigger stay events
- Physics: Fixed an issue where logging inside the creation of PxCpuTaskDispatchers would spam Editor.log during asset import
- Profiler: Improved CPU performance in certain cases involving heavy IMGUI text usage
- Scene/Game View: Fixed an issue where the Editor Tools buttons in the Scene view's Tools overlay would have their state updated too frequently
- Scripting: Fixed early player loop overrides being reset to default when initialization is fully complete
- Scripting: Fixed Update being called after the script was disabled in Start
- Shadergraph: Changed the name displayed in a Graph inspector when a selected BlockNode has changed
- Shadergraph: Fixed 'Objects are trying to be loaded during a domain backup' errors due to invalid serialization of some shader graphs
- Shadergraph: Fixed a bug that Normal From Height node in a shader graph might return an invalid value when using 16-bit half precision
- Shadergraph: Fixed an issue in Shader Graph with an undeclared identifier error around foveated rendering area
- Shadergraph: Fixed an issue in ShaderGraph where undoing changes to a property after modifying its value in the Graph Inspector would cause the property to become deselected
- Shadergraph: Fixed an issue so that pasting an empty group positions it based on the cursor's location
- Shadergraph: Fixed an issue with low quality Graph Inspector and Open Shader Graph User Manual icons
- SRP Core: Added more error checking to RenderGraph.ImportTexture to prevent importing RenderTextures that have both color and depth.
- An exception will now be thrown in this case.
- UI Toolkit: Fixed an issue where changing the PropertyField label did not update any existing child field
- UI Toolkit: Fixed an issue where the background-repeat USS style fields were not being displayed in the UI Builder styles inspector
- UI Toolkit: Fixed foldouts in the UI Builder Inspector that couldn't be reached when navigating using the Tab key
- Undo System: Fixed a callback to OnTransformParentChanged during undo and redo
- Universal RP: Fixed an issue where URP RawDepthHistory buffer created an unnecessary color resource, leading to unnecessary GPU memory usage.
- Universal RP: Fixed camera gizmos frustum that was not rendered correctly in the presence of a monobehaviour containing an OnGUI method
- Version Control: Fixed 'an existing xxx operation has locked the workspace' error on finding changes operation.
- Video: [iOS] Fixed a crash that would occur on "libsystem_kernel.dylib`__pthread_kill" when playing multiple videos
- Video: [iOS] Fixed a memory leak that would occur when playing multiple videos simultaneously
- WebGL: Added fallback to r32_sfloat from r16_unorm when using 16-bit masks for rendering layers.
- WebGL: Fixed a potential crash with AsyncGPUReadback with WebGL.
- WebGL: [WebGPU] Fixed an issue where optional render targets were causing an error when not being used.
- XR: Fixed single-pass stereo rendering artifacts for High-Quality Line Renderer


Unity 6000.0.19
Fixed:
- 2D: Added depth write/test controls to sprite targets in shadergraph
- 2D: Fixed an issue where Grid Transform Tools can be selected for Tiles that had Lock Transform set
- 2D: Fixed case where ShaderGraph sprite is replaced by a blue box when using ShaderGraph Material
- Android: Fixed an issue with building Addressables content when an empty folder is added to the addressable group
- Editor: Fixed a crash in shader variant prefiltering when renderpipeline asset had a broken reference
- Editor: Fixed an issue in the Project browser where the top toolbar would not display correctly when the Escape key was pressed on macOS
- Editor: Fixed an issue where the loading fallback shader threw an error when first starting the editor in GRD-enabled projects
- Editor: Fixed crash when a Material Variant was missing its ancestor
- Editor: Removed material variant creation when any material selected
- GI: Made baking independent of color space and added test coverage
- Graphics: Fixed a crash when trying to clear depth targets under special circumstances
- Graphics: Fixed an issue where the Editor crashed when context.DrawShadows(...) had an invalid light index
- HDRP: Fixed an issue so light intensity now correctly increases when 'Lux at Distance' increases and vice versa
- HDRP: Fixed an issue to push the correct cascade shadow matrix for each cascade
- HDRP: Fixed depth of field blocky artifacts when using a high blur radius
- HDRP: Fixed some depth of field jittering with objects in the near field and TAA enabled
- HDRP: PBR depth of field now has a bokeh shape that corresponds better to the aperture settings of the camera
- Physics: Fixed an issue where filtering data would not be properly propagated to a WheelCollider from its Rigidbody
- SRP Core: Added stencil flag to read-only depth logic in NRP compiler to avoid unintentional usage of depth read and stencil write states on some APIs
- SRP Core: Fixed potential data corruption due to incorrect native render pass store action in NRP compiler
- Undo System: Delayed undo diff calculations on Canvases within PrefabStage
- URP: Fixed some shader warnings in builds
- VFX Graph: Fixed corrupted graph when a custom type was missing
- VFX Graph: Fixed node search expand/collapse button, which could be blurry, depending on screen DPI setting
- WebGL: [WebGPU] Fixed webcam texture resolution scaling


Unity 6000.0.18
Features:
- Editor: Converted com.unity.multiplayer.center into a core package.

Improved:
- Android: Changed default target API level to 35.
- Editor: Added a warning to the Terrain inspector to clarify that terrains must be selected from the active scene to be edited
- Editor: Now no longer display icons in overrides when they are not applicable in base platform and build profile overrides
- Editor: Updated FrameDebugger to also display Texture's depth.

API Changes:
- Core: Deprecated: The ClusterInput, ClusterNetwork, and ClusterSerialization types have been marked as deprecated.

Changed:
- Editor: Exposed color gamut and HDR display output player settings for Apple visionOS build target.

Fixed:
- 2D: Fixed a crash when a user uses the CompositeCollider2D with a Tilemap with Tiles that instance GameObjects with Collider2Ds that composite under a CompositeCollider2D
- 2D: Fixed an issue in rendering when there was a 2D animated SpriteRenderer and a TilemapRenderer using SRP Batcher and GPU skinning
- 2D: Fixed an issue with SpriteAtlas Serialization Determinism
- Audio: Added a warning to notify the user about the automatic change of pitch value when the audio resource in Audio Source component is changed to ARC while the pitch is set to less than zero
- Audio: Fixed an issue where an AudioRandomContainer's AudioSource.isPlaying remained true when deactivating and activating the game object
- Audio: Fixed an issue where AudioRandomContainer clips repeated when changing pitch while paused
- Audio: Fixed an issue where no audio would play using the scene view audio toggle after disabling and enabling the audio source component with audio random container
- DX12: Fixed a crash that would occur in UI tests when closing windows
- Editor: Changed the message and position for the warning about Adaptive VSync and Build Target in Quality Settings
- Editor: Changed the position of the warning for low resolution texture in Quality Settings
- Editor: Fixed an incorrect Mask size calculation for URP
- Editor: Fixed an issue where custom Editors would lose their unsaved changes upon changing selection while the Inspector is locked
- Editor: Fixed an issue with a multi-atlas texture created at runtime
- Editor: Fixed an issue with EndLayoutGroup UI Error when baking Adaptive Probe Volumes on macOS
- Editor: Fixed an issue with visionOS AppIcons
- Editor: Fixed CursorLock disengaging during PlayMode on Linux when ProgressDialog was displayed
- Editor: Fixed issues with HDR rendering on visionOS using the Built-In Render Pipeline
- Editor: Fixed selection when creating a new build profile
- Editor: Fixed Serialized Property tracking so it is now properly suspended after VisualElements are removed from hierarchies
- Editor: Fixed SerializedPropertyChangeEvents sometimes containing references to disposed SerializedProperties instances is some usage of TrackPropertyValue
- Editor: Fixed UniversalCameraAdditionalData trying to create missing UniversalRenderPipeline when OnDestroy() was called
- Editor: Prevented offscreen camera rendering in the Editor player loop when the game view was not updated
- Editor: Removed array size assert for Rendering Layers
- Editor: Restored parity between HDRP and URP Rendering Layers Debug View
- Editor: Updated 7-Zip to 24.08.
- Editor: Updated the light theme toolbar background color
- Graphics: Fixed a crash on DX12 and Vulkan that occurs as a result of a non-terminated render pass
- Graphics: Fixed an issue when setting up BoneWeight with its own cached data
- Graphics: Fixed an issue with Frame Debugger to allow Levels and Channels UI to be used for backbuffer textures
- Graphics: In Frame Debugger, fixed back buffer texture being shown upside down on y-flip platforms
- Graphics: LOD Cross-fade was a per-material keyword in BiRP, but a pipeline-wide setting in URP. Therefore, the BiRP to URP upgrader should omit this keyword from the upgraded material. This wasn't the case before, but is now fixed
- HDRP: Fixed an issue that caused the Disable Color Tint setting in a shader graph to have no effect
- HDRP: Fixed an issue with EndCameraRendering being called before renderContext submission
- HDRP: Fixed depth issues that occurred during transparent object rendering when dynamic scaling was used with fractional values
- HDRP: Fixed TAA Contrast Adaptive Sharpening when no upsampling was enabled
- Linux: Fixed an issue onLinux with the new Input System (Editor and Runtime) not detecting certain keys in Non-US Layouts
- Particles: Fixed crash with Render triggered from OnEnable
- Physics 2D: Fixed a crash when a contact was created and destroyed in the same simulation step and Unity was reading the friction/bounciness
- Prefabs: Fixed a crash when saving PrefabInstances with missing assets and added objects
- Prefabs: Fixed an issue that would occur when Prefabs opened using LoadPrefabContents or EditPrefabContentsScope and saving them back without editing get changed on disk
- Profiler: Fixed high memory usage detection by profiler when there was still enough physical memory available
- Profiler: Fixed mesh memory being incorrectly reported in the memory profiler
- Shadergraph: Added sticky note checks to the group shortcuts
- Shadergraph: Fixed an issue so users can no longer select 'Delete' for context blocks
- Shadergraph: Fixed identifier collision detection on properties
- Shadergraph: Fixed node previews toggle shortcut
- SRP Core: Fixed a numerical error of ComputeEdgeFactor(V1, V2) when two vectors are colinear
- SRP Core: Fixed errors that could happen when interacting with the Default Volume Profile context menu in Project Settings > Graphics
- Tests: Added tvOS to expected platform list for VideoPlaybackCanStartWithUnsupportedAudioTrack test
- TextCore: Added missing ideograph support to Advanced Text Generator
- UI Toolkit: EnumField now formats enum names correctly in editor and player
- UI Toolkit: Fixed an issue in the UI Builder where adding a binding to a TemplateContainer disabled the element
- UI Toolkit: Fixed an issue with background repeat when using repeat = round
- UI Toolkit: Fixed an issue with the override indicator alignment for IMGUI containers
- UI Toolkit: Fixed slider dragger being cancelled when used in a ListView
- UI Toolkit: Fixed unnecessary ListView item refresh when changing a serialized property
- UI Toolkit: Fixed ApplyInset() intermittent error when running in a non-main-thread job
- Undo System: Improved performance when finding duplicates of recorded objects
- Undo System: Reduced the Undo action overhead during ClearAll
- Universal RP: Fixed a RenderGraph issue where Invalid Depth format errors appeared when pressing CTRL in scene view
- Universal RP: Fixed an issue scene-view wireframe rendering when using depth-priming
- Universal RP: Fixed an issue where Color Lookup caused GC.Alloc every frame
- Universal RP: Fixed an issue where lights would leak through objects when using Point Lights
- Universal RP: Fixed an issue where Shader Prefiltering data wasn't updated properly for Asset Bundles
- Universal RP: Fixed camera offset in the UI editor for the RenderObject RenderFeature
- VFX Graph: Fixed an issue where Convert Output to Output Particle ShaderGraph Octagon or Triangle generates an exception
- VFX Graph: Fixed ParticleIndexInStrip, StripIndex, and ParticleCountinStrip attributes when used in quad or mesh outputs (previously all returning 0)
- VFX Graph: Fixed rendering unwanted particles when rendering particle strip systems as particles (previously rendering entire capacity)
- VFX Graph: Fixed strips with immortal particles disappearing with instancing on
- VFX Graph: Read unexposed shader global properties when using a Shader Graph output
- Video: [Android] Fixed a crash that would occur in Vulkan Player when stopping video
- XR: Fixed crash caused by NaN


Unity 6000.0.17
Improved:
- Editor: Improved Editor performance when performing drag, drop, copy, and paste operations with complex prefabs.
- Graphics: Added shader pragma disable_ray_payload_size_checks that can be used in .raytrace shaders to disable ray payload size compatibility checks between ray generation and hit shaders
- IL2CPP: Support volatile stores using the ldind.ref opcode
- Physics: Added a new memory root "Physics Debugger" for tracking the memory allocated by the Physics Debugger tool

Changed:
- Documentation: Renamed Game Server Hosting to Multiplay Hosting as part of rebrand.
- iOS: Use the f16 color format for the metal layer and internally by default when using "wide color" (P3 color pace).

Fixed:
- 2D: Fixed an issue where Tile Palette window would not update when creating first palette or error messages would not show up on when it reached an error state
- Android: Fixed an issue with native plugin being skipped for ARMv7 architecture if target CPU is not set
- Android: Fixed misspelling in AndroidPluginImporterUtilities name
- Asset Pipeline: Increased the integrity of the asset database to minimize the risk of corruping a library folder. It changes the way we flush in-memory data to the database internally.
- Unfortunately this change might introduce a performance regression for users with spinning disk hard-drives. To accommodate this user group, we are introducing the command-line flag sacrificeDBIntegrityForPerformance, which you can use to opt out of this new behaviour and fall back to the way it has worked before
- Editor: Fixed a bug where a restart editor prompt appeared when users change the Incremental GC or Active Input Handling settings for inactive platforms or build profiles
- Editor: Fixed a ContentFile deadlock that occurred when unloading large numbers of files simultaneously
- Editor: Fixed a leak of Windows GDI objects when calling DisplayDialog
- Editor: Fixed a null exception that would occur when rendering text without settings assigned
- Editor: Fixed an assert that could spam the console in the Linux Editor while in Play mode if the cursor was locked and the mouse was moved quickly
- Editor: Fixed an Editor crash that would occur when using deferred rendering on cameras with a target render texture that fails to create, such as due to an unsupported texture format without compatible format fallbacks enabled. Now console errors are output instead
- Editor: Fixed an issue where errors where thrown when resizing the SceneView to 0 height or width
- Editor: Fixed an issue where GPU Skinning options weren't being displayed on certain platforms
- Editor: Fixed an issue where the grid was not visible in the Universal 2D Template project
- Editor: Fixed text going out of bounds when using justified alignment
- Editor: Fixed the location of platform build warnings in the Build Profile window
- Editor: Fixed the overlay highlight so it is no longer visible when the menu is closed
- Editor: Restored the tooltip to the View Tool button in the Tools overlay within the Scene view
- GI: Fixed an issue where shader variants with LIGHTMAP_ON that didn't declare DIRLIGHTMAP_COMBINED were stripped during player builds when using directional lightmapping
- GI: Fixed Object.Destroy() call to an existing LightProbes object to remove internal managed data properly
- HDRP: Set the 'Maximum Shadows on Screen' limit to 65536 in order not to exceed the maximum size of the buffer
- IL2CPP: Fixed an incremental GC issue when using multidimensional arrays and full generic sharing
- IL2CPP: Fixed for --additional-libraries flag and reworks build settings for uniformity
- Mono: Fixed an exception that would occur when using System.IO.Compression.BrotliStream on Android
- Mono: Fixed an issue where "System.Net.CookieContainer" throws an "ArgumentException" error when using a non-UTF-8 machine locale and hostname
- Mono: Fixed crash that occurred when accessing zip files on Linux distributions using zlin-ng (Fedora 40)
- Particles: Fixed an issue with invisible particles when shape Arc is set to 0 and Mode is set to Loop
- Physics: Fixed an issue where Physics Debugger memory was being reported under default memory rather than physics memory.
- Profiler: Fixed an error being logged the the console when hovering the BackgroundPattern element in UI Builder
- Profiler: Optimized profiler overhead to avoid frame time spikes during heavy load
- Scene Manager: Added a save modified scenes popup on exiting
- Scripting: Added missing attribute MustDisposeResourceAttribute in JetBrains.Annotations
- Scripting: Fixed remapping lists of object references in InstantiateAsync
- Serialization: Fixed a crash when loading ScriptableObjects or MonoBehaviours in binary-format that reference missing SerializeReference types
- Shadergraph: Fixed an issue where some keyboard shortcuts did not display with the correct alignment in context menus
- SpeedTree: Fixed an issue where .st9 models rendered with leaf-facing effect turned on unintentionally
- Tests: Fixed issues with gizmo picking tests causing inconsistencies.
- TextCore: Fixed an issue where there was a missing color tag for legacy system compatibility
- UI Toolkit: Fixed a memory leak with the header in multi column controls
- UI Toolkit: Fixed a UI Builder null reference exception when switching Canvas Background modes with unsaved changes
- UI Toolkit: Fixed an argument exception that would occur when deleting a stylesheet with the delete key in the UI Builder when using isolation/context mode
- UI Toolkit: Fixed an issue where users could not drag and drop in MultiColumnTreeView when sortingMode is other than None
- UI Toolkit: Fixed interactive slider in samples page
- UI Toolkit: Fixed the flow to reparent a UI element by dragging element from hierarchy to viewport
- UI Toolkit: Removed dependency to com.unity.vectorgraphics in graphic tests projects
- UI Toolkit: Updated the background color in dark mode for the UI Builder foldouts
- VFX Graph: Added error feedback in case of incorrect setup of the Position Sequential Circle block
- WebGL: Added a way to estimate the sample count before a sound is fully loaded on WebGL
- WebGL: Fixed URP SSAO Medium and Low blur modes for WebGPU.
- WebGL: [WebGPU] Fixed an issue AsyncGPUReadback and counter buffers


Unity 6000.0.16
Improved:
- Core: Optimized BootConfig lookups in XR and Shader code to improve performance
- Editor: Improved string usage among core engine classes, which results in fewer allocations and small performance improvements
- GI: Cached the result of rasterization during lightmap baking. This speeds up repeated bakes of the same scene significantly.
- Universal RP: Improve the sample code in the URP Post Processing Effect (with Volume) template to remove a copy render pass

API Changes:
- GI: Added: Embree.GpuBvh.BuildOptions.isTopLevel, indicating whether to build a top level acceleration structure.
- GI: Deprecated: EditorSettings.enableCookiesInLightmapper. Cookies are always supported by the lightmapper.
- GI: Removed: EditorSettings.disableCookiesInLightmapper. Cookies are always supported by the lightmapper.

Changed:
- Installer: Changed the default IDE suggestion on macOS to be Visual Studio Code since Visual Studio for macOS is no longer supported by Microsoft

Fixed:
- Android: Fixed a synchronized show-hide softInput operations issue
- Apple TV: Fixed Plugin Importer option Add To Embedded Binaries for AppleTV & fat mach-o libs (UUM-72637)
- DX12: Fixed invalid resource states, when using a native graphics plugin for Unity
- Editor: Bug resolution for EditorUtility.DisplayDialog() not displaying text when the text is too long
- Editor: Fixed a crash when setting the C# skinWeights API to None
- Editor: Fixed a crash which would happen when creating BuildProfile objects in memory but never associating them with asset files on disk
- Editor: Fixed a freeze in the ForwardPlus Lighting calculation when the Camera farClipPlane is set to Infinity
- Editor: Fixed a memory leak on every domain reload caused by BuildProfile objects
- Editor: Fixed an Editor crash that would occur when accessing GUIManager in Server builds due to stripped IMGUI module
- Editor: Fixed an exception that was thrown when a helpbox is added as a child item to the reorderable list item
- Editor: Fixed an issue of Linux freezing whenever a file is dragged from Unity to VS Code
- Editor: Fixed an issue where icons would not set for some platforms through PlayerSettings.SetIcons
- Editor: Fixed APV seams and leaks that can occur between two subdivision levels when using Rendering Layers
- Editor: Fixed CursorLock engaging in EditMode when lock applied within OnDestroy
- Editor: Fixed some of default UxmlConverters being dependent on the Current Culture (Bounds, Rect, Vector-types)
- Editor: Fixed warning for mixed lights falling back to baked appearing incorrectly. (GFXFEAT-772)
- Editor: Improved the performance and discoverability of the Helper bar. The helper bar is in the status bar of the Editor and it only displays shortcuts bound to mouse buttons
- Editor: The behaviour of EditorGUIUtility.ObjectContent is reversed, so it does provide an icon when the reference is null.
- Graphics: Fixed linear fog rendering artifacts on Adreno GPUs when Vulkan is the graphics API
- Installer: The independent Editor Installer will write install information to HKLM
- iOS: Fixed crash when rendering to backbuffer in Update
- Kernel: Fixed a player crash that would occur due to internal data races when loading assets
- Profiler: Fixed "Page range is outside of system region range. Please report a bug!" error for captured memory snapshots and opened in the Memory Profiler packaged, caused by Unity Objects getting created in-between of capturing the Managed Heap and Native Object data. Snapshots before this fix are not fixed by this change but future captures won't have the same issue. This also fixes cases where Unity Objects in a Memory Snapshot might have pointed at invalid data for their Managed Shell, which may have been most notable with MonoBehaviour and ScriptableObject types. This may also have fixed a vanishingly small amount of instances of reported "Leaked Managed Shell" objects where the Native Object part of the object got destroyed just after the managed Heap data was captured. The close timing makes the likelihood of all of these issues very rare and more likely the longer it takes to capture a snapshot
- Scene/Game View: Fixed an issue where Application.isFocused returns false when entering the Play Mode with the Game window set to Play Unfocused
- Scripting: Fixed PluginImporter.ClearSettings so it does not apply default values
- Shadergraph: Disallowed shader variant related settings to be set to negative values
- Shadergraph: Fixed a null reference exception when shader variant project settings were changed under certain circumstances
- Shadergraph: Fixed an issue where the Graph Inspector would not update after changing a node's precision from the context menu
- Shadergraph: Fixed an issue where using a color picker would cause the main preview to display cyan until the color picker was closed
- Shaders: Fixed a graphics performance regression on Windows Standalone
- UI Toolkit: Fixed errors that could occur when generating attributes for UxmlElements
- UI Toolkit: Fixed exception call stack with custom measure function
- UI Toolkit: Fixed visual artifact in background repeat when using repeat = round
- UI Toolkit: Modified the TreeView and the ListView so they now have a public member selectedIds which allows users to track the selected ID of items even if they are within a collapsed parent
- UI Toolkit: Provided a better error message when the generic version of UQuery.Q is called on a null element
- Universal RP: Fixed an issue with XRCopyDepth not working when running in RenderGraph.
- Universal RP: Fixed XR isLastCamera check
- Video: Fixed an issue where the sound of videos in Video Player was lost when Bluetooth headphones are connected or disconnected
- VisionOS: Fixed an issue where visionOS builds requiring IL2CPP symbol generation (for example when enabling Method Name, File Name, and Line Number stacktrace information in Player Settings) would fail to build in Xcode. The process_symbols_il2cpp.sh script now has the execute permission applied
- WebGL: Fixed an issue where mouse button canceled events would emit after clicking and moving a mouse
- WebGL: [WebGPU] Added extension support for non-zero firstInstance values for indirect drawing
- WebGL: [WebGPU] Fixed a color banding issue with HDR renders
- WebGL: [WebGPU] Fixed a issue with BindGroup creation with sparse binding indices
- WebGL: [WebGPU] Fixed an issue with upside-down textures from ASyncGPUReadback


Unity 6000.0.15
Improved:
- GI: Added the ability to click on renderers in the Lightmap Preview window to select them in the Hierarchy
- UI Toolkit: Improved the navigation event handling logic for the slider
- When the slider detects move events aligned with the slider's direction, it adjusts the slider's value. If it detects a navigation submit event, it disables the movable class on the dragger element, causing all navigation events to revert to their default behavior. A second navigation submit event re-enables the class on the dragger and restores the previous customized behavior
- UI Toolkit: It is now possible to adjust the MinMaxSliders values using directional navigation. The navigation submit command can be used to toggle between min value adjustment, max value adjustment and focus adjustment modes

API Changed:
- Editor: Deprecated: PlayerSettings.captureSingleScreen
- Physics: Added: Fixed 'Reuse Collision Callbacks' behaviour in CharacterController; when on it now prevents garbage generation when using the OnControllerColliderHit callback

Changed:
- Package Manager: Changed the label in Project Settings from Enable Pre-release Packages to Show Pre-release Package Versions.

Fixed:
- 2D: Fixed closure of overlay menu in the Tile Palette window when the user moves the cursor over the clipboard of the Tile Palette
- 2D: Fixed issue where the picking marquee can be seen twice when the user picks cells in the Tile Palette initially and picks again while keeping the pointer down
- 2D: Fixed issue where the Tile Palette clipboard is slow to update when undocked and hovering over the SceneView window
- Android: Fixed Default Video Resolution for secondary orientation. The resolution is now correct when device is rotated while playing a file using the video player
- Android: Fixed Input.backButtonLeavesApp not working on the new input system
- Animation: Removed warning messages when changing the model of the Animation Preview in the Inspector
- Audio: Fixed an issue where Pitchfield clamping was not set to -1200 to +1200 range
- DX12: Fixed Editor hangs during the Material conversion process,
- Editor: Added Clarifying note on PBXProject.GetPBXProjectPath for VisionOS Platforms
- Editor: Build Profiles: Enabled editing of keystore and key alias passwords in the Build Profile window
- Editor: Build profiles: Fixed manual link in the inspector
- Editor: Fixed "CommandBuffer: temporary render texture not found while executing" warning appearing when any of the Lighting Debug Views are enabled
- Editor: Fixed a styling issue of Scene view Tool Settings overlay
- Editor: Fixed a styling issue with Scene view overlay menu
- Editor: Fixed an issue causing a CancellationTokenSource to be disposed twice when scanning for ADB devices
- Editor: Fixed an issue for deadlock after domain reload
- Editor: Fixed an issue on macOS where a composition string would get copied incorrectly to another text field
- Editor: Fixed an issue where as with other platforms show the progress dialog when exporting a package on macOS to prevent the ability to perform other actions and lead to potential crashes or duplicate exports
- Editor: Fixed an issue where searching for shortcuts by binding in the Shortcuts window was inconsistent
- Editor: Fixed an issue with Render Graph culled passes still being considered during the merge of passes
- Editor: Fixed excessive job allocation in ComputeShadowSplitMasksForOneLight which was causing Out Of Memory errors and lagging
- Editor: Fixed for Linux editor now shows up a solid black texture even though it is interactable
- Editor: Fixed height of MaskFieldDropdown when field value includes an option of value 0 that is not named "Nothing"
- Editor: Fixed help icon link of "Install into source code 'build' folder" checkbox in platform settings
- Editor: Fixed issues with HDR rendering on XR platforms. The UI overlay texture was not being used, but was still included in HDR compositing, which results in a washed-out gray tint to the final render
- Editor: Fixed potential random crash in D3D12DeviceState::Transition
- Editor: Fixed pverlay insert indicator renders below other elements
- Editor: Fixed Rendering Debugger errors in console when selecting Additional Lights Cookie Atlas
- Editor: Fixed Rendering Debugger errors in console when selecting Motion Vector Map Overlay
- Editor: Fixed the focus issue in Windows at post DisplayDialog
- Editor: Increased thread priority values for Unity's realtime threads (graphics worker, job workers, etc.) to align with recommended values for realtime applications. This affects all Apple platforms (macOS, iOS, tvOS, and visionOS). This will improve frame pacing on visionOS. (XRVOSB-43)
- Editor: Switch to FNV-1a for Render Graph
- HDRP: Fixed offscreen UI rendering when HDR is enabled
- iOS: Fixed colors being changed in the snapshot (when app is going to the background) when using wide color
- iOS: Fixed occasional crash on exit
- iOS: Removed empty node from Privacy Manifest, which was potentially causing ITMS-91056: Invalid privacy manifest rejections from Apple
- macOS: Fixed player not re-launching when doing Build & Run when the application is already running
- Physics: Fixed a memory leak inside the physics debug draw logic where the filtering data would never be released
- Physics: Fixed an issue where calling Physics.IgnoreCollision(colA, colB) when either of the colliders is disabled, would result in the call to be ignored
- Physics: Fixed an issue where creating new PhysicsMaterial assets would trigger a deserialization error due to the asset type attempting to fetch the default material from PhysicsMaterial::Reset rather than PhysicsMaterial::SmartReset. The later is normally used to access other objects during creation
- Scene/Game View: Fixed an issue where an exception would be thrown if MeshRenderer's material was pinged while in 'Gray' prefab context mode
- Scripting: Fixed Application.exitCancellationToken is called at wrong time when it is registered before the Start
- Shadergraph: Fixed an issue where the Custom Function node's "Body" field would expand off-screen instead of scrolling
- SRP Core: Fixed BlitTexture(RenderTargetIdentifier) to be affected by PostProcessing
- UI Toolkit: Fixed ArgumentOutOfRangeException thrown in console window using controller when selecting default choice in dropdown
- UI Toolkit: Fixed MinMaxSlider so its logic was not dependent on the style. The sliders will now handle resizing and will be positioned based on the width (including margin and border) of the bar
- Undo System: Protect recorded objects in undo from being modified while generating the undo action
- Universal RP: Fixed URP Full Screen Render Feature with RenderGraph to limit the use of global resources and improve memory usage
- VisionOS: Fixed editor not resolving 'UnityEditor.iOS.Extensions.Xcode' reference when only VisionOS module is installed


Unity 6000.0.14
Improved:
- Editor: Improved Editor performance when deleting large object hierarchies from the scene
- Editor: Improved the Unity splash screen code on Windows and Linux for better readability and maintenance

API Changes:
- 2D: Added: TileAnimationFlags.SyncAnimation to allow users to sync Tile animations for tiles with the same animation
- Physics 2D: Added: Collider2D.bounceCombine property
- Physics 2D: Added: Collider2D.frictionCombine property
- Physics 2D: Added: ContactPoint2D.bounciness property
- Physics 2D: Added: ContactPoint2D.friction property
- Physics 2D: Added: PhysicsMaterial2D.bounceCombine property
- Physics 2D: Added: PhysicsMaterial2D.frictionCombine property
- Physics 2D: Added: PhysicsMaterial2D.GetCombinedValues method
- Physics 2D: Added: PhysicsMaterialCombine2D enumeration used by PhysicsMaterial2D

Changed:
- Editor: Updated the internal layout in display cutout modes to match the Android 15 behavior update, which determines that applications will occupy the entire screen space by default on API level 35 and above.

Fixed:
- 2D: Fixed an issue where Sprite Mask was not correctly masking out normals pass
- 2D: Fixed Grid Selection Tool gizmo pointer interactions in the Tile Palette window
- 2D: Fixed inconsistency when renaming Sprite Rect in Sprite Editor Window
- Audio: Fixed an issue to make sure that the transport panel in the audio random container window is disabled when the game view is muted
- Editor: Build Profile Player Settings - Fixed for color space not getting applied when activating a build profile with modified color space
- Editor: Build Profiles - Fixed NullReferenceException after reopening Build Profile window and deleting a profile
- Editor: Fixed an editor crash when clicking on a managed reference in a scene file serialized in the v1 binary managed reference registry format
- Editor: Fixed an issue that prevents Alert sound from playing in Mac Editor when interacting with UI controls using Arrow keys
- Editor: Fixed an issue to preserve managed references when resaving serialized files with managed references in the v1 binary format
- Editor: Fixed an issue where editor windows would stay on coordinates of a disconnected display, making them inaccessible to the user
- Editor: Fixed Editor.SaveChanges sample code in doc
- Editor: Fixed scenarios where the "Auto Refresh" editor preference was not respected
- Editor: Fixed Sprite Editor Secondary Dropdown Menu Missing
- Editor: Fixed the order of some internal menu items being incorrect (e.g GameObject/UI)
- Editor: Fixed undesired GC allocations in HDAdditionalLightData.TickLateUpdate()
- Editor: Fixed xr-related shader warnings
- Editor: Mulitple fixes and polish to Shader Graph sample content for Unity 6
- Editor: Removed duplicate iteration looking for folder paths to remove from the Asset Database
- Editor: Windows moved to a different display on Windows upon display disconnect will no longer have the minimum size (UUM-75315)
- GI: Fixed an issue where Unity would crash when loading scenes with probe data at nearly-overlapping positions
- Graphics: Disabled unused extensions that were causing rendering issues in the right eye on Quest 2 with the OpenXR plugin
- Graphics: Disabled wave operations in STP Setup Pass to avoid visual issues on some Android devices
- Graphics: Fixed a crash when setting Scissor Rect without a Color Target Attached using Metal
- Graphics: Updated libraries for both HDRP-Blank and URP-Blank Templates
- HDRP: Fixed an issue where reimporting ShaderGraph trigged a UnityVCS/Perfoce local checkout
- HDRP: Fixed an issue where UI images using render textures would not render properly with HDR enabled
- HDRP: Fixed missing UNITY_MATRIX_IT_MV define in HDRP shaders
- HDRP: Fixed SSMS slider not showing when volumetric fog was disabled
- iOS: Fixed occasional hang on some devices when tweaking autorotation
- iOS: Fixed the path where the image from a custom splash storyboard is stored
- Linux: Fixed screen resolution does not sync properly with the system's when changing system resolution during runtime
- Package: Fixed a issue with Matchmaker AB Testing not working properly on non-production environments.
- Package Manager: Fixed Ctrl+V Paste in MyAsset Page Search Field
- Package Manager: Fixed the issue where the Package Manager Window recommended a different version than the version returned by the public API
- Particles: Fixed a crash with Shape Module in Mesh mode while spawning inactive object through prefab or asset bundle
- Particles: Fixed sub-emitters being triggered too many times when the parent particle system's particles are spawned and destroyed in the same frame
- Profiler: Fixed an issue by ensuring that allocation size is serialized as a 64-bit unsigned integer on all platforms
- Serialization: Fixed an issue to not show crash reporter when reading corrupted files
- Shadergraph: Fixed an issue where moving a property node in a Shader Graph with no targets would log an error
- Shaders: Fixed a graphics performance regression on Windows Standalone
- SRP Core: Fixed alignment of the columns on DebugUI.Foldouts
- TextCore: Fixed the loading of the default editor font throwing an exception when the editor is installed at a path containing special character
- TextMeshPro: Fixed "Open Reference" links to wrong/outdated package
- TextMeshPro: Fixed "TextMesh Pro Essential Resources are missing" Console error
- TextMeshPro: Fixed "Update Sprite Asset" button to update inspector
- TextMeshPro: Fixed EnvMapMatrix update when the rotation parameter changed
- TextMeshPro: Fixed xAdvance for the horizontal tab when RTL is enabled
- UI Elements: Fixed an issue in the UI Builder where the search field of the Library pane did not contain a close/cancel button
- UI Toolkit: Fixed an issue in the UI Builder where the dragger of some fields in the inspector pane would not cover the entire label of the field
- UI Toolkit: Fixed an issue where editing attributes of a custom binding would miss or misinterpret keyboard inputs
- UI Toolkit: Fixed the UI Builder Library ScrollView to be more responsive after enabling the Editor Extension Authoring Mode
- Universal RP: Fixed an incorrect depth copy scheduling in deferred path when render graph was enabled
- Universal RP: Fixed an issue by avoiding overwriting the cameraDepthTexture handle with gbuffer4 in deferred render graph path
- Universal RP: Fixed an issue where Directional Light Shadows rendered incorrectly at close distance
- Universal RP: Fixed an issue where glClientWaitSync: Expected application to have kicked everything until job: 96089 (possibly by calling glFlush)" are thrown in the Android Player on some devices with PowerVR Rogue GE8320 GPU
- Universal RP: Fixed shadow-map sampling artifacts present when using the Unlit DrawMode in the SceneView
- URP: Fixed URP Lens Flare with scaled pixelRect
- URP: Removed msaa sample count mismatch warning at first frame in IOS player
- VFX Graph: Fixed copy/pasting a selection from a graph to another when the selection contains multiple times the same property node
- VFX Graph: Fixed several UX issues in the VFX Graph blackboard
- WebGL: Fixed for frame delays when calling AsyncGPUReadback from WebGL
- Windows: Fixed keyboard keys display name provided by Input System displaying wrong Unicode character in certain situation when using some international layout


Unity 6000.0.13
Improved:
- HDRP: Improved the batching of the Lit shaders in HDRP
- Package Manager: Improved code coverage for BasePage, SimplePage and MyAssetpage classes

API Changes:
- Editor: Added: Added ShaderUtil.CreateRayTracingShaderAsset() to the Editor API

Changed:
- Android: Updated default androidMaxAspectRatio from 2.1 to 2.4
- Burst: Improved error message for pointer-like types in non-readonly static fields
- Burst: Improved performance of Burst-compiled code in the Windows x64 Editor by only emitting context-saving code when the code being compiled contains a throw
- URP: Sprite Default Material - Moved to Graphics Settings, Sprite Settings from Renderer2DData

Fixed:
- 2D: Fixed a crash that would occur when a user does an infinite recursion loop using a Tile's StartUp call by limiting the recursion
- 2D: Fixed a null exception that would occur when a user tries to copy and paste a Sprite Outline to all Sprites when no SpriteRect in the Sprite Editor is selected
- 2D: Fixed an issue where generate outline turned sprites a solid black
- 2D: Fixed an issue where SpriteRenderer sprite visual would appear unchanged when the sprite changed
- 2D: Fixed crash associated with VertexUtility::CopyChannel
- 2D: Fixed errors that were thrown when errors are thrown when packing the Sprite Atlas due to TilingNotScheduled
- 2D: Fixed Sprite Mask not correctly masking out normals pass
- 2D: Set a minimum width for the Tile Palette window based on the size of the toolbar for Tile Palette Tools when undocked
- 2D: Update Tile Palette Clipboard immediately when user activates a toggle on the Tile Palette Clipboard (UUM-75498)
- Android: Fixed an issue that prevented Gradle from buildingon API Level Targets bellow 30
- Android: Fixed AndroidConfiguration so keyboard/keyboardHidden is properly set for GameActivity
- Android: Re-set the minimum width for Android symbol format dropdowns to ensure it fits to width correctly
- Android: Removed a crash workaround on UnityPlayerGameActivity.java applyInsetListener, where we need to handle null instance for instance. GameActivity 3.0.4 now correctly handles this situation.
- Asset Pipeline: Fixed invalid iterator in AcceleratorClient
- Audio: Added better error handling in AudioClipPlayable in the case of FMOD errors
- Build System: Removed forked 7za binaries and Workspace.SevenZipPath
- Burst: BurstAotSettings files are no longer written to disk unless default settings are changed.
- Burst: Fixed a compiler crash caused by faulty alias analysis.
- Burst: Fixed an issue that would cause Mathf.Approximately to return the wrong result.
- Burst: Fixed an issue where creating a project with a space in the path would cause burst to fail on Windows arm64.
- Burst: Fixed an issue where direct negation of enums was not correctly promoting the underlying type, causing wrong results.
- Burst: Fixed an issue with default interface methods which would result in compiler errors due to IL corruption.
- Editor: Fixed a bug where the Console log would only ping objects the first time they were clicked on
- Editor: Fixed a crash that would occur on FlareManager::DeleteFrame when exiting Play mode
- Editor: Fixed a potential crash or freeze that occured in the Editor with DX12
- Editor: Fixed a shader compile error in the Production Ready Shaders sample in Shader Graph
- Editor: Fixed an issue where properties for prefabs in Preview mode were treated as though they were being animated when they were not
- Editor: Fixed an issue where repaint injection on Linux was not allowed
- Editor: Fixed an issue where Texture2D could not have changes applied if the Inspector was in Debug mode
- Editor: Fixed an issue where the scroll bar would not appear when a Volume Component was added
- Editor: Fixed an issue with the computation of the width of tabs when an icon is above 16px
- Editor: Fixed an open button from the Adaptive Probe Volume component
- Editor: Fixed build failure when setting custom iPhone splash screen storyboard
- Editor: Fixed jam parameters for building player library from the Editor
- Editor: Fixed multiple warnings from the same RP
- Editor: Fixed overlay popups so they display correctly under their collapsed overlay
- Editor: Improved the caching performance of the Uxml Serialization store during domain reloads
- Editor: Reduced the overhead of the macOS Editor task progress bar. This improves performance when many tasks are running in succession that require their own progress bar
- Editor: Removed alpha channel on gtk windows to prevent gnome from blending the window with other window's when our windows alpha is set to 0
- Graphics: Fixed a crash that would occur when calling the C# function MaterialPropertyBlock.CopySHCoefficientArraysFrom on a non-empty property block
- Graphics: Fixed an issue where Editor crashes on GfxDeviceVK::UpdateComputeResources when using compute shader with Vulkan Graphics API
- HDRP: Fixed broken link in fullscreen samples
- Kernel: Fixed an issue with connection to Profiler when using Autoconnect Profiler build option
- N/A (internal): Fixed instability in TexturePatched_MaterialsUpdateReferences
- Package Manager: Fixed an error caused by deleting the Unity App Data folder by regenerating that folder when neccessary
- Particles: Fixed an issue where Particle System's "Texture Sheet Animation" module failed to load Sprite Atlas texture after exiting the Play mode
- Particles: Limited the tile count in the Texture Sheet Animation module to 511 to avoid a potential crash scenario
- Physics: Fixed an issue where negative scale would incorrectly affect the joint axis computation. Resulting in explosive behavior for the first few frames
- Search: Fixed error "AssetDatabase.SaveAssets are restricted during asset importing" when assigning Icons to a Saved Search if the project contained Scene Templates
- Search: Fixed navigating between Saved Searches resulting in broken search results
- Search: Fixed NullReference exception when opening scenes with Window > Search > Scenes
- Search: Fixed QueryBuilder vectors showing uneditable values
- Search: Fixed Search's autocomplete window not closing when the text field loses focus
- Search: Fixed shortcuts in the Search window not working depending on the focus area
- SRP Core: [GLES3] Fixed an issue where Blitter.GetBlitMaterial(TextureDimension.Tex2DArray) returns null
- uGUI: Fixed an issue where Anchor foldout in RectTransform doesn't get keyboard focus
- UI Toolkit: Fixed an issue in the UI Builder where the parts of a selector were displayed without a space between them
- UI Toolkit: Fixed an issue that would cause a null reference exception when adding an element to an array
- UI Toolkit: Fixed an issue that would cause a null reference exception when using custom type property drawer on an array or list
- UI Toolkit: Fixed an issue where ListView's allowAdd and allowRemove properties would call an unnecessary rebuild
- UI Toolkit: Fixed an issue where reorderable ListView handles with custom display style being overridden by inline styles
- UI Toolkit: Fixed an issue with ToggleButtonGroup so it has more padding around buttons
- UI Toolkit: Fixed InspectorElement so it supports editing multiple objects
- UI Toolkit: Fixed ListView focus order so it follows: Foldout > Size Field > Contents > Add Button > Remove Button
- UI Toolkit: Fixed performance issues related to saving a document in the builder
- UI Toolkit: Fixed separators so they are not allowed to be the first item in a submenu in the dropdown menu
- UI Toolkit: Fixed StackOverflowException in ListView when scrolling to an item
- UI Toolkit: Foldout can now be bound to a simple boolean
- UI Toolkit: Made significant improvements to selection performance when dealing with a large number of indices in BaseVerticalCollectionView. This should be noticeable in the ListView, TreeView, MultiColumnTreeVIew and MultiColumnListView
- UI Toolkit: Reduced mesh allocation when using background repeat
- URP: Fixed an issue with the Inspector of Render2DData when selecting custom default material
- Version Control: Fixed an issue where the Unity Editor would get stuck on Creating workspace when Use Unity Version Control was selected from the Hub.
- VFX Graph: Fixed a potential division by zero in RayBoxIntersection code
- VFX Graph: Fixed an issue where copying or pasting in a different asset in a context with a block that used a custom attribute would lose the custom attribute type and fallback to float
- VFX Graph: Fixed missing drag area to change a value for inline float, uint and int operators
- VisionOS: Added support for using WebCamTexture to obtain the Persona feed on visionOS.
- Web: Fixed an issue where the key state of the 'v' key could sometimes remain active even after released when pasting from the clipboard
- WebGL: [WebGPU] Fixed an issue that caused Unity WebGPU builds to fail on Chrome Canary.
- WebGL: [WebGPU] Fixed an issue with Graphics.CopyTexture


Unity 6000.0.12
Improved:
- Graphics: Allowed performing a Submit of Render Request from RenderPipelineManager callbacks.
- Physics 2D: Removed invalid sentence in Scripting documentation for the Collider2D.Overlap methods that accept a List as an argument.

Changed:
- AI: NavMeshBuilder.CollectSources() can now return only the physics objects that are within a volume extending 1e9 units in all 3 dimensions

Fixed:
- 2D: Fixed Gem Hunter sample not working on iOS Simulator
- Android: AndroidApplication.onConfigurationChanged will reuse AndroidConfiguration instance for sequential calls, if you want to cache configuration instance, use AndroidConfiguration.CopyFrom function
- Android: Location Services will now resume (if it is enabled) automatically when app is paused or resumed.
- Android: Reworked Input.location so it now work with GameActivity
- DX12: Fixed a GPU crash by unbind counter resources
- Editor: Clear culling cache results before rendering selection outlines
- Editor: Fixed an editor crash during import when the project has a saved layout of an open build profile window
- Editor: Fixed an issue that would cause a crash when the Editor was exited when GLES is the active graphics API
- Editor: Fixed an issue with RenderRaph API so when a pass modifies the global rendering state, we should prevent it from being culled
- Editor: Fixed issue with Window/Panels menu items
- Editor: Fixed registration error being thrown when a UxmlElement has the same name as the class
- Editor: Updated the sliders in the ARC window so that users can see visually when the randomisation range is being clipped
- Graphics: Bursted culling input creation in OnPerformCulling with GPUResidentDrawer to improve performances
- Graphics: Fixed an issue that caused an error and shader to not load and render with GPUResidentDrawer
- Graphics: Fixed an issue where DBuffer decals where not applied before sampling GI
- Graphics: Fixed crash when using SRP, Handle.DrawOutline() and filtering the hierarchy
- Graphics: Now correctly handle unsupported shaders on resource change with GPUResidentDrawer
- HDRP: Allowed TAAU, CAS, and STP to execute after the DoF or after all the post-processes like the other advanced upsamplers
- Kernel: Optimized job allocator with memory synchronization fix to avoid freezes
- macOS: Fixed an issue where resolution not resetting to full screen when going to full-screen window by using native MacOS UI controls
- Particles: Fixed a freeze that occurs if user particle system jobs are completed immediately after schedule
- Profiler: Fixed a Memory Profiler issue that could cause the total size of a memory root to differ slightly from the sum of its individually reported allocations, as allocation header bytes and unused/fragmentation bytes could be included
- Scripting: Fixed issue with an InstantiateAsync which does not invoke OnAfterDeserialize after the prefab was instantiated in Editor
- SRP Core: Avoid that the same volume can be registered more than 1 time in the VolumeManager
- SRP Core: Fixed crash caused by indirect argument buffer being one item too small
- UI Toolkit: Added an auto-generated tag to UxmlElement and UxmlObject generated code
- UI Toolkit: Disabled template UxmlObject fields in the UI Builder. Attribute overrides do not currently support UxmlObjects
- UI Toolkit: Fixed an issue where setting a field with showMixedValue would cause it to revert to the previous value
- UI Toolkit: Fixed exception when viewing template UxmlObject attributes in the UI Builder
- URP: Fixed a shader compilation error on Apple platforms without Metal
- Video: Memory increases gradually when UWP webcam is opened or closed


Unity 6000.0.11
Improved:
- Animation: Improved Animation Mode performance when using custom properties
- Documentation: Added information about Player Build cache to PostProcessScene documentation
- QNX: Video playback enabled

API Changes:
- Editor: Added: Adds RequestAsyncReadbackIntoNativeArray API to the Unsafe Pass
- Physics 2D: Changed: Rigidbody2D.angularDrag is now Rigidbody2D.angularDamping.
- Physics 2D: Changed: Rigidbody2D.drag is now Rigidbody2D.linearDamping.
- Physics 2D: Changed: Rigidbody2D.velocity is now Rigidbody2D.linearVelocity.
- Physics 2D: Changed: Rigidbody2D.velocityX is now Rigidbody2D.linearVelocityX.
- Physics 2D: Changed: Rigidbody2D.velocityY is now Rigidbody2D.linearVelocityY.
- Physics 2D: Deprecated: Rigidbody2D.isKinematic is deprecated. Use Rigidbody2D.bodyType instead.

Changed:
- SRP Core: Adding What's New in Unity 6 to SRP Core Package

Fixed:
- 2D: Fix issue where R 16 bit textures have banding effect when packed into a Sprite Atlas (UUM-73396)
- AI: Fixed an issue where NavMeshData belonging to a scene would remain loaded after the scene had been offloaded. This issue only occurred when the "Do not reload scene"-option has been checked in the editor settings
- Android: AndroidX use is always true. Fixed problem with Gradle AAB build fail when Split App Binary is on, but there are no asset packs in the generated Gradle project
- Android: Fixed player crash when changing cursor multiple times
- Android: Resolved an issue where the OK button was absent in the Mobile Input Field of the soft keyboard
- Asset Bundles: Improved performance of AssetBundle.UnloadAsync. In certain large bundles with many scenes, the async unloading could take an excessively long time.
- Audio: Fixed an issue that would cause the pan control on audio sources to not work properly in some cases
- Audio: Fixed empty playback when instantiating an AudioSource game object set to play on awake with AudioRandomContainer resource
- Audio: Make fmodprofiling command line argument a diagnostic switch and update docs to show how to profile audio mixer effects (UUM-41887)
- Core: Fixed errors when duplicating scene
- Documentation: Fixed a typo in the Create your own overlay page of the documentation.
- DX12: Fixed incorrect values for GetNextFrameFenceValue() in render plugins (UUM-72389)
- Editor: Enabled hiding layers above current RP limit except when they are selected
- Editor: Enabled Search Window available providers to display consistently across the Editor
- Editor: Filter out dynamic branch keywords when computing shader variants
- Editor: Fix Exception Thrown When Minor Unity Version is Zero (UUM-73851)
- Editor: Fixed 100% editor freeze that occurs when clearing tracked shader variants
- Editor: Fixed a bug where UI Canvas using Screen Space render mode would use an incorrect game view size and behave erratically
- Editor: Fixed an error regarding invalid serialized properties when removing and adding multiple items to a UnityEvent
- Editor: Fixed an issue where an empty menu item was executed from within the AddComponent window
- Editor: Fixed crash when hot-loading renderdoc in editor and GPU Resident Drawer running
- Editor: Fixed incorrect safeArea reported values and an error at the bottom of the screen for iOS versions 15 and below
- Editor: Fixed issues with menu item Id values going out of sync on windows
- Editor: Fixed log spamming and small chance of freezing due to missing sleep implemenation
- Editor: Fixed low resolution artefacts when atmospheric scattering is on
- Editor: Fixed saving a new scene with cloned dependencies to no longer overwrite the existing folder
- Editor: Fixed wrong exception messages in RenderGraph files
- Editor: GameObjects can be selected in the Scene View when GPU Resident Drawer is enabled
- Editor: Moved Realtime CPU Usage property above VSync Count
- Editor: Reduced severity of AutoLocale validation message on Linux
- Editor: When closing a modal dialog, the previous window's tabs are now properly restored
- GI: Apply matching presets in Preset Manager when generating lightmaps and reflection probes
- GI: Fixed noise when using Sky Occlusion with APV
- Graphics: Different reflections on GameObject in Player compared to the Game View when DisplayP3 Color Gamut For Mac is selected on Silicon macOS (UUM-46003)
- Graphics: Fixed culling split exclusion mask not working for Unity terrain
- Graphics: Fixed Linear01DepthFromNear shader utility function on APIs with reversed Z buffer
- HDRP: Fix clouds interaction with thin geometry (UUM-74923)
- HDRP: Fix clouds rendering on top of geometry (UUM-74934)
- HDRP: Fixed a disc area light calculation used for light unit conversion, which was previously incorrect by a factor of Pi
- HDRP: Fixed light culling for raytracing
- HDRP: Fixed time of day script in environement sample.
- iOS: Added missing header files for plugins to Xcode project
- iOS: Updated capability list (UUM-65394)
- License: Https://github.cds.internal.unity3d.com/unity/licensing.entitlement/releases/tag/v1.16.0-alpha.1.
- Package: Fixed Cinemachine bugs.
- Package Manager: Fixed the issue where My Assets page search result does not match that from the Asset Store website
- Package Manager: Fixed the issues where Null Exception will be thrown sometimes in My Assets page
- Particles: Fix potential unbounded memory and excessive work when using Ring Buffer mode (UUM-72277)
- Particles: Updated ParticleSystem.Start() documentation to reflect correct behavior
- Scripting: Fixed an exception when calling destroy cancellation token after destroying the game object (UUM-71988)
- Search: Enabled SearchContext attribute to work with arrays and lists
- Search: Ensured rebinding properties when docking or undocking the SearchWindow if the Detail view is open
- Search: Fixed Search behaviour so that executing a temp query (e.g. narrow area query) doesn't set it as the activeQuery
- Shaders: Fixed "#pragma argument" being ignored in certain cases
- uGUI: UGUI elements can be correctly selected in Scene view
- UI Toolkit: Fixed a stack overflow and provided users with proper logs explaining the situation when it occurs
- UI Toolkit: Fixed an issue where a binding that is triggered in WhenSourceChanged mode would be continuously updated when the resolved data source is null
- UI Toolkit: Fixed an issue where a data source was being unregistered twice when set on a children during an AttachToPanelEvent callback
- UI Toolkit: Fixed an issue where the source generator of the the Unity.Properties module was targeting net6 instead of netstandard2.0, causing issues in VisualStudio
- UI Toolkit: Fixed artifacts when rendering world-space UI Toolkit with WebGL
- UI Toolkit: The TwoPaneSplitView's CollapseChild method can now be called during initialization
- UI Toolkit: The TwoPaneSplitView's drag line no longer hides its panes
- UI Toolkit: The TwoPaneSplitView's drag line no longer jumps when constrained by the minimum sizes of the panes
- Universal RP: Fixed BlitAndSwapColorPass sample
- Universal RP: Update template (Create > Rendering > URP Post-Processing Effect (Renderer Feature with Volume) (UUM-72249)
- URP: Fixed an issue where reflection probes would render incorrectly on some platforms
- VFX Graph: Fixed a crash that occurred when visualizing a VFX preview with raytracing enabled
- VFX Graph: Fixed random texture rendered with instancing when using exposed texture set to None
- Web: Fixed an issue that Application.persistentDataPath would not automatically persist, by adding a new JS config option "autoSyncPersistentDataPath: true" to enable automatic synchronization of Application.persistentDataPath over to IndexedDB
- Web: Fixed compiler error when emscripten option "-sERROR_ON_UNDEFINED_SYMBOLS=0" is used


Unity 6000.0.10
Improved:
- Accessibility: Added information about the minimum Android version supported (Android 8) on the AssistiveSupport class
- Graphics: [Internal] Add a IUnityXRTextureManagerInterface and a function pointer in it which is called when VR RenderTexture is destroyed
- vrDevice->OnTextureDestroyed(ptr);
- HDRP: Improved decal region resolution on non-infinite surfaces
- HDRP: Optimised the water vertex shader
- HDRP: Reduced memory usage when foam is disabled
- IL2CPP: Updated the GC bitmap size on 64 bit platforms
- Mono: Added Unity Embedding API to load assembly refs with error checking
- Mono: Updated the GC bitmap size on 64 bit platforms
- Universal RP: Changed the URP render pass names for consistency in the RenderGraph viewer, the Profiler, and the frame debugger

API Changes:
- iOS: Deprecated: Native function UnityRegisterRenderingPluginV5 has been deprecated, UnityRegisterPlugin is exact replacement
- No real functional changes
- Physics: Added: Fixed 'Reuse Collision Callbacks' behaviour in CharacterController; when on it now prevents garbage generation when using the OnControllerColliderHit callback

Fixed:
- AI: Nav mesh agent will not move in Y axis if the surface is rotated to 90 in X
- Android: Fixed detection of Play Asset Delivery support to avoid problems if there is play.core dependency in the project
- Android: Fixed ndkVersion attribute missing from custom Gradle templated files
- Asset Import: Fixed a performance regression causing increased import times
- Build Pipeline: Fixed a regression introduced in unity 2023.1 that caused the Build Profiles UI to erroneously disable cross-compiling for linux on windows and mac hosts
- Core: Fixed missing option to offset probe at runtime
- Core: Fixed shader warnings in editor APV shaders
- Core: Fixed shader warnings in runtime APV shaders
- Editor: Enabled animation clip list to be excluded in animation settings for model importer Presets
- Editor: Fixed an issue with point cache and vector field that could cause unexpected import when referenced from VFX
- Editor: Fixed for bring to front always removing and re adding the overlay
- Editor: Fixed HDRP area light culling
- GI: Avoided a memory leak and null pointer references when the Lighting window closes while APV is baking
- GI: Enabled the CPU lightmapper to run on ARM-based Windows machines
- GI: Fixed error occuring when baking APV with rendering layers and mesh having multiple submeshes
- GI: Improved robustness of IsRunningLightmapping()
- Graphics: Fixed a crash on Linux Editor where Vulkan may recreate SwapChains while the previous SwapChain's images may still be in use by a command buffer
- Graphics: Fixed broken URL for documentation on Texture2D
- Graphics: Fixed shader compilation timeout error on console platforms
- Graphics: The condition for the "Graphics.CopyTexture with a region will not copy readable texture data for compressed formats" warnings has been fixed to match the documentation so that when a CPU copy would not normally be attempted (ie., at least one texture is not readable), the warnings will not appear
- HDRP: Changed ProbeSettings.cubeResolution field from internal to public
- HDRP: Cull water decals based on distance to camera
- HDRP: Fixed decals not updated in atlas when ShaderGraph is saved.
- HDRP: Fixed deformation offset when water surface is rotated.
- HDRP: Fixed error when drawing water excluder gizmo
- HDRP: Fixed foam and deformation using separate regions.
- HDRP: Fixed lens flare screen space and bloom frame settings confusion
- HDRP: Fixed range remap for decal materials
- HDRP: Fixed water decal gizmo when scale is non uniform.
- HDRP: Fixed water decals not affecting simulation mask.
- HDRP: Fixed water mask applied before deformation
- IL2CPP: Fixed possible crash in fully shared generic code at calls at the generic code generation limit
- Installer: Updated OpenCL compatibility pack to 1.2404.1.0
- License: Fixed a bug where normal floating communication regarding feature status would generate too many log messages.
- License: Fixed a bug where web proxy credentials would not be found when added through a dialog triggered by macOS/Safari after web proxy auto-discovery was enabled.
- macOS: Fixed forward and back buttons being recognized as middle button
- Mobile: Enabled UnitySendMessage to now accept null arguments. This is treated the same way as an empty string
- Mono: Fixed issue that caused some stack traces on Windows ARM64 to fail to generate
- Mono: Fixed memory leak when validating a SSL certificate
- Particles: Enabled converting particles trail vertex color to linear space when needed
- Particles: Fixed crash when calling Camera.Render during OnApplicationQuit
- Physics: Fixed an issue where collider trigger event dispatching would incorrectly keep some trigger pairs when processing PhysX trigger events
- Scripting: Fixed awaitable cancellation preventin other awaitables from successful completion
- Scripting: Prevented a crash when processing a C# assembly that has invalid assembly references
- SRP Core: Fixed a null reference exception on the Graphics Settings stripper
- UI Toolkit: Fixed an issue where ListView would not automatically call RefreshItems when autoAssignMode is used
- Undo System: Improved performance of recording property modifications for large object groups
- Universal RP: Fixed ScriptableRenderPass.profilerSampler being null in Compatibility mode. This will now only be null in release (non-dev) when using RenderGraph. This nullification was done previously as a small performance optimization
- URP: Fixed CopyDepthPass setup causing Vulkan validation errors under specific circumstances
- URP: Fixed the yflip issue when depth texture is required and color texture is not required in RenderGraph compatibility mode
- VFX Graph: Custom HLSL can be missing when connected to several contexts
- VFX Graph: Fixed an exception when trying to create curl noise sub-variant nodes
- VFX Graph: Fixed potential crash and correctness when using a system with multiple Volumetric Fog Outputs
- VFX Graph: Fixed SpawnIndex attribute when using instancing
- VFX Graph: Fixed variadic attributes to not be allowed to be used in custom HLSL code
- VFX Graph: Improved how the sleep state is updated for particle systems receiving GPU events
- VFX Graph: Wrong mesh rendered with instancing, when using multi mesh and exposed submesh mask
- Video: [Android] The first few seconds of the video audio is distorted on the Android Player
- WebGL: Disabled URP Depth Priming support due to issues with Apple Arm64 GPUs.
- Windows: Fixed issue with non-native Refreshrate not being restored in Exclusive Fullscreen mode upon restart


Unity 6000.0.9
Improved:
- Editor: Added details to the "incompatible keyword space" error message which is occasionally generated by shaders
- Editor: Compute buffer bindings and textures are now maintained when hot reloading assets
- Editor: Improving Splashscreen code
- Graphics: Improved CPU performance of Native Render Pass path in GfxDevice to speed up URP RenderGraph
- UI Toolkit: Added UX improvement for missing workflow when extracting inline value to selector

API Changes:
- GI: Added: Added an API for getting the associated shadowmask channels of lights retrieved from the InputExtraction.ComputeOcclusionLightIndicesFromBakeInput function

Changes:
- Version Control: Added "Undo unchanged" and "Undo checkouts keeping changes" options to pending changes view
- Version Control: Changed the default ignore.conf to not ignore itself anymore
- Version Control: Removed focus redirection after Check-in

Fixed:
- Audio: Fixed an issue where alternating between the AudioSource.clip and AudioSource.resource setters would cause the AudioSource.volume setter to have no effect
- Build System: Fixed a potential crash when building
- Editor: Fixed a crash when interacting with a shader variant collection containing shaders with dynamic branch keywords after de-/serializing the collection
- Editor: Fixed docked Build Profiles window becomes messy during the resizing
- Editor: Fixed long build profile names are not shortened properly in Build Profile Editor
- Editor: Fixed Platform title is displayed twice in the "Build Profiles" section
- Editor: Fixed profile list section grows bigger according to the longest build profile name
- Editor: Fixed unexpected error while switching between branches
- Editor: Hide a RenderMode field from Light Component in URP and removed related documentation
- Editor: Updated 7-Zip to 24.07
- GI: Changed Adaptive Probe Volumes to store occlusion values for each light when using Mixed Lighting modes. This allows static objects to cast shadows onto dynamic objects by sampling the probe volume
- Graphics: Added validation that SetVertexAttribute() streams doesnt create gaps
- Graphics: Fixed a bug where material property block allocations were reported as "Unknown"
- Graphics: Fixed an issue where TextureImporter swizzling was applied later than expected during processing
- Graphics: Fixed crash on metal with depth-only clears coupled with hdr under some circumstances
- Graphics: Fixed crash when opening a project that loads TSS files, if texture data is loaded on demand
- Graphics: [Graphics] Emit UI geometry when rendering to cube maps, while using mono camera, to match 2d render target behavior
- HDRP: Fixed a crash in HDRP when reaching the max amount of shadows on screen
- HDRP: Fixed an out of range exception in HDRP when reaching the max amount of shadows on screen
- iOS: Fixed release build failing to link if Debug.CheckIntegrity is used
- Kernel: Revert job system allocator optimization which could cause freezes
- Package Manager: Fixed the issue where incorrect reverse dependencies were shown in the Package Manager window
- Physics: Fixed an issue where all Joint component types apart from HingeJoint would be treated as having their limit ranges (-tau,+tau) rather than (-pi,+pi) by default. This issue manifested as unstable/explosive initial motion of any joint system not using HingeJoint components
- Physics: Fixed an issue where Colliders would skip over the root ArticulationBody due to initialization order. This would end up forcing the colliders to remain static and be ignored by the ArticulationBody components that they should be attached to
- Physics 2D: Rigidbody2D.Slide now correctly uses the specified Physics2D.IgnoreCollision controls
- Prefabs: Ensure Awake is called after SetParent and MergePrefabInstances for all objects on duplicate
- Scripting: Fixed an issue where code generated by MonoScriptInfoImporter was not considered generated by Roslyn analyzers
- Shadergraph: Fixed an issue where an HDRP fullscreen shader graph imported into a URP project would fail to import under some circumstances
- Shadergraph: Fixed shader graph built-in pipeline variants not getting stripped when an SRP is active
- Shaders: Fixed a runtime crash that could occur when loading shader sub-program parameters
- SRP Core: Fixed _FOVEATED_RENDERING_NON_UNIFORM_RASTER shader compilation errors
- Universal RP: Fixed an issue with enabling instancing at runtime for a Decal material
- Version Control: Fixed "Collection was modified" error when doing multiple renames in a row
- Version Control: Fixed "item with the same key has already been added" error
- Version Control: Fixed check in error if nothing is selected in the pending changes tree
- Version Control: Fixed column sorting in pending changes view
- Version Control: Fixed error after renaming a parent branch of the working branch
- Version Control: Fixed failure to delete a .meta file when deleting a private folder from the pending changes
- Version Control: Fixed hang on domain reload
- Version Control: Fixed missing incoming changes after removing a branch
- Version Control: Fixed text cut-off in filter rules dialog
- Version Control: Fixed undo & check-in operations not working when the current scene was never saved
- Version Control: Fixed variables's value becoming clear after resolving conflict in inspector
- Version Control: Moving folders in the Editor now correctly use the UVCS "Move" operation
- Version Control: Removed misleading indication about shelves
- Version Control: Supported workspace name with non-latin characters in Pending Changes
- Web: Fixed the Web platform name in Build Profiles window from WebGL to Web
- WebGL: [WebGPU] Fixed error for a filtering sampler being incompatible with non-filtering binding
- XR: Updating XR Interaction Toolkit (com.unity.xr.interaction.toolkit) to version 3.0.4


Unity 6000.0.7
Features:
- Package Manager: Added a new Editor -upmLogFile command line argument that specifies a custom file path for UPM log output
- Shaders: Added support for the #push_line 1234 filename and #pop_line directives to the Shader Pre-processor

Improved:
- 2D: Add toggle to allow users to generate an outline for all Sprites in a Texture, even if the Sprites already had an outline defined

2D: In the Sprite Editor, users now can:
- Copy an outline from a module and persist the outline to the other module
- Copy and paste the outline from the alternate module (Outline to Physics Shape and Physics Shape to Outline)
- Copy and paste all outlines from the alternate module
- Documentation: Added a new workflow to the Timeline Workflows documentation: The Create a custom Notes marker workflow, which demonstrates how to create a custom marker for adding notes to Timeline instances. This workflow also demonstrates how to change the default appearance of a custom marker with scripting and a Unity Style Sheet (USS).
- Editor: Added a warning for lights baked in shadow mask mode falling back to fully baked
- Editor: Added Prefab Variant to the Shortcut area of the Create Menu
- Graphics: Improved vertex data copy for Dynamic Batching
- HDRP: Added SG custom refraction example to Transparency sample
- HDRP: Adding environment samples showcasing environment effects together
- iOS: Print a warning if there are symlinks in a framework when building on Windows
- iOS: Validate that frameworks contain Info.plist file
- macOS: Added a better error message for duplicate source file plugins
- Package Manager: Package icons positions are now consistent with the type of information they pass on to the users
- Physics: Improved the behavior of MeshCollider mesh cooking by allowing again the use of meshes where the distance between two vertices of a triangle is greater than 500 units. Using meshes as such can break simulation (especially character controller) and query stability in PhysX. This issue would only occur when MeshColliderCookingOptions.WeldColocatedVertices or MeshColliderCookingOptions.EnableMeshCleaning would be enabled when baking a triangle mesh.
- Physics: Improved the label for the physics integration dropdown in order to clarify what the property does.
- Physics: Improved the message provided when using a mesh that contains triangles where the distance between any two vertices is greater than 500 units. The message now effectively reflects the guidance within the PhysX SDK documentation.
- Scene/Game View: EditorTool buttons now automatically refresh state if respective tool's availability changes and unavailable tools are shown as disabled instead of hidden.
- UI Elements: Improved performance of MultiColumnListView and MultiColumnTreeView when changing the visibility status of columns.
- A rebuild will now be scheduled instead of performed after each status change
- VisionOS: Plugin path "Assets/Plugins/VisionOS/" is now recognized and auto-selects VisionOS as compatible platform.
- VisionOS: Soft Particle effects now account for foveation when sampling the depth buffer.

API Changes:
- Android: Added: Added AndroidConfiguration class which contains properties for many aspects of Android application, see https://developer.android.com/reference/android/content/res/Configuration for more information.
- Android: Added: Added AndroidJNI.InvokeAttached which you can you use from threads to invoke java methods without the worry of calling AttachCurrentThread/DetachCurrentThread.
- Android: Added: Added UnityEngine.AndroidApplication class which you can use to get current activity instance, invoke on UI or Main thread, and subscribe to configuration changes.
- UI Toolkit: Added: Added EnumButtonsAttribute. This can be used to display an enum field with a ToggleButtonGroup instead of a popup field.

Changed:
- Editor: Update 7-Zip to 24.06
- Physics 2D: Change the default value of contact-threshold to zero (off) by default for new projects and improve its tooltip
- Serialization: Changed alignment in SerializedFile from 8 to 16 bytes, and added 16 bytes alignment into ResourceFileBuilder to improve patching results on some platforms

Fixed:
- 2D: Fixed blend issues in rendergraph 2d pipeline
- 2D: Fixed issue where the outline detail is reset to 0 for a Sprite Rect in the Sprite Editor when an outline is pasted onto a Sprite Rect
- 2D: Fixed null exception error when the user clicks on the Tile Palette Clipboard when there are no Tile Palettes available in the project
- 2D: Fixed Sprite Mask issue with target sorting layers
- Android: Fixed crash on Xclipse GPU based devices when setting Buffer Debug name on OpenGLES3 and Development build settings
- Android: Fixed problem with black screen when app is put to split mode
- Android: To add activity null handling in isInMultiWindowMode API (UUM-71574)
- Asset Bundles: Only call CollectAllSpriteAtlasesAndPack once when building AssetBundles (UUM-73147)
- Asset Pipeline: Fixed issue with userData field in meta files not being read for script assets (UUM-64694)
- Audio: Fixed exception thrown while pausing when ARC window is empty
- Audio: Made the AudioRandomContainer more robust against rapid pitch changes from doppler
- Build Pipeline: Fixed an issue where if vswhere.exe failed to detect Visual Studio installations. Now a warning is emitted to the editor console
- Core: Fixed bake buttons that could still be clicked when baking is in progress
- Core: Fixed baking reflection probes
- Core: Fixed brick placement when using probe offset and max possible probe spacing
- Core: Fixed cloning of baking sets when opening a new scene in 'Single Scene' mode
- Core: Fixed holes when placing APV probes on terrains
- Core: Improved error reporting when baking APV with an incorrect setup
- Documentation: Added the Enable constrained proportions option to the Transforms page.
- Documentation: Fixed URP and HDRP documentation for APV Rendering Layers.
- Documentation: Updated directions to the Project Settings window in our Settings page.
- DX12: .Fixed an out-of-memory crash on XBox
- DX12: Fixed an issue by binding the color attachments in the correct order
- Editor: A new setting has been included to skip local package scanning during version control initialization
- Editor: Build Profile - Fixed for 'Recursive serialization is not allowed for threaded serialization' when the build profile context instance is created in a serialization callback
- Editor: Build Profile - Redirecting the old build settings window to open the build profile window
- Editor: Drag and drop operations performed on files within the currently open projects' folder should now succeed on Windows
- Editor: Ensure the editor uses ADB to compute a preview only for .prefab asset file
- Editor: Fixed an issue where Texture.SetTextureSetting would take invalid values
- Editor: Fixed an issue where web proxy credentials would not be found when added through a dialog triggered by macOS/Safari after web proxy auto-discovery was enabled.
- Editor: Fixed an issue where, an Infinite loop within editor launch screen causes it to hang on exit
- Editor: Fixed an issue with ordering of processing newly created ScriptableObjects. Awake() is now the last step as expected and is no longer called twice
- Editor: Fixed bug where polygons are created on the opposite side of the sprite for uGUI images
- Editor: Fixed Copy/Paste for IMGUI ColorField so it only works when the field is selected
- Editor: Fixed issue where clicking the "Fix" button in an XR project validation page can cause the Editor to crash
- Editor: Fixed issue with text shader not updating correctly after a transform change
- Editor: Fixed LinuxEditor crash calling WarpCursorPosition outside of PlayMode
- Editor: Fixed null ref when using TMP without essential resources imported
- Editor: Fixed random flickering in some scene with dx12+graphics jobs
- Editor: Fixed Ray tracing quality keyword not having a pathtracing input
- Editor: Fixed removing a scene from a baking set when it has just been added
- Editor: Fixed splash screen logo and background sprites being unloaded after preview. This would also unload them if they were being used in the scene
- Editor: Fixed subsection of HDRP Asset not opening when using same index as its parent section
- Editor: Fixed the serialized property becoming invalid whilst changing prefab fields via dropdown
- Editor: Fixed transient resources in NRP RenderGraph
- Editor: Fixed URP render pass names. They now match the profiler sampler names, are more consistent and descriptive. Also solving issues with the profiler scopes for certain passes
- Editor: Fixed wireframe not rendering when using Vulkan
- Editor: Fixed YAML parsing error when property containing GUID is not defined in a single line (UUM-72596)
- Editor: Improve setlocale LC_NUMERIC guards
- Editor: Minor update of the Unity theme.
- Editor: NativeRenderPass in URP can reach a hard-coded limit that breaks the rendering when using Compatibility Mode
- Editor: NullReference exception gathering GlobalSettings while having the GraphicsSettings inspector opened
- Editor: Property attribute with applyToCollection set to true should not affect non-collection fields
- Editor: Switch to Custom GetHashCode for Delegates in RenderGraphPass
- GI: Fixed a crash when cancelling during a lightmap bake
- GI: Fixed a crash when the Enlighten precompute data is too large. Report an error instead
- Graphics: Fixed a crash when unsupported Vulkan debug tools were used accidentally
- Graphics: Fixed blending artifacts on some old Adreno GPUs
- Graphics: Fixed by issuing an error and doing an early return instead of crashing
- Graphics: Fixed several crashes when assigning indices to a mesh that has overlapping sub-meshes
- Graphics: Preventing vertex input dynamic state optimization from being used on Adreno 740 because of driver bug
- Graphics: Warning about missing Depth for a RenderTexture needs to be improved
- Graphics Tests: Error is no longer thrown if reference image is not present on Android and WebGL (UUM-73039)
- HDRP: Fixed an issue where Terrains with 4 layers or less displayed a checker texture when using debug views
- IL2CPP: Changes to ensure unique field names in C++
- IL2CPP: Fixed a memory leak related to thread static data
- IL2CPP: Fixed custom linker setup with --linker-flags-file
- IL2CPP: Fixed slow performance when loading an XML document with DTD
- IL2CPP: Fixed sporadic crashes on ARM based platforms
- Input: Improved the performance of the Gamepad.SetMotorSpeeds() script API
- iOS: Don't symlink .xcprivacy files when "Symlink Sources" build option is selected
- iOS: Fixed a small memory leak in UnityWebRequest (custom HTTP headers)
- Kernel: Reduced job system overhead when many jobs finished executing simultaneously
- Package Manager: Disabled uneditable package manager values in inspector for selected packages
- Package Manager: Displaying a console warning when the user attempts to install a git package while another installation is in progress, explaining the reason for the operation's failure
- Package Manager: Enable/Disabling 'All' and 'None' buttons in package Import/Export window based on the checked files
- Package Manager: Fixed an issue where Web proxy credentials added by macOS during a system request through a WPAD web proxy were not found.
- Package Manager: Fixed the issue where All and None buttons in asset remove window are active all the time
- Package Manager: Fixed the issue where the git tag show up as ellipsis in the Package list
- Package Manager: Fixed the issue where tooltip on actions dropdown menu for Asset Store packages doesn't appear anymore
- Package Manager: Import and Export buttons are now disabled if there is nothing to import or export
- Physics: Fixed an issue where ignorance lists would not persist if the involved colliders get disabled and re-enabled
- Physics: Fixed an issue where the physics integration dropdown would always be disabled.
- Physics: Fixed an issue where the Physics settings uxml files defined the window title labels without a proper padding. Resulting in the titles being slightly misaligned.
- Physics: Fixed raycast not hitting a collider when part of a ignore collision pair
- Physics 2D: A PolygonCollider2D associated with a SpriteRenderer using "Sliced" Draw Mode should not crash when empty paths are added
- Player: Fixed as issue in URP Forward+ where screen space decals would not render in builds if using rendering layers
- Player: Fixed possible crash on shut down when custom player loop is set
- Prefabs: Added checks for TransformHierarchy initialization in SetParent
- Scene/Game View: Fixed the direction label that was not updating anymore since moving the orientation gizmo to an overlay
- Scripting: Fixed crashes and hangs in multithreaded code that uses Awaitable
- Scripting: Fixed issue with an InstantiateAsync overload that took a parent as parameter but did not apply it
- Scripting: Fixed issue with SkinnedMeshRenderer using the original object's bones after being cloned with InstantateAsync
- Scripting: Fixed issue with values in RectTransform not being copied with InstantiateAsync
- Serialization: Ensure m_Reader destructor is not called after its dependencies are destroyed
- Shadergraph: Add support for perceptual color mode for gradients in shader graph
- Shaders: Fixed "incompatible keyword state" assertions being generated by shaders whose UsePass command resolved to a pass from the target shader's fallback (UUM-71342)
- Shaders: Fixed reversebits implementation on metal
- Shaders: Fixed ShaderLab's UsePass command finding passes from multiple subshaders
- SRP Core: Fixed an exception thrown when Render Graph pass was missing its renderFunc but tried to compute its hash value
- SRP Core: Fixed light.useViewFrustumForShadowCasterCull previously being ignored for shadow cascades. light.useViewFrustumForShadowCasterCull now works as expected
- SRP Core: Fixed Render Graph Compiler logic bug where UnsafePass using MSAA texture could result in missing resolve surface errors
- Text: Fixed rounding issue in text measurement
- TextCore: Address issue with CRLF line-endings breaking the text measurement
- Timeline: Fixed an issue where using , and . (<>) to step frames in the Animation Window while the Timeline Window was linked would sometimes not work.
- Timeline: When the Timeline and Animation windows are linked and the Timeline Window is active, moving the playhead in the Timeline Window will cause the animation window to repaint immediately.
- UI Elements: Clicking to the left/right of the MinMaxSlider will now adjust the min/max bound value instead of moving the slider
- UI Toolkit: Correctly implement background repeat rounded corner
- UI Toolkit: Fixed an issue in the runtime bindings system where classes having a dynamic hash code would throw an exception
- UI Toolkit: Fixed attributes overrides not being applied when having some unnamed templates
- UI Toolkit: Fixed builtin resources being added as dependencies to UXML files
- UI Toolkit: Fixed colliding ids for uxml objects
- UI Toolkit: Fixed exception when adding a UxmlObject that had no attributes to a list in the UI Builder
- UI Toolkit: Fixed renaming field focused after entering an invalid name in UI Builder
- UI Toolkit: Fixed UI Builder flex-grow tooltip information
- Universal RP: Added warning box in the camera inspector when both TAA and MSAA is enabled to notify the user that TAA will be skiped with current settings
- Universal RP: Fixed a render graph bug where a pass-break between GBuffer and deferred lighting would cause an error
- Universal RP: Fixed render graph scheduling logic for CopyDepth pass when custom passes that read depth are present
- URP: Fixed render graph allocated textures not respecting dynamic scaling settings in some cases
- URP: Made the gBuffer components non-global
- VFX Graph: Fixed "int" type could not be parsed when the access modifier is not specified (UUM-71490)
- VFX Graph: Fixed a leak while spamming ReInit
- VFX Graph: Fixed compilation error when using the Six-way Lit Output with Adaptive Probe Volumes
- VFX Graph: Fixed output properties in subgraphs had misplaced wire connector
- VFX Graph: Fixed potential crash when using the Noise Module in a particle system
- VFX Graph: Fixed potential exception message in the console when opening any VFX Graph
- VFX Graph: Fixed some UI elements could overflow their reserved space
- VFX Graph: Fixed unexpected CustomHLSL includes in neighbors contexts
- Video: Editor freezes when playing videos with playback speed value - Video: [Android] Player with the specific Video clip crashes on "/apex/com.android.runtime/lib/bionic/libc.so (__memcpy_a53+96)" when the video is bundled with other video clips and Codec is set to VP8
- VisionOS: Consider plugins compatibility even if their .meta files are empty (default import settings)
- WebGL: Fixed a bug that prevented users from copying and pasting between other html elements
- WebGL: [WebGPU] Fixed an error about null texture data.
- WebGL: [WebGPU] Fixed error about commands being executed while a render pass is still active.
- WebGL: [WebGPU] Fixed for compute shader write-only storage textures.
- WebGL: [WebGPU] Fixed native texture creation.
- WebGL: [WebGPU] Fixed webgpu shader compilation compute shaders for false errors about non-uniform barrier calls.


Unity 6000.0.5
Features:
- Shadergraph: Adds a new set of sample content - Production Ready Shaders - to the Shader Graph package

Improved:
- DX12: Improved DX12 DRED info logging
- Graphics: Rendering Debugger - Improved docs on how to open and how to use Rendering Debugger
- UI Toolkit: Improved performance of UI Toolkit by enabling more cache usage during the layout

API Changes:
- Scripting: Added: Added new method string Hierarchy.GetPath(in HierarchyNode node) which returns the textual path name of a node using names of nodes

Fixed:
- Android: Added ability to create filters for Android devices to allow or deny devices from using the Vulkan API when Vulkan is in the list of Graphics APIs. With Android Vulkan Allow Filter List, one can allow certain devices to use Vulkan as the default API. Alternatively, with Android Vulkan Deny Filter List, one can limit certain devices from using the Vulkan API.
- Android: Fixed issues where calling Cursor.visible on Android API 23 would cause a runtime error. Since https://developer.android.com/reference/android/view/PointerIcon is only available on API 24 or higher. Cursor.visible won't do anything in API 23
- Android: Fixed regression because of androidApplicationEntry ordering
- Android: Update AndroidNativePlugin example in docs for all Android architectures
- Animation: Fixed additive animations ever increasing non animated values
- Animation: Fixed PlayableDirector fields that were not being updated when the Bindings section was expanded
- Apple TV: Fixed tvOS simulator input crash
- Build System: Fixed an issue where building unity source code would fail because of unused variables in release mode
- Core: Fixed APV baking when there is no geometry in the scene
- Documentation: Updated manual page for UnityWebRequest upload handlers.
- Editor: Fixed a SpeedTree9 shader error when opening the HDRP Test project the first time
- Editor: Fixed active clutch shortcuts not resetting when opening a popup menu
- Editor: Fixed an issue where the TextureImporter didn't correctly apply "Read/Write" for Texture3Ds (always treated as enabled)
- Editor: MacOs framework bundles now preserve their symbolic links when when they are dragged and dropped in the editor Assets
- EmbeddedLinux: Fixed Screen.resolutions
- GI: Added functionality to set GI Cache Preferences from CLI Args
- Graphics: Fixed applying a wrong viewport when a deferred camera uses a modified viewport together with a user-defined render target
- Graphics: Fixed int64 pragma requires being ignored in ray tracing hlsl code: pragma require int64 and pragma require int64bufferatomics
- Graphics: Graph and Camera options for Render Graph Viewer disappear after maximising the window
- Physics: Fixed an issue where a Collider's filter data would not properly update when setting a new layer to the GameObject the component is on. This caused collisions to either be ignored or not based on the previous layer's mask rather than the new one
- Physics: Fixed an issue where pose updates to character controller would be rejected due to incorrect comparisons when checking if pose was changed
- Physics: Fixed an issue where the collision layer matrix would be incorrectly scaled. A follow up fix will be done to fully enable dpi scaling for this part of the UI
- Physics: Fixed window titles for the physics manager UI in Project Settings -> Physics and Project Settings -> Physics -> Settings
- Player: Fixed player memory leak when managed reference registry was destroyed
- Prefabs: Disable Show Overrides reference patching
- Scene/Game View: Fixed an issue where overlays layout would not be correctly restored when reopening an editor window
- Scripting: Fixed a crash when trying to use hierarchy core module APIs in multiple threads. Note that the APIs are not thread safe, but now they can be used in threads as long as the objects remain in the same thread
- Scripting: Lifetime of various hierarchy core module objects should no longer cause a crash on platforms that can be reinitialized without leaving the application
- Shadergraph: Addressed an issue where convert-to subgraph would sometimes result in an exception
- SRP Core: Game view background turn yellow after enable render graph
- uGUI: Consistent detection of points within the boundaries of RectTransform-defined rectangles
- UI Toolkit: Add support for content width generic menu
- UI Toolkit: Fixed being unable to resize a visual elements in the UI Builder viewport when it has flex grow
- UI Toolkit: Fixed exception when reparenting a template instance inside another template instance
- UI Toolkit: Fixed setting the Toggle text to null or empty when it previously had a value
- Universal RP: Fixed an issue where shadows for additional lights were incorrectly ordered when using deferred rendering
- Universal RP: Fixed an issue where shadows for additional lights were still rendering even though they were disabled in the URP Asset
- Universal RP: Fixed an issue where shadows for additional lights would flicker if additional lights exceeded the maximum amount of shadow casting lights
- VFX Graph: Disable compile menu when authoring subgraphs
- VFX Graph: Fixed the ability to add blocks to subgraph context
- VFX Graph: VFX Graph VFXOutputEventHandlers Sample now compatible with Cinemachine 3.x
- WebGL: [WebGPU] Fix SRP Batcher crash with multi-part meshes
- WebGL: [WebGPU] Fix URP error with multisampled depth textures


Unity 6000.0.4
Improved:
- Editor: Added functionality for ModelImporter Presets that now allows the editing of clip list values and various animation settings
- Editor: Faster check for the native subpasses limit and less duplicated code
- Editor: Ship arm64 7-Zip with the arm64 Windows Editor, instead of an x64 7-Zip
- Physics: Improved joint actor frame computation by ensuring initial actor frames only get set during initialization or when assigning a connected body to the joint

API Changes:
- Editor: Changed: [Android] "Resizable Window" setting has been renamed to "Resizeable Activity" and the default value is set to true for new projects.

Changed:
- Editor: ObjectField label is now shown with 70% opacity for null values. This applies to both UI Toolkit and IMGUI
- Editor: EditorGUIUtility.ObjectContent will no longer include an icon when the value is null. When the type of object is stated in the label, there is no need for the type icon to be shown. Showing an icon when the value is null can create confusion and when the value is "Missing" it can be perceived as there is a texture there named missing. If you still wish to have an icon you can use AssetPreview.GetMiniTypeThumbnail(type);
- Package: Updated localization to 1.5.2

Fixed:
- Android: Bump Android Logcat Package to 1.4.2
- Android: Fixing problem with UnityPause method not being called when using GameActivity and starting full screen video
- Android: Update GameActivity to 3.0.3 version, it fixes a crash when playing full screen video
- Android: Updated App Bundle size validation, updated link for the actual Google Play size limits
- Asset Bundles: Improve parallelism of the Main Thread integration and the Preload Manager thread
- Audio: Fixed a bug that would cause the editor to crash if you delete and then re-add an audio listener component
- Audio: Fixed a bug that would cause the editor to throw a null reference exception when selecting a clip with auto play turned on
- Audio: Fixed an issue where the the AudioRandomContainer editor window would be blank and an error logged after deleting the displayed asset.
- Burst: Fixed an issue with auto promotion from bool to float that can occur with newer Roslyn
- Burst: Fixed build error when Product Name contains illegal path characters
- Burst: Fixed compilation error when trying to use MemoryMarshal.GetReference on Spans
- Burst: Fixed crash caused by faulty no-alias analysis
- Editor: Build Profile Player Settings - It's possible to set WebGL's texture compression format per build profile
- Editor: Fix "PlatformHasFlag is not allowed to be called from a ScriptableObject constructor" error when entering play mode with a plugin selected in the inspector
- Editor: Fix for [Windows] Editor crashes during shutdown if "Cancel" changes to InputActions
- Editor: Fix not raising RenderPipelineTypeChanged callback if only scene view is active
- Editor: Fix random Editor crash with dx12
- Editor: Fix seams caused by different subdivision levels
- Editor: Fixed editor crash when custom build profile is set active
- Editor: Fixes regressed --linker-flags-file bug
- Editor: Platform list for Xbox platform made clearer
- Editor: The operator method was using Assert.Equals to check Pose equality, when it should have been using . The Equals method was using ==, when it should have been using Assert.Equals
- Affected Versions: 2021 and above
- Editor: UnityEditor.Build.Content.ObjectIdentifier comparison operators have been changed to be more consistent and use all of the fields. This improves determinism for asset bundle builds
- Graphics: Fix DepthNormalsTexture rendering error with shaders that have GrabPass as the first defined pass
- Graphics: Fixed an issue where default TextureImporter presets excluding "Max Texture Size" properties could make textures import at a size of 1x1
- HDRP: Fix static lighting sky used when baking multiple scenes
- HDRP: Fixed artefacts on borders between volumetric clouds and geometry
- HDRP: Fixed perceptual blending option on volumetric clouds
- iOS: Fixed symlinks not being preserved in Frameworks when exporting an iOS project
- iOS: fixed WebCamTexture being non readable
- Linux: Fixed touch freezes in Player when any mouse button is clicked
- Physics: Fixed an issue caused by a previous change to IgnoreCollision where clearing colliders from the ignorance list would stop their list ID effectively losing all other ignorance pairs those colliders had
- Physics: Fixed an issue where joint local body frame would drift when anchors get recalculated. Causing the joint to lose it's initial rest frame
- Physics: Related to the entry of UUM-58304, the main issue of the joint frame is fixed and the old behavior when no extended limits are present functions as expected. When extended limits are used in conjunction with a motorized hinge, the hinge joint local body frame no longer gets an offset based on the current transforms of the bodies attached to the joint. Previously this would happen due to the internal PhysX joint being recreated as either a 6-dof or hinge joint depending on a motor/spring being used or not
- Serialization: Fix enum fields when multiple C# Generic types are present
- UI Elements: Fixed the undo/redo in the MinMaxSlider control for the editor
- UI Elements: Isolated the text edition changes to the touch screen text editor
- UI Toolkit: Fix some error when importing UXML asset when the system locale is in Turkish
- UI Toolkit: Fixed "NullReferenceException" error is thrown when calling UIDocument.runtimePanel while UIDocument is not yet initialized
- UI Toolkit: Fixed an issue where the editor binding system would update the underlying SerializedObject multiple times instead of once
- UI Toolkit: Fixed element name being deleted when pressing the "ESC" key to cancel the renaming of an element in UI Builder
- URP: Fixed SRP per-XRPass control to disable FR for intermediate render passes on untethered XR device if renderViewportScale is active when using URP RenderGraph
- Windows: Ensure that the information read from HID devices are readed correctly even when the driver isn't fully compliant


Unity 6000.0.2
Improved:
- Package Manager: Improved samples tab layout
- Package Manager: Improved warning window to show .unitypackage dependencies that are about to be installed
- SRP Core: Improved Render Graph warning message in URP when missing RecordRenderGraph implementation
- SRP Core: Render Graph Viewer: Display subpass & attachment index
- SRP Core: Render Graph Viewer: New icon & tooltip if there are multiple usage details for a resource block

API Changes:
- Scripting: Added: The virtual method Initialize on HierarchyNodeTypeHandlerBase is no longer internal, and can now be used when multiple instances depends on each other
- Scripting: Added: TouchScreenKeyboard.inputFieldAppearance, which can be used to determine on-screenkeyboard input field traits.
- Scripting: Changed: The class HierarchyNodeTypeHandlerBase constructor no longer has any parameters, the default constructor will be used now, and is guaranteed to be called
- Scripting: Changed: The class HierarchyNodeTypeHandlerBase no longer implements the IDisposable interface, so that Dispose cannot be called manually on instances. There is still the Dispose method with a disposing parameter available to override if needed

Changed:
- Android: Prefer to use android.view.WindowMetrics.getBounds instead of DisplayMetrics.getMetrics/getRealMetrics when device API level is 30 or higher
- Build System: include bee_backend.pdb next to bee_backend.exe on windows installs.

Fixed:
- Android: UTK input field cursor will be always visible now when TouchScreenKeyboard opens, independent of hideInput value, when running on GameActivity. The reason is TouchScreenKeyboard.hideInput doesn't do anything on GameActivity, input field is always hidden
- Asset Pipeline: Ensure the mappings are updated when a const guid changes
- Audio: Fixed an issue that would cause the audio random container window to retain a false reference to an audio random container asset after it has been deleted
- Audio: Fixed an issue that would make it appear as shuffle mode in the audio random container is broken
- Audio: Fixed an issue where there was missing tooltips for the audio random container in the list view
- Build Pipeline: Fixed Build and Run for UWP on D3D Generated Projects builds
- Build Pipeline: Fixed plugin filtering for UWP, which will include only compatible plugins
- Editor: * A new editor settings, "Exactly Match Referenced Clip Names", is set to true by default for new projects that are created starting with Unity 6.0
- Editor: Changed multiplayer play mode dialog pop up to an event
- Editor: Checking material layout only for the active subshader
- Editor: Fixed a race condition crash in texture delete and dx12
- Editor: Fixed an issue that would cause the audio random container window to show the wrong asset
- Editor: Fixed an issue where crashes could occur while quitting when Cloud Diagnostics is enabled
- Editor: Fixed an issue where renderer SortingLayerID cannot be set at runtime
- Editor: Fixed exception thrown when switching between previews in inspector
- Editor: Fixed focus selected shortcut regression on hierarchy
- Editor: Fixed issue with Kerning
- Editor: Fixed issue with the editor turning black when a TextEditor constructor was called too early
- Editor: Fixed tabbing to an invisible element when tabbing to Foldout elements
- Editor: Fixed toggling Allow Instancing for multiple game objects and prefabs not applying the changes
- Editor: Setup keywords for Graphics Settings to fix a compatibility with searches
- Editor: Treating RenderSettings.m_IndirectSpecularColor as volatile data
- Graphics: Prevent crash when an asynchronous texture load fails
- HDRP: Fixed a potentially deadlocking StageRasterBin kernel in Hair system
- HDRP: Fixed Alpha missing from HQ line rendering
- HDRP: Fixed an icons used by the HDRP wizard issue
- HDRP: Fixed reflection probe baking exception when fog multiple scattering is enabled in certain conditions
- HDRP: Fixed shader warnings from TAA shader on Metal
- IL2CPP: Cache libUnity and il2cpp image info for Android stacktrace optimizations
- IL2CPP: Fixed a crash when calling Marshal.OffsetOf on a generic type
- iOS: Fixed reported kind for Back Triple Camera: was with depth support when it doesn't support depth
- iOS: Fixed wrong latest version selection in build settings
- Mono: Added more descriptive error message when the process exceeds maximum number of open file descriptors
- Package Manager: The package visibility button toolbar icon doesn't change when toggling from one state to another
- Physics: Fixed a memory corruption inside the PhysicsScene implementation, which in turn caused crashes during the runtime depending on scene setup
- Scene/Game View: Fixed an issue where docked resizable overlays would not update their size when owner window resized
- Scripting: Fixed Application.exitCancellationToken not being raised after exiting playmode
- Scripting: Fixed unexpected recompilations due to issue with AssemblyUpdater
- Scripting: Fixed WaitForEndOfFrame calls multiple times a frame when multiple Game View Windows are visible
- SRP Core: Removed "depth only surface" warning message appearing when using Game View Gizmos in URP RG
- SRP Core: Render Graph Viewer: Fixed long resource name clipping issues in side panel
- SRP Core: Render Graph Viewer: Fixed missing min height when resizing side panel vertical splitter
- SRP Core: Render Graph Viewer: Fixed possible NullReferenceException when opening the project
- SRP Core: Render Graph Viewer: Fixed side panel splitter state after returning from empty pass/resource filter
- SRP Core: Render Graph Viewer: Fixed tooltip size bug and restructure tooltip messages
- SRP Core: Rendering Debugger - Keep the correct selected panel when entering and exiting from playmode
- uGUI: Fixed control interaction using the new input system on multi-display setups with different resolutions
- UI Toolkit: Disabling focusable on a Foldout will now also disable its child Toggle focusable attribute
- UI Toolkit: Fixed an issue where Editor.RequiresConstantRepaint did not work if there were more than 10 components
- UI Toolkit: Fixed an issue where using ListView.bindingSourceSelectionMode would only set the dataSource inside the makeItem callback
- UI Toolkit: Fixed navigation of foldout elements using keyboard or gamepad direction keys
- Undo System: Fixed local position calculation when undoing Add VerticalLayoutGroup
- URP: Fixed obsolete API usages in URP samples
- URP: Hide unused Native Render Pass checkbox in UniversalRenderer when using Render Graph
- VFX Graph: Fixed a rare crash when destroying a VFX instance during rendering
- VFX Graph: Fixed exception when a category color is reset in the node search
- VFX Graph: Fixed exposed properties reset when editing multiple VFX at the same time on inspector
- VFX Graph: Fixed incorrect source spawnCount
- VFX Graph: Fixed NullReferenceException when enabling Decal Layers in HDRP
- Video: Fixed WebcamTexture clamps when wrap mode was set to "Repeat"
- WebGL: Fixed an issue where the WebCam texture was taking over the texture bound to a material
- WebGL: [WebGPU] Fixed error when texture binding is missing
- WebGL: [WebGPU] Fixed error with SRP Batcher constant buffer dynamicOffsets
- WebGL: [WebGPU] Fixed error with write-only compute shader storage textures
- WebGL: [WebGPU] Fixed memory error on graphics device shutdown
- WebGL: [WebGPU] Fixed WGSL shader compilation error with some shaders that use intBitsToFloat


Unity 6000.0.1
Features:
- Android: Added the Addressables for Android (com.unity.addressables.android) package. This package provides Play Asset Delivery support for Addressables.
- DX12: Added support for indirect Dispatch Rays (part of DXR 1.1). The method is similar to RayTracingShader.Dispatch, but the three dispatch dimensions are retrieved from a GraphicsBuffer. Added RayTracingShader.DispatchIndirect and a new CommandBuffer.DispatchRays signature. Added SystemInfo.supportsIndirectDispatchRays capability status.
- Editor: Added a custom menu on IRenderPipelineGraphicsSettings.
- Editor: Added a piercing menu that you can open with Ctrl + Right-click in the Scene view. The piercing menu provides a UI that lists all GameObjects under the pointer. GameObjects in the menu can be highlighted and selected.
- Editor: Added the ForceNoCrunch option to the Build Windows > Asset Import Overrides > Texture Compression dropdown which forces all textures to disable crunch compression and re-import.
- Editor: Added Additional App IDs to Steam ID Provider Editor Settings for Multiple App ID support.
- Editor: Integrated new build profile icons.
- Editor: Introduced IRenderPipelineResources to host SRP resources, which uses the ResourcePath to auto-load resources.
- Editor: The Build Profile Diagnostic checkbox is no longer available because the Build Settings window has been replaced with the Build Profile window.
- Graphics: Added a new backend rendering path for rigid GameObjects in Unity that puts them through the Batch Render Group API when the option is enabled on the Render Pipeline asset ('GPU Resident Drawer'). This functionality creates a persistent GPU state for these objects and they will be rendered by the same fast batching path as used by the entities renderer.
- Graphics: Added small-mesh culling for gpu-driven instances.
- Graphics: Added support for GPU occlusion culling of instances that are compatible with the 'GPU Resident Drawer', which can be enabled in the Render Pipeline asset.
- Graphics: Added UITK support for CustomPostProcessOrder.
- Graphics: Adding a new per batch layer filtering setting for BatchRendererGroup. This setting is useful for the context of culling out specific batches that go through the batch renderer group.
- Graphics: Enabled SpeedTree GameObjects rendering using GPU Resident Drawer.
- Graphics: Updated the default IRenderPipelineGraphicsSettings Inspector to trigger notifications when a value is modified.
- HDRP: Added AMD FidelityFX Super Resolution 2 (FSR2) Unity script bindings and HDRP integration.
- HDRP: Added support for overriding material properties such as smoothness, albedo, and normal maps on all materials to facilitate material and lighting debugging. The material override feature in HDRP is available through the Rendering Debugger's Lighting panel when rendering through the path tracer pipeline.
- HDRP: Added support for Spatial Temporal Post-Processing (STP) upscaling solution.
- HDRP: Added the Sky Occlusion feature to Adaptive Probe Volumes (APV), to allow time of day with static probe volumes.
- HDRP: Disabled storing of baked data as Streaming Asset in Adaptive Probe Volumes (APV) to make it compatible with Asset Bundles and Addressables.
- HDRP: Improved on existing Mipmap Streaming debug views and added more. The current offering in HDRP is consistent with what URP offers.
- iOS: Added Apple Privacy Manifest support.
- Package: Improved the user experience in the 2.0.8 patch of the User Reporting package.
- Package Manager: Improved Project manifest files to repopulate with default dependencies when the files are empty or contain only whitespace.
- Particles: Add BakeTexture and BakeTrailsTexture scripting methods.
- Particles: Added the Custom Vertex Streams feature for particle trails.
- Shadergraph: Added a customizable Heatmap color mode, which by default displays the estimated performance impact of each node in a Shader Graph.
- Shadergraph: Added a new sample content pack that can be installed with the Package Manager. The samples contain descriptions, examples, and break downs for a majority of the nodes in Shader Graph. These samples help users understand the inner workings of the nodes and see examples of how they work and how they can be used.
- Shadergraph: Added a zoom step size option in the user preferences.
- Shadergraph: Added new shortcuts for adding new nodes and toggling sub-window visibility, and moved several existing shortcuts to the Shortcut Manager.
- Shadergraph: Added the Feature Examples Sample to Shader Graph to show users how to achieve specific effects in Shader Graph.
- SpeedTree: Added the SpeedTree9Importer, which supports .st9 files exported by SpeedTree Modeler 9 and includes the following:

- Support for SpeedTree Games Wind and SpeedTree Legacy Wind effects

- The ability to configure wind strength and direction responsiveness through the Importer Settings

- New SpeedTree9 shaders for built-in (.cg), URP, and HDRP renderers (.shadergraph)

- New shaders for the new wind effects, but no major changes to lighting
- SRP Core: Added the option to cache Render Graph compilation for both URP and HDRP.
- TextCore: Native TextGenerator Rewrite.
- UI Toolkit: Added a debugger for the UI Toolkit dynamic atlas.
- UI Toolkit: Added missing UxmlAttribute converters to support UXML authoring: Gradient, AnimationCurve, ToggleButtonGroupState, Unsigned Int and Unsigned Long.
- UI Toolkit: Added support in PropertyField for ToggleButtonGroupState serialized properties.
- Universal RP: Added a Camera History Texture manager and basic interfaces to access per-camera history textures.
History textures are wrapped and stored in types which contain all the textures, additional data, and API methods specific for that history.
History textures are useful for rendering algorithms that accumulate samples over multiple frames or use data of previous frames as input.
- Universal RP: Added a new config package that allows you to override the maximum number of lights visible on screen.
- Universal RP: Added C# script templates to create a post-processing ScriptableRendererFeature that uses a custom VolumeComponent.
- Universal RP: Added per-camera color and depth history and history access for custom render passes.
- Universal RP: Added support for foveated rendering in the Forward+ rendering path.
- Universal RP: Added the 8192x8192 option in Shadow textures.
- URP: Added Adaptive Probe Volumes (APV) Lighting Scenario Blending to URP
- URP: Added APV Sky Occlusion support for URP.
- URP: Added Render Graph Viewer. Access it through the Window > Rendering menu. The tool helps to visualize and debug resource usage of Render Passes in the Render Graph framework.
- URP: Added six Mipmap Streaming debug views to the Rendering Debugger. These views can be found in the Rendering tab, under Mipmap Streaming. The available debug views are: Mip Streaming Performance, Mip Streaming Status, Mip Streaming Activity, Mip Streaming Priority, Mip Count, and Mip Ratio.
- URP: Added support for Spatial Temporal Post-Processing (STP) upscaling solution.
- VFX Graph: Added Camera Buffer Access support in VFX with URP.
- VFX Graph: Added collision events that allow specific processes upon contact.
- VFX Graph: Added new profiling/debugging panels in the VFX window.
- VFX Graph: Added particle count readback for strips, which also allows strips to go to sleep state.
- VFX Graph: Added support for per-particle sorting in strips.
- VFX Graph: Allowed instanced rendering of VFX that have exposed textures or graphic buffers.
- VFX Graph: Built-in and custom attributes can now be handled from the blackboard panel.
- VFX Graph: Enabled Frustum Culling for strips.
- VFX Graph: Improved the Shader Graph Cross Pipeline workflow.
- VFX Graph: Reworked Flipbook player block.
- VFX Graph: Strips now support the "Indirect draw" option. "Indirect draw" renders only the particles that are active, instead of full capacity.
- VFX Graph: Support of ShaderKeyword declared in Shader Graph.
- VFX Graph: The following improvements have been made to shortcuts in VFX Graph:

- Registered the shortcuts in the global Unity Shortcut window.

- Synced shortcuts with ShaderGraph where possible.

- Added new shortcuts.
- Web: Implemented the following LocationService methods and properties in Web platform:

- Start()

- Stop()

- isEnabledByUser

- lastData

- status
- Web: [Web Platform] Added the ability to copy and paste to and from the Unity player.
- WebGL: Added support for WebAssembly 2023, which is a Unity-coined term for a collection of newer WebAssembly language features such as, sign-ext opcodes, non-trapping fp-to-int, bulk-memory, bigint, wasm table, native Wasm exceptions, and Wasm SIMD.
- WebGL: Implemented the following LocationService methods and properties:

- GetLastHeading()

- SetHeadingUpdatesEnabled()

- IsHeadingUpdatesEnabled()

- GetHeadingStatus()

- IsHeadingAvailable()
- XR: Added support for Foveated Rendering on Vision Pro.
- Improvements
- 2D: Improved performance of shadow generation.
- Accessibility: Improved multiple API documentation for the Screen Reader API.
- AI: Increased the speed of the instantiation of NavMeshes into the scene.
- Android: Added a new Player setting to display warnings when the symbols package size exceeds the specified threshold.
- Android: Added a new property in .androidlib plug-in inspector to specify dependencies for unityLibrary. You can now configure .androidlib to depend on unityLibrary, and thus expand an activity by overriding UnityPlayerActivity.
- Android: Fixed
- Android: Fixed .androidlib default build.gradle, it will correctly apply android library plugin + targetSDKVersion.
- Android: When producing the symbols.zip package, Unity will prompt Gradle to produce the zip, which means the symbols.zip package might contain more symbol files, allowing for better stack trace resolution. This also allows you to regenerate the symbols package from within the Gradle project.
- Android: You can now embed Debug symbols into an app bundle (e.g., in the Build Settings window, choose Debug Symbol > level and format to IncludeInBundle) when uploading .aab files to the Google Play Store. The symbols are uploaded together with aab, which means you don't need to upload the symbols separately.
- Apple TV: Included platform name in Bundle Identifier error messages
- Asset Pipeline: Improved error handling when updating ArtifactDB or SourceAssetsDB
- Audio: Added an "Edit Audio Random Container" button to the Audio Random Container Inspector. Also, disabled presets for the Audio Random Container
- Audio: Enabled ALT+P as a shortcut to preview the Audio Random Container (ARC).
- Audio: You can now create an Audio Random Container (ARC) from a selection of audio clips using the following method:

- From your Project browser, select a set of audio clips.

- Right-click and click Create > Audio > Audio Random Container.
This creates a fresh audio random container that contains the clips from your selection.
- Build System: Added deterministic shader ordering in output content.
- Build System: Content is now deterministically sorted when being pulled from the resource manager.
- Build System: Made bee_backend's directory deletion explicitly handle read-only files on Windows.
- Burst: Added a new Math.Clamp API, which is available when the API Compatibility Level is set to .NET Standard 2.1.
- Burst: Added Burst support for Apple visionOS.
- Burst: Added support for default interface methods.
- Burst: Added support for hashing against different target frameworks.
- Burst: Added support for string interpolation in exception messages.
- Burst: Added support for System.Math functions Acosh, Asinh, Atanh, Cbrt, CopySign, Log2, SinCos, FusedMultiplyAdd, and ILogB.
- Compute: Added logging when a ComputeShader variant is created with no keywords.
- Core: Clean up and clarify areas of the source code.
- Core: Improved baking of large scenes that use Probe Volumes.
- Documentation: Add instructions for blending Adaptive Probe Volumes at runtime.
- Documentation: Added new and updated existing Accelerator cache server command line argument documentation.
- Documentation: Added two new workflows to the Timeline Workflows documentation

- The Use markers and signals for footsteps workflow demonstrates how to use Timeline markers, Signal assets, and Signal Receiver components to play audio sources for footsteps.

- The Create a Sub-Timeline instance workflow demonstrates how to create a single cut-scene by nesting a Timeline instance within another Timeline instance.
- Documentation: Changed the line summary of Vector2/3/4.normalized to make it clearer that the vector is not modified and that it is a new normalized vector in the same direction that is returned
- Documentation: Improve the scripting documentation for RaycastHit2D.
- Documentation: Improved code sample for NavMeshAgent.CalculatePath() to better clarify how to interpret and use its results
- Documentation: Updated documentation of Mathf.SmoothDamp
- Documentation: [AI] Added some detail to NavMeshPathStatus.PathInvalid
- DX12: Implemented a dedicated GPU memory allocator for small acceleration structures (BLASes) to save GPU memory when using ray tracing.
- DX12: Implemented acceleration structure (BLAS) compaction for static meshes to reduce GPU memory consumption in Ray Tracing effects. Compaction reduces memory requirements by more than 50% for BLASes.
- DX12: Optimized writing shader records into shader tables before ray tracing dispatches.
- Editor: Added a column that displays the shortcut type in the Shortcut Manager window.
- Editor: Added a general Graph category to the search by type option in ProjectBrowser.
- Editor: Added a new internal Editor API to control Rendering Layer names in Tag & Layers.
- Editor: Added a toggle in the preferences to show the project path instead of the project name in main window title.
- Editor: Added Deselect and Invert Selection to the context menu.
- Editor: Added discrete menu items for pasting cut or copied GameObjects as children while preserving local or world transform
- Editor: Allow for action and clutch shortcuts to use the same mouse button [with or without modifiers].
- Editor: Categorised and alphabetised the order of items in the Create menu
- Editor: Changed the overlay menu into an overlay itself. This allows us to use the new Overlay Popup feature and to remove the need to maintain two code paths for very similar behaviors.
- Editor: Changed unused System namespaces so they are no longer added to new scripts
- Editor: Data used for preview is released when the baked lightmap preview system is not used for 30 seconds.
- Editor: Implement guard for crash in TimeSliceAwakeFromLoadQueue::IntegrateTimeSliced
- Editor: Improve performance when fetching artifacts that are missing (e.g link to an artifact deleted from the project)
- Editor: Improved exception handling when package load fails
- Editor: Improved moving files in the Project window. Moving files in the Project window now takes less memory and is faster
- Editor: Improved the Build window message that appears when a Dedicated Server target is not installed
- Editor: Improved the Clamp Gizmo icon render size to prevent gizmos from being drawn obstructively large or unreadably small in certain scenes.
- Editor: Improved visibility on Volume component when Profile Instance used.
- Editor: Improvements to the Graphics Settings UI.
- Editor: Improvements to CustomPropertyDrawer to allow filtering per Render Pipeline with the SupportedOnRenderPipeline attribute.
- Editor: Modified the Create menu so it now contains a script template for an empty C# Script and a Scriptable Object Script. In addition, the C# Script menu item has been renamed to MonoBehaviour Script
- Editor: Renamed Post-processing and Lighting Quality settings to Tiers.
- Editor: Reorganized the Edit menu.
- Editor: The menu Animation item has been renamed to Animation Clip
- Editor: Updated OpenSSL to 1.1.1w
- GI: Added missing color legends for the Lighting Visualizations Colors panel, to explain the colors used in the Texel Validity Scene View Mode.
- GI: Added the Bake Reflection Probes menu item.
- GI: Added the Clear Baked Data menu item.
- GI: Changed packing of instances into lightmap atlases to be spatially coherent, and prefer packing instances that are located close to be together.
- GI: Changed several scene view modes to have lit shading, to make them easier to read.
- GI: Exposed a "Lightmap Scale" s