To find out more about the new features, changes, and improvements to this Unity version, refer to the 2022.1 Release Notes.
If you are upgrading existing projects from 2021LTS, read the Upgrade Guide to 2022.1 for information about how your project may be affected.
See what’s changed in Unity 2022.1 since 2021LTS and view the documentation for the affected areas.
Visual search queries provide a consistent and intuitive user experience for building search queries. This enables users to discover and leverage the powerful capabilities of Search for finding items.
The Dependency Viewer provides an accessible, quick and reliable way for you to reason about dependencies in your project, regardless of the amount of assets it contains.
Tool developers can now use the UI(User Interface) Allows a user to interact with your application. Unity currently supports three UI systems. More info
See in Glossary Toolkit for more of their Editor UI authoring needs. In 2022.1, you have access to more UI widgets, can programmatically draw custom shapes, and can write property drawersA Unity feature that allows you to customize the look of certain controls in the Inspector window by using attributes on your scripts, or by controlling how a specific Serializable class should look More info
See in Glossary using UI Toolkit.
The Enter Play Mode performance is optimized to speed up iteration times. This improvement includes faster sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary saving, increased use of multi threading to speed up static batchingA technique Unity uses to draw GameObjects on the screen that combines static (non-moving) GameObjects into big Meshes, and renders them in a faster way. More info
See in Glossary and particle prewarming, and a reduced cost on some package initialization times (e.g. TerrainTools and Visual Studio packages).
Common editor workflows are optimized in large scale projects involving large object and asset counts. These improvements include:
Small file import times are reduced by up to 60%.
With the undo UI button, the overall performance of this feature is improved. The undo operations that feature large arrays are up to 100 times faster. You can also clear the redo stack around 30 times faster and delete large selections of undos around 2 times faster.
Accelerator cached assets can be corrupted (modified bytes) on storage or during transmission. A hash of the content detects corrupt content; when content is seen as invalid, it’s discarded and imports locally. You can configure this behavior using the Content Validation setting in the Project SettingsA broad collection of settings which allow you to configure how Physics, Audio, Networking, Graphics, Input and many other areas of your project behave. More info
See in Glossary window (Editor/Cache Server/Content Validation). Enabled is the default setting, and the following options are available:
Option | Description |
---|---|
Enabled | Uses hashes when available but doesn’t require it. |
Disabled | Ignores any hashes provided by the accelerator. |
Required | Fails downloads if no hash is available from the accelerator. |
UploadOnly | Only does hashing when uploading, and ignores hashing on downloads. |
The System Metrics Mali package allows you to access low-level system or hardware performance metrics on mobile devices for profiling or runtime performance adjustments. For example, you could use the package to:
The Splines package helps you work with curves and paths. You can use the package to generate objects and behaviors along paths, create trajectories, and draw shapes.
The Splines package contains:
Material Variants allow for reuse and improve management of materials that share most surface properties and differ only through others.
With Material variants, you can create templates or material prefabs. Based on a base template, you can create variants that share common properties with the template material and override only the properties that differ. If you change common and non overridden properties in the template material, the changes automatically reflect in the variant material. You can also lock certain properties on material so they can’t be overridden in the variants.
In a more complex setup, you can create variations of a variant material. The material inheritance hierarchy promotes reusability and improves iteration speed and scalability of material authoring in your project.
The Package Manager improvements include:
Polygons and outlines on the PolygonCollider2D
, CompositeCollider2D
& TilemapCollider2D
are produced via libtess2
. Often those polygons can be too thin or small the physics engineA system that simulates aspects of physical systems so that objects can accelerate correctly and be affected by collisions, gravity and other forces. More info
See in Glossary filters them out. Delaunay tessellation produces superior results in these cases; it not only stops producing polygons that are too thin or small but also produces fewer polygons to cover the same area.
Sprite Atlas v2, which was introduced previously, will be out of preview in 2022.1. This brings support for Accelerator and as of 2021.2 provides full support for folders as packable objects.
The 2D PSD Importer now has support for importing files with the PSD file extension. You can control which layers to import from a Photoshop file if you select them from a new tab in the PSD Importer inspectorA Unity window that displays information about the currently selected GameObject, asset or project settings, allowing you to inspect and edit the values. More info
See in Glossary. You can also set padding between SpritesA 2D graphic objects. If you are used to working in 3D, Sprites are essentially just standard textures but there are special techniques for combining and managing sprite textures for efficiency and convenience during development. More info
See in Glossary in mosaic mode. Alongside this, there are a set of APIs for PSDImporter
’s import settings.
The Frame Timing Manager supports all platforms, works in Editor, and provides more information about frame timing. These improvements allow you to build performance adaption, profiling, and reporting tools on every platform.
The Sprite Swap feature is improved in the 2D Animation package, with streamlined Sprite Swap keyframing in the Animation window.
The Animation quality of life for 2D has support for Sprite deformation, Sprite Swap, and IK Solvers in Animation preview windows. There is also an added Character Pivot tool in the SkinningThe process of binding bone joints to the vertices of a character’s mesh or ‘skin’. Performed with an external tool, such as Blender or Autodesk Maya. More info
See in Glossary Editor. You can use the new asset upgrading tool to upgrade older Sprite Library Assets and Animation ClipsAnimation data that can be used for animated characters or simple animations. It is a simple “unit” piece of motion, such as (one specific instance of) “Idle”, “Walk” or “Run”. More info
See in Glossary to the latest version.
The 2D PixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary Perfect CameraA component which creates an image of a particular viewpoint in your scene. The output is either drawn to the screen or captured as a texture. More info
See in Glossary is enhanced with the addition of a new upscale filter to reduce blurriness.
You can write scriptsA piece of code that allows you to create your own Components, trigger game events, modify Component properties over time and respond to user input in any way you like. More info
See in Glossary to customize the Sprite Shape geometry after it’s generated. There are also added vertex colors for the Sprite Shape vertices.
Added incremental build pipeline support for iOS, tvOS, and other platforms. This makes Player builds faster for these platforms by removing redundant work in subsequent builds.
The Unity Recorder can use advanced parameters with the MediaEncoder on macOS (backed by Apple’s AVFoundation encoder API). This results in a consistent API across macOS and Windows and means the Unity Recorder can encode higher quality videos, such as YouTube compliant videos.
You can leverage video capture cards from Blackmagic Design to input and output pro-grade video and audio in the Unity Editor and runtime builds. This allows you to unlock new workflows for users working in film, virtual production, live events, and broadcast. The package includes support for standard video formats, HDRhigh dynamic range
See in Glossary, interlacing, and more.
There is support for time code synchronization to the Live Capture package, which lets you synchronize compatible Live Capture devices connected to the Unity Editor.
For example, you can synchronize data capture of the Unity Face Capture and Unity Virtual Camera companion apps. Future third-party motion capture and performance capture plugins can use this functionality to synchronize with any other plugin that implements the provided APIs.
You can modify the camera constraint properties on the Cinemachine Virtual Cameras if you use Scene Overlays and purpose-built scene handles, instead of the property fields in the Inspector. Scene Handles and Overlays let you adjust properties like field of view, clipping planesA plane that limits how far or close a camera can see from its current position. A camera’s viewable range is between the far and near clipping planes. See far clipping plane and near clipping plane. More info
See in Glossary, offsets, and damping directly in the Scene viewAn interactive view into the world you are creating. You use the Scene View to select and position scenery, characters, cameras, lights, and all other types of Game Object. More info
See in Glossary.
The Shadergraph Sprite Lit, Sprite Unlit, and Sprite Custom Lit master stacks support several blending modes.
This support allows you to create shadersA program that runs on the GPU. More info
See in Glossary that can blend using Alpha, Premultiply, Additive, and Multiply blending modes. These changes are included in the Universal Render PipelineA series of operations that take the contents of a Scene, and displays them on a screen. Unity lets you choose from pre-built render pipelines, or write your own. More info
See in Glossary package.
There are improvements to sequences and Alembic updates that include support for SubD (sub division modeling) and Inferred Material Mapping.
Netcode for GameObjects is an open-source networkingThe Unity system that enables multiplayer gaming across a computer network. More info
See in Glossary library built for the Unity game engine. It’s available to users under a permissive, MIT license.The first release focuses on enabling the creation of small-scale, cooperative, client-hosted games. You can also choose to extend the library and leverage the available support for dedicated servers.
The IL2CPPA Unity-developed scripting back-end which you can use as an alternative to Mono when building projects for some platforms. More info
See in Glossary scripting backendA framework that powers scripting in Unity. Unity supports three different scripting backends depending on target platform: Mono, .NET and IL2CPP. Universal Windows Platform, however, supports only two: .NET and IL2CPP. More info
See in Glossary always generates fully shared versions of all generic methods. This allows you to use generic type combinations that are not present at compile time. This improvement avoids a whole class of difficult to detect errors that can occur only at runtime.
The IL2CPP scripting backend emits code that improves the performance of delegate invocation at runtime. More information about delegate invocation is cached initially, so that each delegate call is much faster.
This improvement brings faster initialization and execution of Visual Scripting graphs without the need to sacrifice the flexibility of runtime graph modifications.
This is achieved through the introduction of an interpreted representation of VS graphs at runtime while you preserve the ability to modify and execute MonoBehavior-based graphs at execution time.