Powerful 3D and 2D gaming development software for Mac

Unity for Mac

Unity for Mac

  -  Freeware
Unity for Mac 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.

For independent developers and studios, Unity’s democratizing ecosystem smashes the time and cost barriers to creating uniquely beautiful games. They are using Unity for macOS to build a livelihood doing what they love: creating games that hook and delight players on any platform.

Features and Highlights

Workflow
Rapidly assemble your scenes in an intuitive, extensible Editor workspace. Play, test and edit for fast iteration towards your finished game.

Quality
Create a game with AAA visual fidelity, audio and full-throttle action that performs smooth and clean on any screen.

2D & 3D
Get dedicated tools for both 2D and 3D content creation with efficient workflows that utilize shared conventions.

Animation
Unity’s uniquely powerful and flexible animation system brings any character or object to life with incredibly natural and fluid movement.

Performance
Reliable performance, smooth framerate, and superb game play experiences across target platforms.

Multi-platform
No other game engine gives you the choice of so many publishing platforms with near-effortless deployment.

Unity Cloud Build
Get your builds the easy way with new Cloud Build service. Changes in your project are detected as you work, and builds are delivered automatically to your device, or playable on the Web.

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 offer advanced support features.

Also Available: Download Unity for Windows

  • Unity 6000.0.11 Screenshots

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

    Unity 6000.0.11 Screenshot 1
  • Unity 6000.0.11 Screenshot 2
  • Unity 6000.0.11 Screenshot 3

What's new in this version:

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