To find out more about the new features, changes, and improvements to this Unity version, see the 2021.2 Release Notes.
If you are upgrading existing projects from 2021.1, read the Upgrade Guide to 2021.2 for information about how your project may be affected.
See what’s changed in Unity 2021.2 since 2021.1 and view the documentation for the affected areas.
The Scene view now contains overlays for artist-driven context-based tools and customizable floating toolbars for 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.
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.
When you open an empty graph editor window, this prompts guidance on how to create or load graphs. Icons are now more consistent with the Unity Editor. “Unit” is now named “Node,” and “Super Unit” is now “Sub-Graph.” New nodes are available to simplify access to Script graphs and State graphs.
Use the new Table View to compare search results across multiple properties and sort items by name or description. You can now use Search to get more relevant items when you select a reference via the Asset Picker.
The Package Manager now contains feature sets which group together packages required for specific outcomes, like 2D game development or creating for mobile.
The Apple silicon Editor provides M1 Mac users with a native Unity Editor experience.
The Import Activity window shows what happens throughout the import process, for example, which assets you have imported/reimported, when it happened, and how long it took.
The Asset import speed is faster due to accelerated texture imports, mesh import optimizations, and new importing options, for example, the Force Fast Compressor asset import override.
This release includes Scriptable Build Pipeline optimizations and Build Cache performance improvements to optimize the build process. The player code build pipeline for Windows, macOS, Android, and WebGL now supports incremental C# script compilation. This will enable quicker build times when making small changes to your projects.
The IL2CPP Code Generation option in the Build Settings menu generates up to 50% less code. This enables faster IL2CPP build times and smaller executable files.
The AI Navigation Experimental release package offers additional controls when you build and use NavMeshes at runtime and in the Unity Editor.
Programming workflows now have performance improvements, for example:
This release features improvements for the profiling tool set, for example:
The System Metrics Mali package lets you access low-level system or hardware performance metrics on mobile devices and use Mali architecture for profiling or runtime performance adjustments.
New screen APIS to provide greater control over the display settings in games, enabling players with multiple monitors to select which monitor the game window should appear on:
Unity now supports x86, x86–64, and Arm architectures for Chrome OS devices. Unity supports built-in input emulation but you can create your own input controls to take advantage of mouse and keyboard setups.
Unity now provides direct support for Android’s new expansion file format, Android App Bundle (AAB) for asset building. Using AAB, you can meet the Google Asset Delivery requirements to publish any new apps to Google Play.
Adaptive Performance can now prioritize CPU/GPU resources to help launch applications more quickly. It also adds integration with the Unity Profiler so you can profile Adaptive Performance more efficiently in regular workflows.
Android thread configuration gives your fine-grained control over how your applications run to maximize their performance on certain hardware. It now includes options for whether to optimize an application for energy-efficiency or high performance.
WebGL improvements include:
Compressed audio support reduces the amount of memory the WebGL player uses 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.
You can now test your game’s IAP purchase and consume methods for UDP in the Editor Play mode. The Distribution Portal includes a Getting Started guide with instructions and code samples to help you implement UDP.
The new experimental Sequences package offers a new workflow tool for cinematic creation to keep a film’s editorial content organized, collaborative, and flexible.
The latest release of Recorder integrates Arbitrary Output Variable (AOV) recording, which is useful for creating separations in VFX and compositing. The Recorder package also includes integrated Path Tracing and Accumulation Motion Blur for more realistic rendering effects.
The latest release of Alembic lets you stream an Alembic file from an arbitrary location, effectively bypassing import.
The simplified Cinemachine Impulse greatly reduces the complexity of setting up how cameras react to in-game events such as explosions.
The latest version of Python for Unity comes with support for Python 3.7 and doesn’t require you to install Python. 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.
Use Unity Virtual Camera for iOS to leverage Apple’s ARKit to drive the movement of a camera in the Unity Editor, using real-world AR-tracked motion from your device.
Use Unity Face Capture with 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.
In HDRP 12.0 you can change the default Volumetric Clouds settings to create different kinds of realistic clouds. For more advanced results, you now access more settings and import Texture maps for finer artistic control.
HDRP 12.0 includes a new system to create Lens Flares. You can attach a Lens Flare (SRP) component to any GameObject. To test the system, HDRP includes a lens flare sample that has presets and Textures. Each Lens Flare has optional multiple elements that you can control individually.
You can now use the following upsampling methods in HDRP:
HDRP 12.0 includes improvements to the Path tracer features. You can now use volumetric scattering in path-traced scenes instead of linear fog. This feature also offers hair, fabric, stacklit, and AxF Materials. It also includes better HDRI sampling that improves the visual quality when you light a scene with an HDRI Sky.
HDRP includes a new Cloud Layer volume override that you can use to render a cloud Texture on top of the sky.
From HDRP 12.0, More Options is now named Additional Properties. You can now access these properties in a new way: The cogwheel that was present in component headers is now an entry in the contextual menu. When you enable Show Additional Properties, Unity highlights the background of each additional property for a few seconds to show you where they are.
HDRP 12.0 includes multiple improvements to Density Volume, which is now called Local Volumetric Fog. These improvements include:
HDRP 12.0 also includes an improved 3D Texture atlas to support different 3D texture resolutions and RGBA 3D textures.
Improved the UX for the following HDRP Decals placement tools:
The latest release of URP includes improvements to Ambient Occlusion, more robust tooling for converting from the Built-in Render Pipeline to URP, and new packages samples. For more information on the latest changes to URP, see What’s new in URP.
This release includes improvements to URP’s Scene Debug View Modes, including the new Render Pipeline Debug window which lets you inspect:
New settings for reflection probe blending and box projection enable better reflection quality using probes and bring URP closer to feature parity with the Built-In Render Pipeline.
The URP Deferred Renderer performs light shading 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 enables improved performance when rendering a large number of lights in a scene.
The Decal Renderer lets you project decal materials into the surfaces of a scene. Decals wrap around meshes and interact with the scene’s lighting. Decals are useful for adding extra textural detail to scenes, and breaking up materials’ repetitiveness and detail patterns.
The depth prepass is 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; 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 only specific meshes assigned to the same layer.
URP Light Cookies enable masking or filtering outgoing light’s intensity to produce patterned illumination. Use this feature to change the appearance, shape, and intensity of cast light for artistic effects, or to simulate complex lighting scenarios with minimal runtime performance impact.
The following new features are compatible with URP and HDRP.
Use the Light Anchor feature to manipulate lights around a pivot point instead of in world space. This makes lighting for cinematics easier and more efficient. Various presets are available to quickly place lights around a character or any center of interest. This feature is also available for the Built-in Render Pipeline.
This feature enables indirect lighting that responds to real time changes in light and material properties. Interactive visual feedback significantly reduces lighting design iteration times.
There is now support for Enlighten Realtime Global Illumination in HDRP and the Built-In Render Pipeline, and added support for the URP.
The GPU Progressive Lightmapper’s new lightmapper tiling feature breaks the baking process into manageable chunks that can fit in the available GPU memory at any time. This reduces GPU memory requirements and enables faster bakes.
Various UI/UX improvements have been made to improve workflows and provide consistency between the SRP render pipelines. This includes aligning the light and camera components between URP and HDRP.
The Terrain tools now include the following features:
You can paint mesh Terrain details like grass, bushes or rocks using HDRP. SpeedTree 8 vegetation is now supported for HDRP and URP, including support for animated vegetation using the SpeedTree wind system, created with Shader Graph.
You can now use any HDRP shader made with Shader Graph (for example: unlit, lit, hair, fabric) 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.
The new Signed Distance Field Bake Tool lets you directly and quickly bake a static geometry in texture 3D as a signed distance field in the Editor.
New bound helpers can help you set up your particles’ bounds to improve culling performance or prevent culling particle systems due to incorrect bounds.
You can now pass data to the Visual Effect Graph using structured/graphics buffers. This is useful for complex simulations like adding hair or fluid movement, and for programmatically assigning dynamic data such as multiple enemy positions using the Visual Effect Graph.
The keyword limits for Shaders have effectively been removed. A more efficient API is now available for working with keywords, with a clear separation between global and local shader keywords.
Updated ShaderLab package Dependency syntax The ShaderLab package Dependency feature extends the ShaderLab syntax and lets shader authors express the dependencies of shaders on packages..
Use the UI Toolkit to create runtime UI for games and applications The UI Toolkit 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).
The 2D Renderer now includes new SceneView Debug Modes with the following views: Mask, the Alpha channel, Overdraw, and mipmaps. The Sprite Mask feature now works correctly in SRP. To access it, go to Window > Analysis > Rendering Debugger > Material Override.
You can now customize the 2D Renderer with Renderer Features which allow you to add custom passes.
2D Lights are no longer experimental and are now integrated in the Light Explorer window. 2D Shadows have been optimized to support rendering Shadows to a single channel, and per-light Shadow culling.
2D Light Textures produced by the 2D Lights are now accessible in Shader Graph via the 2D Light Texture node. This allows various applications such as the creation of emissive materials for Sprites.
VFX Graph now supports 2D Unlit Shaders. Note that the Visual Effect Renderer is not affected by 2D Lights.
The new 2D URP template includes all verified 2D tools, which are precompiled to improve the load times of new projects based on this template. This template also includes URP with a preconfigured 2D Renderer, and packages with their default settings optimized for a 2D project.
The experimental Sprite Atlas v2 has folder support and new APIs to find duplicate Sprites in several atlases for a single Sprite by querying for
The 2D PSD Importer has better control over the imported Photoshop layers, and Sprite name mapping. You can now flatten imported PSD layer groups in Unity, and the Importer can autogenerate physics shapes for the imported layers.
This can help you to better differentiate between colors or to organize the bones according to color. The tooltips of the Skinning Editor’s tools now display their shortcuts, and a new tool has been added to see Sprite influences over bones.
You can now add new functionality to, or override the functions of, existing Tile Palette buttons, allowing you to create custom tools for your Tilemaps. New APIs provide information about animated Tiles, or get a range of Tiles. You can also use the
TileChangeData struct to set a Tile’s position and color and transform it all at once.
You can now read and write primitive physics shapes (Circles, Capsules, Polygons, and Edges) using a new unified shape group feature. This new API lets you add primitive shapes to a physics shape group or retrieve them from any
Collider2D or all
Collider2D attached to any
Rigidbody2D. Additionally, you can write a shape group directly to a new
CustomCollider2D, providing fast and direct access to the
Collider2D internals. You can reproduce the characteristics of existing
Collider2D, create new simple
Collider2Ds, or even complex procedural Colliders with the