Unity 6 Preview: Exciting Features for Game Developers

Unity 6 Preview

Unity 6 Preview, previously known as 2023.3 Tech Stream, is now available for download. It marks the final release of the development cycle for Unity 6, set to launch later this year. This release follows an announcement last November at Unite regarding updates to their naming conventions.

Similar to a Tech Stream release, Unity 6 Preview is a supported release tailored for projects in the discovery or prototyping stages. For projects in production, it's recommended to stick with the Unity 2022 LTS release for stability and support.

Boost Rendering Performance

Key highlights of Unity 6 Preview include significant performance enhancements in both the Universal Render Pipeline (URP) and the High Definition Render Pipeline (HDRP). These improvements aim to boost rendering performance, potentially reducing CPU workload by 30–50% across platforms.

The addition of the GPU Resident Drawer facilitates rendering larger and richer worlds without complex manual optimizations. This feature enables up to a 50% reduction in CPU frame-time for rendering large, complex scenes across various platforms, including high-end mobile, PC, and consoles.

GPUResidentDrawer
Optimize your games by cutting the time it takes GameObjects to render complicated, large-scale scenes by up to 50% on the CPU.

GPU Occlusion Culling

Working alongside the GPU Resident Drawer, GPU Occlusion Culling boosts GameObject performance by minimizing overdraw per frame, ensuring the renderer doesn't waste resources on unseen elements.

GPUOcclusion
GPU Occlusion culling uses a GPU-driven approach to ensure that you are not drawing anything that is not visible in a scene.

Spatial-Temporal Post-Processing (STP)

Spatial-Temporal Post-Processing (STP) optimizes GPU performance and enhances visual quality and runtime by upscaling lower-resolution frames without losing fidelity. It's compatible with URP and HDRP, catering to various performance levels and screen resolutions, including compute-capable mobile devices.

GPUDrivenRendering
STP optimizes GPU performance, dramatically improving visual quality and runtime performance.

Render Graph

Render Graph for URP is a new rendering framework and API that simplifies render pipeline maintenance and extensibility, enhancing efficiency and performance. It optimizes memory bandwidth and energy consumption, particularly on tile-based GPUs, through automatic merging and creation of native render passes.

The Render Graph API streamlines custom pass injection, enabling extension of the render pipeline with Raster and Custom passes. It provides reliable access to pipeline resources via the Context Container.

Render Graph Viewer

The Render Graph Viewer tool allows direct analysis of the engine's render pass creation and frame resource usage in the Editor, simplifying render pipeline debugging and optimization.

RenderGraphViewer
Analyze the render pipeline, passes, and resources with the Render Graph Viewer.

Foveated Rendering API

Foveated Rendering API in URP boosts GPU performance by sacrificing detail in the user's peripheral vision. Two new modes, Fixed Foveated Rendering and Gazed Foveated Rendering, improve central image quality and utilize eye tracking for optimal screen focus. Compatible with Sony PlayStation®VR2 and Meta Quest via Oculus XR plug-in, with OpenXR plug-in support coming soon.

Faveated Rendering
Improve GPU performance by focusing on quality where the goal is to get higher frame rates with high-quality graphics in VR.

Volume framework enhancements

Volume framework enhancements in HDRP and URP enhance CPU performance, enabling global and per-quality volume settings similar to HDRP with a more user-friendly interface. Custom post-processing effects for URP, like custom fog, are easier to implement.

URPCustom
URP custom post-processing

Lighting Improvements

Include Adaptive Probe Volumes (APV) for efficient global illumination, simplifying lighting setup, and enabling dynamic scenarios like time-of-day changes. Unity 6 Preview extends APV capabilities, enhancing authoring workflows, streaming, and lighting control. APV Scenario Blending is now available in URP, allowing seamless transitions between baked probe volume data for day/night cycles or toggling lights in rooms.

TimeOfDay
Lighting scenarios can blend at runtime only for probe volume data. Manage other elements like reflection probes and lightmaps separately. Asset credit: Azure [Sky] Dynamic Skybox Video.

APV Sky Occlusion enhances lighting in URP and HDRP by introducing a time-of-day lighting feature, resulting in richer color variations in static indirect lighting from the sky compared to previous methods.

