Version: 2021.3
Terms of use
Packages and feature sets

New in Unity 2021 LTS

Long-term Support (LTS)

Unity 2021.3 is an LTS release, containing features released in 2021.1 and 2021.2, and is supported for two years. See the LTS release page for more information and other available LTS installers.

Release Notes

To find out more about the new features, changes, and improvements to Unity 2021 releases, see:

Upgrade guides

If you are upgrading existing projects from an earlier version of Unity, read the Upgrade Guides for information about how your project might be affected. Here are the LTS specific upgrade guides:

What’s new

See what’s changed in Unity 2021 LTS since 2020 LTS and view the documentation for the affected areas.

What’s New page outline

Editor and workflow

2D game development quickstart guide

The 2D game development quickstart guide has been released, which provides a workflow for developing a 2D game in Unity. This quickstart guide helps you decide what game perspective and art style you want your game to have, set up your Unity project, and create a 2D game.

3D game development quickstart guide

The 3D game development quickstart guide has been released, which provides a workflow for developing a 3D game in Unity. This quickstart guide helps you set up your Unity project, and create a 3D game.

Overlays in Scene view

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.

Quality of life and efficiency improvements

  • The Transform component can now constrain scale proportions.
  • Project assets have copy/cut/paste support. If you drag multiple objects from the Hierarchy into the Project window, it now produces multiple Prefabs.
  • You can preview complex Prefabs faster in the Inspector, and “revert to Prefab” works with multiselection.
  • To maximize the Game view, you can now choose from the following options: Play Focused; Play Maximized; Play Unfocused.
  • If you click on a material slot in the Renderer component, that material is highlighted in the Scene view.
  • The number field math expressions in the Inspector are more accurate. 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.

Visual scripting improvements

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.

Table view in Search

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.

Feature sets

The Package Manager now contains feature sets which group together packages required for specific outcomes, like 2D game development or creating for mobile.

Apple silicon Editor

The Apple silicon Editor provides M1 Mac users with a native Unity Editor experience.

Improved asset workflows

Import Activity window

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.

Faster asset import speeds

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.

Optimized build process

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.

Faster build times with IL2CPP Code Generation

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.

Programming workflows

Programming workflows now have performance improvements, for example:

  • More aggressive inlining of functions improve the C# math performance.
  • Async Read manager API can now be called from burst jobs, including APIs for async open, close, and cancel.
  • Asset garbage collection code is now multithreaded.
  • GUID hash generation is now 6x faster for common data patterns.

This release features improvements for the profiling tool set, for example:

  • There is greater Profiler connectivity with tethered Android devices.
  • The connection drop-down menu is now in a tree view that groups player connections into local, remote, and direct connection categories.
  • There is better platform support for obtaining GPU timings of URP/HDRP code.
  • New APIs now pass arbitrary data to the Profiler and visualize it as a custom profiler module. This enables exposure of performance metrics relevant to a game or any other systems in the Profiler window, and alternative visualizations of Profiler data to facilitate additional analysis.
  • Memory module view in the Profiler Window has greater functionality.

Multiple version support with Version Defines

You can now use Version Defines to include the latest API features and provide backwards compatibility for older versions of Unity and the API, all within a single code base.

Build precise time-based functionality with timeAsDouble

Time.timeAsDouble has introduced various AsDouble properties, which let you use double precision time in your project. This is especially useful for creators building long-running applications, such as dedicated game servers.

The Code Coverage package is out of preview

Use Unity’s Code Coverage package with Test Runner to check for test coverage of your project’s code, including detailed HTML formatted reporting to find areas that are being missed by your current test suite.

Comprehensive memory profiling now included

The Memory Profiler package has been updated to ensure that all relevant data is reported for managed data types, including multi-dimensional arrays. Additionally, improvements have been made to texture and mesh memory reporting.

Unity now includes multiple Player profiling support

You can now run multiple Player instances on one machine, and connect Unity Profiler to a specific instance to get deep insight in how it’s performing, making you more productive with less hardware. Watch the Profile multiple players in 2021.1 video on YouTube to see it in action.

Test different platforms with Device Simulator

Device Simulator is now installed as part of the main Unity installation and you no longer need to add it as a package. Use Device Simulator to view how your game would appear on mobile devices.

Create logic with visual scripting

Visual scripting is now included as a core feature, built directly into Unity. You can use this to create logic with visual, drag-and-drop graphs to supplement your code for faster prototyping and iteration. Visual scripting is also a great way to make existing scripts more accessible to create tools for use by non-programming team members.

Platforms

Screen APIs for display settings

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:

  • Screen.mainWindowPosition
  • Screen.mainWindowDisplayInfo
  • Screen.GetDisplayLayout()
  • Screen.MoveMainWindowTo()

Support for Chrome OS within the Android Development environment

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.

Android App Bundles

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.

Startup Boost in Adaptive Performance

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

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

