Get a first look at what Unity is offering in this release cycle. These new features and improvements are available for you to try today. Recent releases have focused on stability, performance, and workflow optimizations. We’ve continued to emphasize these priorities in Unity 2021.2, but this release also lands many highly anticipated features, while numerous others are available in early testing. This blog post dives into some of these new features. These are some of the coding and general Editor highlights in 2021.2:
Unity 2021.2 also offers a plethora of new features and tools that ready to share for feedback from artists and teams:
You can get the latest beta from the Unity Hub or on our download page. As of today, it includes over 3000 fixes and more than 720 features and changes. Remember, the beta is not intended for use in production-stage projects. As always, make sure to back up your existing projects if you plan to use them with the beta.
Your feedback is the most important part of the beta release. That’s why we’ve partnered with NVIDIA to offer you a chance to win one of 2 GeForce RTX™ 3090 graphics cards when you are the first to report an unknown bug that you encounter during testing. Find the details at the end of this blog post.
Unity teams look forward to seeing you explore and test new features. You can report any issues you find by using the Bug Reporter. By clicking Help > Report a Bug…, you can help us to efficiently investigate your issue and assign it a ticket in our system for faster resolution by our development teams. If you’re discussing the issue in the forum or in Unity Answers, sharing the Case ID is helpful to the team. Before you submit a bug report, you can make sure that your issue isn’t already known by checking our public Issue Tracker for any similar cases.
There are benefits to actively reporting issues during betas. Besides helping us to iron out the remaining kinks and improving the release for everyone, each original and reproducible submission boosts your chances of winning one of our Beta sweepstakes prizes. Just make sure to add #Beta2021Win_NVIDIA to your bug report.
The Beta and Experimental Forums are where the Unity community and staff connect to discuss pre-release technology and the beta. Participating in the forums helps Unity teams to evaluate the state of the beta, plan the product roadmap, and better understand developers’ needs and experience to fuel the evolution of Unity tooling. Please share any feedback that you have about the beta in the 2021.2 beta forum.
If you’re interested in giving us feedback about your Unity experience in general and want to influence the future of Unity, you should join Unity Pulse. This is our new research platform and community where we conduct surveys, polls, roundtables, interviews, and group discussions that fuel how we prioritize our resources. You can learn more about it in this blog post.
Now, let’s take a look at what you will find available for testing in this release.
In Unity 2021.2, we continue to focus on quality-of-life improvements with significant Editor performance speedups and useful new workflow options.
In this release, we overhauled the Scene View UX by adding overlays for artist-driven context-based tools, as well as customizable floating toolbars. We’re starting with Scene Tools (Move, rotate, scale, etc.), Component tools, Orientation, and Search. This system is extensible, so you can add custom tools and toolbars as overlays as well.
You will also be able to find many improvements across the Editor to improve your efficiency, including:
We improved the number fields math expressions in the Inspector. For example sqrt(9) or *=2 that makes the value 2x larger across an entire selection. ToString() on various C# math types (for example Vector3) now prints two decimal digits by default instead of one digit.
Clicking on a material slot in the Renderer component now highlights that material part in the Scene view.
This release also includes many quality-of-life improvements for visual scripting. Opening an empty graph editor window prompts guidance on how to create or load graphs. Icons were adjusted for greater consistency with the Unity Editor. “Unit” has been renamed “Node,” and “Super Unit” is now “Sub-Graph.” We’ve reduced the amount of time it takes to import assets from a project using visual scripting. New nodes are available to simplify access to Script graphs and State graphs.
We’ve also improved the workflows around Search. Use the new Table View to compare search results across multiple properties and sort items by names or description. Search can now be used to provide more relevant items when selecting a reference via the Asset Picker.
In this release, the Package Manager includes feature sets, a new concept that groups together packages required for specific outcomes, like 2D game development or creating for mobile. They’re designed to work well together, and you can also access learning resources to help you get started quickly straight from the Package Manager.
Additionally, we recently released the beta of our new Apple Silicon Editor, which provides M1 Mac users with a native Unity Editor experience. We’re looking for feedback during the beta period so we can make any necessary improvements prior to our full release in 2021.2. Learn more about how to access this beta and provide feedback in the forum.
This release also brings a slate of improvements to asset workflows that will help you to speed up your iteration process throughout the development lifecycle in the new beta. The new Import Activity window helps you uncover what’s happening during the import process – which assets were imported/reimported, when it happened, how long it took, and it happened.
This release also includes asset import speedups across the board thanks to accelerated texture imports, mesh import optimizations, and new importing options. See this forum post for more details on the improvements.
Lastly, we’ve looked at optimizing the build process with Scriptable Build Pipeline optimizations and Build Cache performance improvements. We’ve also upgraded our player code build pipeline for Windows, macOS, Android, and WebGL with a solution that supports incremental C# script compilation. As a result, when you’re making small changes to your projects, the player build time will better correlate with the size of the changes you’ve made. We’re working on adding this improvement to the remaining platforms in future versions of Unity.
A new IL2CPP Code Generation option in the Build Settings menu generates much less code (up to 50% less). This allows for both faster IL2CPP build times and smaller executable files. There may be a small runtime performance impact due to the different code generation methods, so this option is best suited for improving team iteration times. Let us know how this impacts your project speed in this forum thread.
You can also find the AI Navigation Experimental release package, which offers additional controls for building and using NavMeshes at runtime and in the Unity Editor. Learn more in the documentation section and forum.
We’ve included new performance improvements that will benefit coders, including:
This release features many improvements for the profiling toolset:
An Experimental release of the new System Metrics Mali package allows you to access low-level system or hardware performance metrics on mobile devices with Mali architecture for profiling or runtime performance adjustments. Learn more about it in the Documentation and in the forum thread. You can add it in the Package Manager using the feature “Add Package by name” and entering com.unity.profiling.systemmetrics.mali
We added four new Screen APIs, and these will provide greater control over the display settings in games, enabling players with multiple monitors to select which monitor the game window should appear on. These APIs are: Screen.mainWindowPosition, Screen.mainWindowDisplayInfo, Screen.GetDisplayLayout() and Screen.MoveMainWindowTo().
The release includes support for Chrome OS within the Android Development environment. Unity will support x86, x86–64, and Arm architectures for Chrome OS devices. In addition, developers can build their own input controls to fully take advantage of keyboard and mouse setups or use built-in emulation. Since Chrome OS support is found within Unity’s Android ecosystem, this means less platform maintenance and an easier process for publishing to the Google Play Store. Read more in the documentation and our forum discussion.
In 2021.2, Unity provides direct support for Android’s new expansion file format, Android App Bundle (AAB) for asset building. Using AAB, developers can meet the Google Asset Delivery requirements to publish any new apps to Google Play.
Adaptive Performance 3.0 is available starting with 2021.2. This new version adds Startup Boost mode, which allows AP to prioritize CPU/GPU resources to help launch games more quickly. It also adds integration with the Unity Profiler to let you profile AP more efficiently in regular workflows. See the documentation and forum discussion for more information.
Creators building for Android devices can now take advantage of new Android thread configuration improvements, including options that allow you to choose whether to optimize your apps to be more energy-efficient or more highly performant. While the default settings should be fine for most users, this feature gives more advanced users fine-grained control over how their apps run to maximize their performance on hardware.
WebGL improvements include Emscripten 2.0.19, which gives faster build times and a smaller WebAssembly output for the WebGL Target.
This release also includes features for future support of the WebGL Player in mobile web browsers, including gyroscope, accelerometer, gravity sensor and attitude sensor values (iOS and Android browsers). Other enhancements include forward- and rear-facing web cameras and the ability to allow full-screen projects to lock their screen orientation on Android browsers.
Compressed audio support reduces the amount of memory used by the WebGL player in the browser for long-running background music and large audio files.
You can now choose ASTC or ETC/ETC2 compressed texture formats to target mobile web browsers, as well as BC4/5/6/7 texture formats for higher-quality compressed textures on desktop browsers.
Unity Distribution Portal (UDP) Improvements include support for the Editor’s Play Mode. Additionally, the game will fetch the IAP products defined in your project, and purchases and consumes will always be successful so that you can test your fulfilment in Play Mode without any disruption from UDP methods waiting for their callbacks.
We’re also adding a guide to help you through your UDP implementation. Once it knows how you intend to implement UDP (directly, or via Unity IAP) it will provide you with step-by-step instructions, as well as code samples. It’s accessible through the Menu structure, where you should look for the Implementation Guide.
2021.2 includes many improvements to our cinematic tools, as well as new packages.
The new Experimental package Sequences (com.unity.sequences) offers a new workflow tool for cinematic creation that keeps a film’s editorial content organized, collaborative, and flexible. Check out the documentation for more information.
The latest release of Recorder integrates Arbitrary Output Variable (AOV) recording, which is useful for creating separations in VFX and compositing. We’ve also integrated Path Tracing and Accumulation Motion Blur for more realistic rendering effects.
The latest release of Alembic format support includes the ability to stream an Alembic file from an arbitrary location, effectively bypassing import, as well as improved material handling.
The Cinemachine simplified impulse greatly reduces the complexity of setting up how cameras react to in-game events such as explosions.
Python for Unity facilitates Unity’s interaction with various media and entertainment applications to ensure that you can seamlessly integrate Unity into a broader production pipeline. In version 4.0, you no longer need to install Python.It also adds support for Python 3.7, and in-process Python is no longer reinitialized on domain reload. PySide sample is much simpler and runs in-process, and there’s limited virtual environment support. Check out the documentation and forum discussion for more information.
In 2021.2, new Experimental Packages take aim at improving how you use advanced cinematics.
Unity Virtual Camera is an iOS app that leverages Apple’s ARKit to drive the movement of a camera in the Unity Editor using real-world AR-tracked motion from your device.
Unity Face Capture allows you to use your Face ID-enabled iPhone or iPad to capture, preview, and record performances, then bind them to a model in iOS. To gain access to Unity Virtual Camera and Face Capture, sign up for the Cinematics Open beta.
Artists can add procedural Volumetric Clouds in HDRP. It’s easy to quickly tweak the default parameters to achieve different kinds of realistic clouds, while advanced users can access more settings and import their own maps for finer artistic control.
NVIDIA Deep Learning Super Sampling (DLSS) is a rendering technology available for HDRP that uses artificial intelligence to increase graphics performance and quality. It allows you to run real-time ray-traced worlds at high frame rates and resolutions. It also provides a substantial performance and quality boost for rasterized graphics and improves the performance of VR applications so they run at higher frame rates. This helps to alleviate disorientation, nausea, and other negative effects that can occur at lower frame rates.
To celebrate this powerful technology coming to Unity, we’ve partnered with NVIDIA to offer beta participants a chance to win one of two GeForce RTX™ 3090 graphics cards, along with an exclusive, limited edition Unity x LEGOⓇ Minifigure. Find the details at the end of this blog post.
HDRP Path tracer improvements include added support for volumetric scattering to path-traced scenes (only linear fog was previously supported). This feature also offers hair, fabric, stacklit and AxF materials, as well better HDRI sampling for enhanced visual quality when lighting a scene with an HDRI.
Volumetric density volume format and blending improvements include the ability to take a Render Texture or Custom Render Texture as a volume mask in the Density Volume component. Other new additions in this release include colored volume masks, higher-resolution volume masks (up to 256 cube configured in the HDRP settings), and a falloff mode for density volume blend distance (linear or exponential). The 3D Texture atlas was improved to support different 3D texture resolutions and RGBA 3D textures.
Based on artists feedback, we have improved the UX for HDRP Decals placement, including the Pivot point tool, improved UV manipulation, scale transform support, Prefab support, editing of gizmo colors, and multi-selection editing.
Streaming Virtual Texturing (SVT) is a texture streaming feature that reduces GPU memory usage and texture loading times when you have many high-resolution textures in your scene. It works by splitting Textures into tiles, then progressively uploading these tiles to GPU memory when they are needed. SVT is an experimental feature and is only supported inHDRP. This release brings further improvements, including PS5 platform support.
Improvements in this release bring URP’s Scene Debug View Modes closer to parity with the options available in Built-in Render Pipeline. The Render Pipeline Debug Window is also included as a new debugging workflow for URP in this release. Users can use Debug Window to inspect the properties of materials being rendered, how the light interacts with these materials, and how shadows and LOD operations are performed to produce the final frame.
Reflection probe blending and box projection support has been added to allow for better reflection quality using probes and bringing URP closer to feature parity with the Built-In Render Pipeline.
The URP Deferred Renderer uses a rendering technique where light shading is performed in screen space on a separate rendering pass after all the vertex and pixel shaders have been rendered. Deferred shading decouples scene geometry from lighting calculations, so the shading of each light is only computed for the visible pixels that it actually affects. This approach gives the ability to render a large number of lights in a scene without incurring a significant performance hit that affects forward rendering techniques.
The new decal system enables you to project decal materials into the surfaces of a Scene. Decals projected into a scene will wrap around meshes and interact with the Scene’s lighting. Decals are useful for adding extra textural detail to a Scene, especially in order to break up materials’ repetitiveness and detail patterns.
This release adds support for depth prepass, a rendering pass in which all visible opaque meshes are rendered to populate the depth buffer (without incurring fragment shading cost), which can be reused by subsequent passes. A depth prepass eliminates or significantly reduces geometry rendering overdraw. In other words, any subsequent color pass can reuse this depth buffer to produce one fragment shader invocation per pixel.
Light Layers are specific rendering layers to allow the masking of certain lights in a scene to affect certain particular meshes. In other words, much like Layer Masks, the lights assigned to a specific layer will only affect meshes assigned to the same layer.
URP Light Cookies enables a technique for masking or filtering outgoing light’s intensity to produce patterned illumination. This feature can be used to change the appearance, shape, and intensity of cast light for artistic effects or to simulate complex lighting scenarios with minimal runtime performance impact.
Ambient Occlusion is used to approximate how bright (or dark) a specific surface should be, based on the geometry around it. This release brings several SSAO improvements, including enhanced mobile platform performance and support for deferred rendering, normal maps in depth/normal buffer, unlit surfaces, and particles.
A new converter framework from Built-in Render Pipeline to URP makes the upgrade tooling more robust and supports more than material conversion.
Motion Vectors support provides a velocity buffer that captures and stores the per-pixel and screen-space motion of objects from one frame to another.
URP Volume System Update Frequency allows you to optimize the performance of your Volumes framework according to your content and target platform requirements.
Discover new samples in the Package Manager for URP that provide use cases of features by showcasing their configuration and practical use in one or more scenes. These samples are provided to help facilitate teams’ onboarding and learning.
The following features are compatible with URP and HDRP.
This version introduces a new Lens Flare system. Lens Flares simulate the effect of lights refracting inside a camera lens. They are used to represent really bright lights, or, more subtly, they can add a bit more atmosphere to your Scene. The new system, similar to the one present in the Built-in Render Pipeline, allows stacking flares with an improved user interface and adds many more options.
Light Anchor makes lighting for cinematics easier and more efficient by providing a dedicated tool to manipulate lights around a pivot point instead of in world space. Various presets allow lighting artists to quickly place lights around a character or any center of interest. This feature is also available for the Built-in Render Pipeline.
GPU Lightmapper Lightmap Space Tiling. The tiled baking technique helps to reduce the GPU memory requirements by breaking the baking process into manageable chunks that can fit in the available GPU memory at any time. As a result, you can use the GPU Progressive Lightmapper for faster bakes, even when larger Lightmap resolutions are involved.
Enlighten Realtime GI enables you to enrich your projects with more dynamic lighting effects by, for example, having moving lights that affect global illumination in scenes. Additionally, we’ve extended the platform reach of Enlighten Realtime GI to Apple Silicon, Sony PlayStation(R) 5, and Microsoft Xbox Series X|S platforms.
The SRP settings workflow improvements are a series of UI/UX improvements intended to impact workflows and provide consistency between the SRP render pipelines. For this iteration, the focus was mainly on aligning the light and camera components between URP and HDRP. The changes consist of aligning header design, sub-header designs, expanders, settings order, naming, and the indentation of dependent fields. While these are mostly cosmetic changes, they have a high impact.
In this release, the following features are now available in the Terrain tools:
General quality-of-life interface improvements to streamline Terrain authoring workflows with the Terrain Toolbox.
SpeedTree 8 vegetation has been added to HDRP and URP, including support for animated vegetation using the SpeedTree wind system, created with Shader Graph.
In 2021.2, the Visual Effect Graph includes the following changes:
Refactored ShaderGraph integration allows you to use any HDRP shader made with Shader Graph (unlit, lit, hair, fabric, and so on) to render primitives in the Visual Effect Graph. This change replaces the Visual Effect target in Shader Graph which is consequently deprecated (but still supported) for HDRP. It also allows you to modify particles at the vertex level, enabling effects like birds with shader-animated flapping wings or wobbling particles like soap bubbles.
Signed Distance Field Baker is a new tool to directly and quickly bake a static geometry in texture 3D as a signed distance field in the Editor.
We’re adding functionality to Bounds helpers that will help you set up your particles’ bounds to improve culling performance or prevent culling particle systems due to incorrect bounds.
Structured/graphics buffer support adds a new possibility of passing data to the Visual Effect Graph using structured/graphics buffers in addition to textures. This feature is oriented at programmers who want to add complex simulations like hair or fluid movement or programmatically assign dynamic data such as multiple enemies positions using the Visual Effect Graph.
Improved URP Support enhances the Visual Effect Graph’s stability and compatibility with URP on compute-capable devices. We’re adding support to render lit particles on URP and 2D Unlit Sprite shader.
Shader Graph in 2021.2 includes the following changes:
Shader keyword limits have effectively been removed. We added a more efficient API to work with keywords and made a very clear separation between global and local shader keywords. Learn more in the forum discussion.
We’ve updated the ShaderLab Package Dependency syntax. Previously, there was no way to express dependencies between shaders and packages in tools and assets aiming to work with multiple render pipelines, which impacts both Asset Store and in-Editor developers. Tool authors would work around this limitation by shipping separate packages, one for each rendering pipeline supported. The ShaderLab Package Dependency feature removes this limitation by extending ShaderLab syntax and providing a possibility for shader authors to explicitly express the dependencies of shaders on packages.
In 2021.2 UI Toolkit can now be used as an alternative to create runtime UI for games and applications. It provides dedicated tools for visual authoring and debugging UI, renders beautiful and scalable text with TextMesh Pro, provides crisp-looking textureless rendering, and can be used alongside Unity UI (UGUI). Learn more on the documentation, or join the forum discussion.
Several URP/2D Renderer improvements can be found in this release.
New SceneView Debug Modes in URP are relevant for 2D developers using the 2D renderer, who can now access the views: Mask, Alpha channel, Overdraw or Mipmaps. The Sprite Mask feature has been adjusted to work correctly in SRP. You can access it by going to Window > Analysis > Rendering Debugger > Material Override.
The 2D Renderer can now be customised with Renderer Features which allow you to add custom passes.
2D Lights are now integrated in the Light Explorer window, and they are no longer labeled as Experimental. 2D Shadows are being optimized, some of these improvements are implemented in this release, including refactoring work, rendering shadows to a single channel, and per-light shadow culling.
2D Light textures produced by the 2D Lights are now accessible via the 2D Light Texture node in Shader Graph. One application of this is the creation of emissive materials for Sprites.
VFX Graph now supports 2D Unlit shaders. In this first iteration, the Visual Effect renderer will not be affected by 2D lights. We look forward to hearing from your experience in this forum thread.
A new 2D URP default template has been added. It includes all verified 2D tools, precompiled, so new projects load faster with the entire 2D toolset at your disposal, including URP and the configured 2D Renderer. The template also includes packages and default settings that are optimal for a 2D project.
Other 2D improvements are Sprite Atlas v2 with folder support and new APIs to find duplicated sprites in several atlases for a single sprite, query for MasterAtlas and IsInBuild. 2D Pixel Perfect’s Inspector UI has a more intuitive setting display. 2D PSD Importer has new UX improvements, better control over the Photoshop layers, and Sprite name mapping. There’s a new option to flatten layer groups in Unity, and the tool can now autogenerate physics shapes, which can be convenient when you import scene elements that are not characters.
2D Animation updates include bone colors, which can now be set in the visibility panel. This setup can help you to better differentiate colors or organization. UX improvements include shortcuts visible in the tooltips of the skinning editor’s tools, and a new tool to see sprite influences over bones.
2D Tilemaps added the ability to override existing tile palette buttons or add new functionality to help you create custom tooling for tilemaps. API changes include the addition of TileChangeData struct, which allows you to set a Tile at a position with color and transform it all at once, instead of invoking several calls. New APIs allow you to get information about animated Tiles, and get a range of tiles. We’ve improved performance when using APIs for setting multiple Tiles at once, such as SetTiles (Tile array and TileChangeData) and SetTilesBlock.
In 2D Physics, you can now read and write primitive physics shapes (Circles, Capsules, Polygons, and Edges) using a new unified shape group feature. This new API provides the ability to add primitive shapes to a physics shape group or retrieve them from any Collider2D or all Collider2D attached to any Rigidbody2D. Additionally, a new CustomCollider2D provides the ability to write a shape group directly to it, providing fast and direct access to the Collider2D internals. The CustomCollider2D allows you to reproduce all existing Collider2D or create new simple Collider2Ds or complex procedural ones. In the future, the physics shape group will form the basis of new features including new physics queries and interaction with Sprite physics shapes.
To celebrate the release of DLSS in preview, our partners at NVIDIA have provided two GeForce RTX™ 3090 GPUs for our Beta Sweepstakes so that our lucky winners can add all the power and efficiency of ray tracing and DLSS to their next HDRP project!
To enter the draw, identify and report at least one original bug in a 2021.2 version while the submission period is open. The sweepstakes begin Monday, June 21, 2021 at 9am PST and the submission period ends Sunday October 2, 2021 at 5pm PST.
An original bug is one that has not yet been reported at the time of submission and has been reproduced and acknowledged by Unity as a bug. Make sure to add #Beta2021Win_NVIDIA in your bug report submission. Every additional valid submission increases your odds of winning, but no participant can win more than one prize.
No purchase necessary. Void where prohibited. See the full rules here. We will contact the winners directly.
Access ray tracing tools and training using NVIDIA’s technology platforms by joining the NVIDIA Developer Program here.
Want to provide feedback directly to Unity teams? Sign up for Unity Pulse, our new product feedback and research community. We created this community because we believe your experience and insights are vital to Unity’s evolution. By joining, you’ll have the opportunity to connect with Unity’s product teams, gain access to new product concepts and give feedback on beta products which will help us make the best products and experiences for you. We’re interested in your feedback. Sign up or Log In with your Unity ID
Unity is looking for game creators to join us in revealing the next Unity platform release. Partner with us on marketing and PR efforts and help educate other developers on what’s new and available in the platform.
If you’d like to be considered, we’d love to hear about your game! Tell us about your project here.
The following is intended for informational purposes only, and may not be incorporated into any contract. No purchasing decisions should be made based on the following materials. Unity is not committing to deliver any functionality, features or code. The development, timing and release of all products, functionality and features are at the sole discretion of Unity, and are subject to change.