SkyOcclusion
Sky Occlusion allows for more color variations in static indirect lighting from the sky than APV scenario blending. Asset credit: Azure [Sky] Dynamic Skybox.

APV disk streaming now supports non-compute paths in URP and adds compatibility with AssetBundles and Addressables.

Fine-tune your APV content and resolve light leaking issues with the Probe Adjustment Volumes tool, offering adjustments like Override Sample Count and Probe Invalidation. Additionally, you can hide unaffected Light Probes and preview and bake probe lighting data directly from Probe Volume components.

Introducing a new C# Light Probe Baking API lets you manage probe baking, balancing execution time and memory usage. Example code showcasing its use with the APV probe baking editor is available on GitHub.

Richer High-Fidelity Environments

Improved sky rendering in HDRP for better sunset and sunrise scenes, now including ozone layer support and atmospheric scattering.

Sky
Sky atmospheric scattering

SkyOzone
Sky ozone layer

Water rendering enhancements with underwater volumetric fog featuring caustic sampling for volumetric light shafts. Performance optimization includes a GPU simulation readback option with minimal delay, reducing CPU load. Added support for mixed tracing mode for transparent surfaces, blending raytraced and screen space effects for water, terrain, and vegetation.

WaterVolumertic
Water volumetric fog

Optimized SpeedTree vegetation rendering for both URP and HDRP, utilizing GPU Resident Drawer for efficiency.

VFX Graph Artist Workflows

Improved tooling and URP support for VFX artists to target multiple platforms efficiently.VFX Graph profiling tools for optimizing effects by analyzing memory and performance metrics.

Debug tools
VFX Graph Profiling Tools

Shader Graph Keywords support for building VFX shaders, and URP depth and color buffers for complex effects.

Introduction of Learning Templates in VFX Graph for easier learning of concepts and features.

Shader Graph Artist workflows

The updated Unity 6 Preview offers enhancements to streamline the workflow for Shader Graph artists. It introduces customizable keyboard shortcuts, a heatmap color mode to identify resource-intensive nodes efficiently, and improved Undo/Redo functionality for faster iteration.


Heatmap Color Mode displays the relative GPU cost of nodes.

Moreover, users can now explore Node Reference Samples, a collection of Shader Graph assets. Each graph represents a single node, accompanied by detailed explanations of its mathematical operations and practical examples illustrating its usage. For more insights, refer to the Node Reference Samples Tutorial video.

Multiplatform Improvements

Unity 6 Preview introduces significant improvements across multiple platforms, including desktop, mobile, web, and XR. These enhancements aim to streamline multiplatform development workflows and broaden accessibility across various popular platforms.

 Enhanced Unity Build Window and Introduction of Build Profiles

The new Build Profiles feature in Unity offers enhanced efficiency and flexibility in managing builds. Users can now configure build settings individually for each profile, allowing for the creation of multiple unique playable demos with tailored scene lists. Furthermore, custom scripting defines can be set for each profile, enabling precise adjustments to features and behaviors across different builds and Editor Play mode. This flexibility facilitates the creation of vertical slices or platform-specific behaviors.

Moreover, Build Profiles allows for player settings overrides, simplifying the customization of publishing settings for different profiles. This feature reduces the reliance on custom build scripts for managing builds within the Editor.

Additionally, Unity introduces the Platform Browser, enhancing platform discovery within the Editor. This browser provides a centralized location to explore all supported platforms and create build profiles tailored to specific platform requirements.

Build Profile Window
Build Profile window in Unity 6

Boost Your Mobile Gaming Reach with Web Runtimes

Exciting news for game developers! Android and iOS browser support has officially landed with Unity 6 Preview. This means your Unity games can now seamlessly run on the web, breaking free from the constraints of desktop platforms. What's more, you can embed your games within a web view in a native app or leverage our progressive web app template to give your game the look and feel of a native app, complete with its own shortcut and offline capabilities. Plus, with added features like mobile device compass support and GPS location tracking, your web games can adapt to the preferences of your players wherever they choose to indulge in gaming.