WebGL improvements include:

  • Emscripten 2.0.19, which gives faster build times and a smaller WebAssembly output for the WebGL target.
  • Features for future support of the WebGL Player in mobile web browsers (iOS and Android), including gyroscope, accelerometer, gravity sensor, and attitude sensor values.
  • Forward and rear-facing web cameras.
  • You can now lock screen orientation for full-screen projects on Android browsers.

Compressed audio

Compressed audio support reduces the amount of memory the WebGL player uses in the browser for long-running background music and large audio files.

Compressed texture formats

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.

UDP support in Play Mode

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.

Cinematics

Sprite Editor

Slicing options now let you slice sprite sheets that contain continuous neighboring isometric tiles. This helps to speed up the process of preparing isometric tilemaps if your art is contained in one single image.

Recorder updates

Recorder is now a released package and includes new codec like Apple ProRes for better compatibility with graphics and quality of life updates to enhance your capturing experience.

Recorder package

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.

Alembic package

The latest release of Alembic lets you stream an Alembic file from an arbitrary location, effectively bypassing import.

Cinemachine package

The simplified Cinemachine Impulse greatly reduces the complexity of setting up how cameras react to in-game events such as explosions.

Easily interoperate between tools with FBX Exporter

FBX Exporter is now a released package. Export scene references for animation and interoperate with popular 3D modeling software like Maya and Max for efficient iteration. You can also record animation in the Editor, so you can export references and re-key animations.

Python for Unity

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.

HDRP

HDRP Static Shadow caster and improvements

You can now cache a portion of non-directional shadow maps, which can result in performance improvements. HDRP renders dynamic shadow casters into their respective shadow maps for each frame.

Added procedural volumetric clouds in HDRP

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.

Lens Flare

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.

New upsampling methods

You can now use the following upsampling methods in HDRP:

  • Temporal Anti-Aliasing (TAA) Upscale: This upscale filter uses temporal integration to produce a sharp upscaled image without sacrificing visual quality at lower resolutions.
  • NVIDIA’s Deep Learning Super Sampling (DLSS) v2.2: This upscale filter uses artificial intelligence to increase graphics performance and quality.
  • AMD’s FidelityFX Super Resolution: This upscale filter uses a spatial super-resolution method that balances quality and performance. For more information, see AMD FidelityFX.

Path tracer

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.

Cloud layer system

HDRP includes a new Cloud Layer volume override that you can use to render a cloud Texture on top of the sky.

Additional Properties

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.

Density Volumes (Local Volumetric Fog)

HDRP 12.0 includes multiple improvements to Density Volume, which is now called Local Volumetric Fog. These improvements include:

  • You can now use a RenderTexture or Custom Render Texture as a volume mask.
  • You can also use colored volume masks and set higher-resolution volume masks (up to 256 cube) in the HDRP Asset.
  • The Local Volumetric Fog blend distance has new linear or exponential settings.

HDRP 12.0 also includes an improved 3D Texture atlas to support different 3D texture resolutions and RGBA 3D textures.

Improved UX for HDRP Decals

Improved the UX for the following HDRP Decals placement tools:

  • The Pivot point tool
  • UV manipulation
  • Scale transform support
  • Prefab support
  • Changing the gizmo color
  • Editing multi-selection

Universal Render Pipeline (URP)

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.

Scene Debug View Modes

This release includes improvements to URP’s Scene Debug View Modes, including the new Render Pipeline Debug window which lets you inspect:

  • The properties of materials being rendered.
  • How the light interacts with these materials.
  • How shadows and LOD operations are performed to produce the final frame.

Reflection probe blending and box projection

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.

URP Deferred Renderer

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.

Decal Renderer

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.

Depth prepass

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

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

URP Light Cookies enable masking or filtering outgoing lights 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.

AMD’s FidelityFX Super Resolution

This upscale filter uses a spatial super-resolution method that balances quality and performance.

Scriptable Render Pipeline (SRP)

The following new features are compatible with URP and HDRP.

Light Anchor

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.

Enlighten Realtime Global Illumination

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.

GPU Lightmapper tiling

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.

SRP settings workflow improvements

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.

Authoring tools

Terrain tools

The Terrain tools now include the following features:

  • New Terrain sculpting brushes to bridge, clone, noise, terrace, and twist terrain.
  • Erosion heightmap-based tools (Hydraulic, Wind and Thermal).
  • Material painting controls now have noise, and layer, based filters.
  • General quality-of-life interface improvements to streamline Terrain authoring workflows with the Terrain Toolbox.

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.

Visual Effect 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.

Signed Distance Field

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.

Visual effect bounds

New bound helpers can help you set up your particles’ bounds to improve culling performance or prevent culling particle systems due to incorrect bounds.

Structured/graphics buffer

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.

Shader Graph

Updated Shader keyword limits

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).

2D

Production-ready 2D tools

This release includes usability and stability improvements for 2D tools, with a focus on Sprite Swap workflows and 2D graphics.

2D Renderer improvements

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.

New 2D URP template

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.

UX improvements for 2D PSD Importer

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.

Set individual bone colors in the Sprite Visibility panel

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.

2D Tilemaps

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.

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 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 CustomCollider2D.

Terms of use
Packages and feature sets