New in Unity 6.0 Preview
Find out what’s changed in Unity 6.0 Preview since 2023.2.
Read time 13 minutesLast updated 16 days ago
Find out what’s changed in Unity 6.0 Preview since 2023.2 and view the documentation for the affected areas.
To find out more about the new features, changes, and improvements to this Unity version, refer to the Unity 6.0 Preview Release Notes.
To find the release notes for other releases, refer to the Unity download archive.
If you are upgrading existing projects from 2023.2, read the Upgrade Guide to Unity 6.0 Preview for information about how your project might be affected.
Editor and Workflow
-
Added a piercing menu that you can use to select GameObjects that overlap with other GameObjects. To open the piercing menu, hold down Ctrl+Right-click in the Scene view. The piercing menu displays a list of all selectable GameObjects under the cursor.
-
Addedto Steam ID Provider Editor Settings for Multiple App ID support.
Additional App IDs -
Introduced Build Profiles to create multiple custom build configurations for each target platform.
-
The Build Profile Diagnostic checkbox is no longer available because the Build Settings window has been replaced with the Build Profile window.
-
Integrated new build profile icons.
-
Modified the Create menu to replace the C# Script menu item with three separate options:
- MonoBehaviour Script
- ScriptableObject Script
- Blank Script
-
Improved the Create menu to reduce the amount of items at the root of the menu. The menu is now ordered alphabetically, and almost all items are now in a category.
UI Toolkit
- Added missing UxmlAttribute converters to support UXML authoring: ,
Gradient,AnimationCurve, Unsigned Int, and Unsigned Long.ToggleButtonGroupState - Added support in for
PropertyFieldserialized properties.ToggleButtonGroupState - Native Text Generator Rewrite. With the Text Generator, you can use a wide array of languages and scripts, such as right-to-left (RTL) languages like Arabic and Hebrew.
- Added a debugger for the UI Toolkit dynamic atlas.
- Added support for deep nested attribute overrides in UXML and UI Builder.
- Added type selector using Search.
- Added a search field in the UI Builder Library.
Entities
-
Added serialization support forto enable unmanaged references to Unity assets. For example, instead of a Texture on a managed IComponentData, you can have a
UnityObjectRef<>on an unmanagedUnityObjectRef<Texture>.IComponentData -
The Create menu adds the following Type templates:
IComponentDataISystemIJobEntity- Baker
-
Changed the way that entities are stored in preparation for the consolidation of entities and GameObject workflows. Entity IDs are now globally unique and you can now move them efficiently from one entities world to another. This does not impact ECS workflows in Unity 6, but it does disambiguate debugging by always showing exact entities.
-
Applied the following fixes to the entities Hierarchy window:
- You can select entities and systems within the hierarchy.
- Fixed an invalid range check that failed after you removed entities from the hierarchy view in valid use cases.
- Stopped the entities hierarchy from throwing exceptions when entities are destroyed.
- The entities hierarchy now removes all nodes of a scene and subscenes when the scene is unloaded.
- An exception is no longer thrown when you enter a prefab from the entities hierarchy.
-
Improved the performance of baking and the creation of archetypes and entity queries in worlds with a large number of existing types.
-
Improved the performance of LocalToWorld systems and non-dirty hierarchies.
-
Fixed an issue where anusing
EntityQueryon an enable component wasn’t inserting a necessary job dependency.WithNone<T> -
singleton methods now correctly handle cases where the query contains enableable components.
EntityQuery -
Fixed memory leak issues, like ones affecting world deserialization and content delivery.
-
Fixed breakpoints in jobs defined in systems with.
System.API
Graphics
- Added the GPU Resident Drawer, which automatically uses the API to draw GameObjects with GPU instancing. This reduces the number of draw calls and frees CPU processing time.
BatchRendererGroup - Added support for SpeedTree GameObjects to the GPU Resident Drawer.
- Added support for GPU occlusion culling of instances if they're compatible with the GPU Resident Drawer, including culling of small meshes.
- Adding a new per-batch layer filtering setting for the API. You can use this setting to cull specific batches.
BatchRendererGroup - Optimized CPU performance of the Volume framework in URP and HDRP, to improve efficiency on low-end hardware and allow more precise control over quality settings.
- Added a Force No Crunch texture compression setting in Build Profiles > Asset Import Overrides, which forces all textures to disable crunch compression and re-import.
- Added an interface that allows you to add new settings groups in the Graphics Settings window.
IRenderPipelineResources - Updated the default Inspector to trigger notifications when a value in Graphics Settings is modified.
IRenderPipelineGraphicsSettings - Added a custom menu in .
IRenderPipelineGraphicsSettings - Added UI Toolkit support for .
CustomPostProcessOrder - Added the option to cache render graph compilation for both URP and HDRP.
URP
For a complete description of new features and improvements in URP, refer to What's new in URP.
-
Added theoption to Shadow texture resolution for the Main Light and Additional Lights.
8192x8192 -
Added support for foveated rendering in the Forward+ rendering path.
-
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.
-
Added Adaptive Probe Volumes (APV) Lighting Scenario Blending to URP.
-
Added a new config package that allows you to override the maximum number of lights visible on screen.
-
Added per-camera color and depth history and history access for custom render passes.
-
Added Render Graph Viewer. Access it through the Window > Analysis > Render Graph Viewer menu. The tool helps to visualize and debug resource usage of Render Passes in the Render Graph framework.
-
Added six Mipmap Streaming debug views to the Rendering Debugger. These views are 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
- Mip Ratio
-
Added C# script templates to create a post-processingthat uses a custom
ScriptableRendererFeature.VolumeComponent -
Added APV Sky Occlusion support for URP.
-
Added support for Spatial Temporal Post-Processing (STP) upscaling solution.
-
The new RenderGraph system for URP in Unity 6 automates runtime resource optimization, simplifying memory usage and enhancing performance, especially on mobile GPUs. Its stricter API guidelines minimize rendering errors and performance issues. The integration of the NativeRenderPass API and a comprehensive debug viewer aid in efficient troubleshooting and resource management. Additionally, the new ContextContainer class offers streamlined access to rendering resources, improving ease of use and control in complex projects.
-
This URP version implements the Alpha Processing setting (URP Asset > Post-processing > Alpha Processing). With this setting enabled, URP renders the post-processing output into a render texture with the alpha channel. Previously the post-processing workflow in URP discarded the alpha channel (replaced alpha values with 1) in the final output. The render target requires a format with the alpha channel. The camera color buffer format must be RGBA8 for SDR (HDR off) and RGBA16F for HDR (64-bits). You can configure the format using the settings in URP Asset > Quality.
HDRP
For a complete description of new features and improvements in URP, refer to What's new in 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.
- Added the Sky Occlusion feature to Adaptive Probe Volumes (APV), to allow time of day with static probe volumes.
- Disabled storing of baked data as Streaming Asset in Adaptive Probe Volumes (APV) to make it compatible with Asset Bundles and Addressables.
- Added AMD FidelityFX Super Resolution 2 (FSR2) Unity script bindings and HDRP integration.
- Improved on existing Mipmap Streaming debug views and added more. The current offering in HDRP is consistent with what URP offers.
- Added support for Spatial Temporal Post-Processing (STP) upscaling solution.
Multiplayer
Netcode for GameObjects
- Added Distributed Authority mode in Netcode for GameObjects clients have distributed ownership of or authority over spawned Netcode objects during a game session. With Distributed Authority, the clients have the governed authority to spawn network objects which is announced to the cloud state service and conveys state updates to all connected clients. A highly optimized cloud state service maintains the overall state of a network session between clients.
- Added a new RPC attribute that can perform the functions of both Server and Client RPCs, as well as enabling client-to-client RPCs.
- Added many utility methods, which include ,
NetworkManager.OnConnectionEvent,-ServerIsHost, and more.-InstantiateAndSpawn
Netcode for Entities
-
Added support for GameObjects to render debug bounding boxes.
-
Added the NetCodeConfig ScriptableObject which contains most NetCode configuration variables that you can customize without needing to modify code.
-
You can now disable the automatic bootstrapping in the following ways:
- Disable automatic bootstrapping in the ProjectSettings.
- Add the new MonoBehaviour to your first build scene.
OverrideAutomaticNetcodeBootstrap
-
Addedthat you can use to specify general rules for relevancy without specifying it ghost by ghost.
AlwaysRelevantQuery -
, a new version of the importance scaling function that works in batches. It is not required to set both the ScaleImportance and the BatchScaleImportance function pointers. If the BatchScaleImportance is set, it is the preferred.
Added BatchScaleImportanceDelegate
Multiplayer Play Mode
Updated Multiplayer Play Mode to version 1.0. Use it to test multiplayer functionality without leaving the Unity Editor. For more information, refer to the Multiplayer Play Mode documentation.
Dedicated Server
Released the Dedicated Server package that you can use to switch a project between the server and client role without the need to create another project. For more information, refer to the Dedicated Server package documentation.
Tools
Updated the Multiplayer Tools package to version 2.1.0, adding Network Scene Visualization as a new visual debugging tool. For more information, refer to the Multiplayer Tools documentation.
Samples
- Added the Dedicated Game Server sample to demonstrate how Multiplayer Play Mode and the Dedicated Server work together with Netcode for GameObjects.
- Added the Distributed Authority sample that integrates the Distributed Authority network model in Netcode for GameObjects.
Package Manager
Improved the behavior of Project manifest files by repopulating them with default dependencies if the files are empty or full of whitespace.
Particles
- Added the Custom Vertex Streams feature for particle trails.
- Add and
BakeTexturescripting methods.BakeTrailsTexture
Platforms
Android
- Added a new Build setting to embed debug symbols into an app bundle when uploading files to the Google Play Store. You have an option to upload the symbols package separately as a zip file with your
.aabor.apkfiles. You can create symbol files with.aabor.so.symand the legacy.so.dbgextensions..so - Added a new Player setting to display warnings when the symbol's package size exceeds the specified threshold.
- Added a new property in Plug-in Inspector to specify dependencies for
.androidlib. You can now configureunityLibraryto depend on.androidlib, and thus expand an activity by overridingunityLibrary.UnityPlayerActivity
iOS
- Added plugins support.
.xcframework - Removed Custom XIB Launch Screen Type from Player settings.
visionOS
Added support for Apple's visionOS platform.
Web platform (previously WebGL)
-
Implemented the followingmethods and properties in Web platform:
LocationServiceStart()Stop()isEnabledByUserlastDatastatus
-
Added the ability to copy and paste to and from the Unity player.
-
Added support for WebAssembly 2023. For more information, refer to WebAssembly 2023. WebAssembly 2023 includes support for up to 4GB of heap memory and is a collection of the following WebAssembly language features:
- WebAssembly native exceptions
- WebAssembly Single Instruction Multiple Data (SIMD)
- Optimized data operations
- BigInt
- WebAssembly.Table
- Non-trapping float to int conversions
- Sign extension
-
Implemented the following LocationService methods and properties:
GetLastHeading()SetHeadingUpdatesEnabled()IsHeadingUpdatesEnabled()GetHeadingStatus()IsHeadingAvailable()
-
Added support for the Compass API.
-
Added support for mobile browsers.
-
Implemented the Emscripten 3.1.38 toolchain.
Platform Graphics
Added support for indirect Dispatch Rays (part of DXR 1.1). The method is similar to , but the three dispatch dimensions are retrieved from a GraphicsBuffer. Added and a new signature. Added capability status.
RayTracingShader.DispatchRayTracingShader.DispatchIndirectCommandBuffer.DispatchRaysSystemInfo.supportsIndirectDispatchRaysProBuilder
-
Created the ProBuilder tool context which you can activate in the Tools overlay in the Scene view. The ProBuilder tool context enables ProBuilder-specific actions in the Scene view.
-
Removed the ProBuilder window. The ProBuilder tool context used in conjunction with the Scene view context menu provides a more streamlined workflow for ProBuilder actions.
-
Moved the Vertex, Edge, and Face edit modes to the Tool Settings overlay in the Scene view. To display ProBuilder edit modes in the Tool Settings overlay, enable the ProBuilder tool context in the Tools overlay.
-
Moved ProBuilder actions that rely on element selection, such as Bridge, Weld Vertices, and Grow Selection, to the Scene view context menu when the ProBuilder tool context is active in the Tools overlay.
-
Moved ProBuilder actions that apply to the entire ProBuilder mesh component, such as Export, Subdivide, and Center Pivot, to the Scene view context menu.
-
Moved creation and editing tools to the Tools overlay.
-
Added a preview option for most ProBuilder actions.
-
Moved these tool options from the ProBuilder toolbar to the Tool Settings overlay:
- Select Hidden
- Orientation: Normal
- Rect: intersect
-
Improved creation tools:
- Hold Shift after using a create shape tool to create a copy of the shape you just created.
- After you use Create PolyShape, you can now draw multiple shapes without leaving the tool.
Profiler
Released version 1.1.0 of Memory Profiler. Refer to the Memory Profiler package documentation for details.
Shader Graph
- 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 you understand the inner workings of the nodes and see examples of how they work and how to use them.
- Added new shortcuts for adding new nodes and toggling sub-window visibility, and moved several existing shortcuts to the Shortcut Manager.
- Added a zoom step size option in the user preferences.
- Added a customizable Heatmap color mode, which by default displays the estimated performance impact of each node in a Shader Graph.
- 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 (), URP, and HDRP renderers (
.cg)..shadergraph - New shaders for the new wind effects, but no major changes to lighting.
Version Control
Added a new tab view to list and manage locks in the Version Control feature of Unity.
VFX Graph
-
Improved the Shader Graph Cross Pipeline workflow.
-
You can now handle built-in and custom attributes from the blackboard panel.
-
Allowed instanced rendering of VFX that have exposed textures or graphic buffers.
-
Strips now support the "Indirect draw" option. "Indirect draw" renders only the particles that are active, instead of full capacity.
-
Added support for per-particle sorting in strips.
-
Added new profiling/debugging panels in the VFX window.
-
Added Camera Buffer Access support in VFX with URP.
-
Support ofdeclared in Shader Graph.
ShaderKeyword -
Reworked Flipbook player block.
-
Added collision events that allow specific processes upon contact.
-
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.
-
Added particle count readback for strips, which also allows strips to go to sleep state.
-
Enabled Frustum Culling for strips.
XR
Added support for Foveated Rendering on Vision Pro.