Enhance your web games further with the latest updates to the Emscripten 3.1.38 toolchain and support for WebAssembly 2023. This includes a range of newer WebAssembly language features like sign-ext opcodes, non-trapping fp-to-int, bulk-memory operations, BigInt, Wasm table, native Wasm exceptions, and Wasm SIMD. With WebAssembly 2023, you also gain access to up to 4GB of heap memory, granting you even greater resources to harness on the latest hardware.

Happy Harvest on Mobile
Unity's 2D sample project, Happy Harvest, runs in Safari on an iPhone 15 Pro.

In the Unity 6 Preview, mobile enhancements are on the horizon, including the latest Android tools and built-in support for Java 17. Additionally, developers can now include debug symbols directly within their Android App Bundle, streamlining the submission process to the Google Play Store and ensuring vital stacktrace information is readily available in the Play Console.

Early access to the WebGPU backend

Now available, marking a significant step forward in web-based graphics acceleration. This experimental feature sets the stage for future advancements in graphics rendering fidelity for Unity web games.

WebGPU is engineered to leverage and expose modern GPU capabilities, such as Compute Shader support, on the web. By providing a contemporary graphics acceleration interface, it taps into native GPU APIs like DirectX 12, Vulkan, or Metal, depending on the desktop device in use.

WebGPU Adams
The demo makes use of GPU (Compute) Skinning to mesh the skin of these robots with the skeleton beneath while maintaining a relatively high framerate.

While the WebGPU graphics backend is still in its experimental phase and not recommended for production use, enthusiasts can explore early access options and test it through Unity's graphics forum.

Unity Editor Supports Arm-based Windows Devices

Unity now offers native Editor support for Arm-based Windows devices in the Unity 6 Preview. This integration, following Unity's support for Arm-based Windows devices in version 2023.1, opens up new possibilities for developers to leverage the performance and versatility of Arm-powered hardware in creating Unity games.

DirectX 12 backend Improvements

Unity's DirectX 12 graphics backend has undergone substantial improvements, making it fully production-ready. Developers targeting DX12-capable Windows platforms can now enjoy enhanced rendering stability and performance. Notably, Split Graphics Jobs brings significant CPU performance gains, with scalability based on scene complexity and draw call volume.

GraphicsJobs

Primarily, the DX12 graphics API introduces support for a broad spectrum of contemporary graphics features, facilitating the adoption of cutting-edge rendering techniques, including Unity’s ray tracing pipeline. Future updates will leverage DX12's sophisticated features across graphics and machine learning domains, promising unparalleled fidelity and performance.

Unlock The Microsoft Platform Ecosystem with The Microsoft GDK Packages

In collaboration with Unity, Microsoft has introduced two new GDK packages: Microsoft GDK Tools and Microsoft GDK API. These packages, available with Unity 6 Preview, 2022 LTS, and 2021 LTS, facilitate game development for Microsoft gaming platforms such as Windows and Xbox. They streamline the development process by enabling the utilization of Xbox services like user identity, player data, social features, and cloud storage, all within the same code base and configuration.

By utilizing the combined Microsoft GDK packages, developers can create games for Microsoft platforms with a unified code base and automate the build process through APIs. Additionally, new samples are included to demonstrate the functionalities offered by these packages.

Previously, developers targeting Xbox consoles and the Microsoft Store on Windows had to install separate GDK packages from Microsoft and Unity, resulting in the maintenance of distinct code branches for different Microsoft platform targets. However, with the introduction of the new Microsoft GDK packages, this requirement is eliminated. Moreover, modifications to the MicrosoftGame.config file can now be made directly from an API on the build server. When combined with the new build profiles features in Unity 6, bringing games to the Microsoft gaming ecosystem from a single project has become significantly more straightforward.

For those transitioning from the legacy Game Core Package or the Windows GDK package to the new Microsoft GDK packages (Microsoft GDK API and Microsoft GDK Tools), detailed instructions are provided in the migration guide.

Microsoft GDK
The latest Microsoft GDK API and Tools now available in Unity Package Manager. Access Microsoft GDK packages directly through Unity for streamlined development.

XR Experiences

We're dedicated to enhancing XR (extended reality) experiences across various platforms, including ARKit, ARCore, visionOS, Meta Quest, Playstation VR, Windows Mixed Reality, and more. In Unity 6 Preview, you'll discover pioneering cross-platform functionalities such as mixed reality, hand and eye input, and enhanced visual quality. Many of these cutting-edge features are seamlessly integrated into our updated templates, streamlining your development process.

Integrating the Real World into Gaming

Whether you're enriching your current game with mixed reality elements or embarking on a new project, AR Foundation empowers you to seamlessly blend the physical world into players' experiences across different platforms. In Unity 6 Preview, we've introduced support for image stabilization on ARCore and enhanced compatibility with mixed reality platforms like Meta Quest, boasting features such as meshing and bounding boxes.

AR Foundation
The latest AR Foundation meshing features

XR Input And Interactions

In the latest update to the XR Interaction Toolkit 3.0 (XRI), we've introduced significant enhancements to streamline your interactions. Among these is the introduction of the Near-Far Interactor, which offers increased adaptability and customization options for interactors within your projects. Additionally, we've revamped input handling in XRI with the introduction of Input Readers, simplifying the input process and reducing code complexity across different input types. Lastly, we're providing a new virtual keyboard sample to facilitate the creation and customization of in-game keyboards across various platforms.

Unique Hand Gestures

The utilization of hand gestures for interacting with content is now supported across more platforms. With our XR Hands package, you can implement custom hand gestures (like thumbs up, thumbs down, and pointing) as well as common OpenXR hand gestures. We've included helpful samples to expedite your implementation process and tools for creating, fine-tuning, and debugging hand shapes and gestures to ensure accessibility for a wider audience.

Improved Visual Fidelity

Improving your game's visual fidelity is now easier with Composition Layers, available as an experimental package. This feature improves the rendering quality of text, video, UI components, and images by leveraging native support for the runtime's compositor layers. Expect clearer text, sharper outlines, and an overall enhanced appearance with significantly fewer visual artifacts.

Simplify Multiplayer Creation

Unity 6 Preview introduces streamlined solutions for creating, launching, and growing multiplayer games, simplifying the development process from start to finish.

Introducing The Experimental Multiplayer Center

The Experimental Multiplayer Center package (com.unity.multiplayer.center) is now accessible in the package registry. This centralizes guidance and resources to facilitate multiplayer development, offering interactive assistance tailored to your project's multiplayer requirements. Gain access to tools, educational materials, and deployment features to experiment rapidly with multiplayer capabilities.

Multiplayer Play Mode

Version 1.0 of Multiplayer Play Mode is now available, enabling you to test multiplayer functionality within the Unity Editor. Simulate up to four players (including the main Editor player and three virtual players) simultaneously on the same development device using the same source assets. This mode facilitates the creation of efficient multiplayer workflows, reducing project build times and allowing for comprehensive testing of server-client relationships.

Enhanced Multiplayer Debugging Tools

The Multiplayer Tools package has been updated to version 2.1.0, introducing Network Scene Visualization as a new visual debugging tool. Network Scene Visualization (NetSceneVis) provides powerful per-object network communication visualization and debugging capabilities within the Unity Editor Scene View, offering features such as mesh shading and text overlay to aid in debugging.

Multiplayer Playmode
The Multiplayer Play Mode streamlines setup, enabling swift testing and iteration in multiplayer game development.

Experimental Distributed Authority for Netcode for GameObjects

In Netcode for GameObjects version 2.0.0-exp.2 (com.unity.netcode.gameobjects), we've introduced the Distributed Authority mode. This feature, in conjunction with the new Experimental Multiplayer Services SDK version 0.4.0 (com.unity.services.multiplayer), grants clients distributed ownership or authority over spawned Netcode objects during gameplay. This means that the workload of the netcode simulation is distributed among clients, while a high-performance cloud backend coordinated by Unity manages the network state.

Netcode for Entities

Enhancements have been made to Netcode for Entities, including support for rendering debug bounding boxes for GameObjects. We've also introduced the NetCodeConfig ScriptableObject, containing most configuration variables for NetCode, allowing customization without code modifications.

Dedicated Server Package

The Dedicated Server package has been released, enabling seamless switching of a project between server and client roles without creating a separate project. By utilizing Multiplayer roles, GameObjects and components can be distributed across clients and servers.

Multiplayer roles facilitate content selection, automatic component selection, and safety checks to ensure smooth development for Dedicated Server platforms.

Experimental Multiplayer Services SDK

The Experimental Multiplayer Services SDK is designed to simplify the addition of online multiplayer features to Unity 6 Preview games. Powered by Unity Gaming Services (UGS), it integrates capabilities from services like Relay and Lobby into a new "Sessions" system, allowing quick definition of player groups. Version 0.4.0 (com.unity.services.multiplayer) enables the creation of peer-to-peer sessions with various methods for player join, such as Join Code and Quick Join.

Multiplayer in Unity 6 Preview

While many multiplayer features in Unity 6 Preview are still experimental, we're actively working to transition them to fully supported states based on user feedback. Community engagement via forums and Discord is encouraged for further refinement.

Entities Workflows Enhancements

Unity 6 Preview streamlines ECS workflows, addressing common pain points. Notable improvements include changes in entity storage for future integration with GameObject workflows, ensuring globally unique entity IDs and efficient entity movement between worlds.

Additionally, ECS enhancements from Unity 2022 LTS are carried over, providing improvements in physics collider workflows, serialization, and compatibility with Unity 6.

Deliver Dynamic Runtime Experiences with AI

Unity 6 Preview introduces Unity Sentis, a neural engine for integrating AI models into runtime. Recent updates focus on performance enhancements and simplifying integration, including support for AI model weight quantization and faster model scheduling.

Performance

Performance improvements in Unity 6 Preview include support for AI model weight quantization, doubling model scheduling speed, reduced memory leaks, and expanded support for ONNX operators.

Getting Started

Partnering with Hugging Face, Unity facilitates finding AI models for integration with Sentis. A new Functional API simplifies model integration, while the Backend API offers full customization. Resources such as blogs, documentation, and the community are available for further learning.

Enhance Productivity and Functionality

Unity 6 Preview introduces updates to profiling tools, including Memory Profiler improvements such as categorization of graphics memory and more precise reporting of resident memory usage, addressing feedback on native memory understanding.

Memory profiler
Updated Memory Profiler

Want to know more?

For more insights into what’s included in the Unity 6 Preview, delve into the release notes for an extensive rundown of features, and consult the Unity Manual for guidance on implementation.

The Unity 6 Preview release receives regular weekly updates until the next version. Remember to safeguard your work by backing it up before transitioning to a new version. Our Upgrade manual can aid you in this process. For ongoing projects, we advise utilizing Unity 2022 LTS for enhanced stability and support.

Unity 6 Preview is particularly suited for testing purposes during preproduction, exploration, and prototyping stages of your development journey. Yet, incorporating any code, features, or fixes from Unity 6 into a live game might incur applicable runtime fees if the game is upgraded to Unity 6 in General Availability (provided it meets the Runtime Fee criteria).

Conclusion

Unity 6 Preview represents a significant leap forward for game development, offering a comprehensive suite of tools and enhancements designed to empower developers and unleash their creativity. From its revamped user interface to its cutting-edge graphics capabilities and enhanced multiplatform support, Unity 6 provides the resources necessary to bring ambitious visions to life. As developers begin to explore Unity 6 Preview, the future of game development looks brighter and more exciting than ever before, promising a new era of innovation and creativity in the world of interactive entertainment.

FAQs

Q. What are the new features of Unity 6?

A. Unity 6 introduces advanced real-time rendering capabilities with ray tracing, empowering developers to create stunning visuals with enhanced realism. It also includes improved AI tools for more dynamic and immersive experiences, along with streamlined workflows for greater efficiency in game development.

Q. What are the main features of Unity?

A. Unity is a powerful game engine known for its cross-platform capabilities, real-time rendering, and extensive asset store. It offers a user-friendly interface, supports both 2D and 3D development, and provides a wide range of tools for creating immersive interactive experiences.

Q. What are the features of Unity 6 beta?

A. Unity has five main components: GameObjects, which are the basic entities in a scene; Components, which define the behavior of GameObjects; Transform, which determines an object's position, rotation, and scale; Materials, which define an object's appearance; and Prefabs, reusable GameObject templates.

Image Reference: https://unity.com/


Similar Articles