Unity 2021.2.0

Released:
Select the runtime platforms of your choice from the list below (the desktop runtime is included as standard) or, to install the full complement of runtime platforms, use the download assistant installer above.
New to Unity? Get started

Known Issues in 2021.2.0f1

  • Android: Sometimes text is not rendered when using OpengLES3 on a Xiaomi Redmi9A device. (1347186)

  • Android: * Devices might wake up from sleep when in split screen mode.

    • Chrome OS devices that support tablet mode might not pause apps when they are no longer visible.

    • Some Android devices may experience delayed resolution updates after resizing a window.

    • Minimum window size might not be respected properly on all Android devices.

  • Asset Bundles: The build of AssetBundles can be slow when there is a very large filecount. (Z58059](https://issuetracker.unity3d.com/issues/building-process-of-the-assetbundles-is-slow-when-the-file-count-is-huge))

  • Asset Import Pipeline: There is a ArtifactInfo.Internal_Destroy exception thrown when in Play mode while using Rider debugger. (1359723)

  • Asset Import Pipeline: There is a crash in OnDemandScheduler::SetStandbyWorkerCount when opening a project with a symbolic link in it. (1370389)

  • Global Illumination: Scene gets brighter in Standalone player if it was open in the Editor at build time. (1375015)

  • Global Illumination: Progressive Lightmapper falls back to CPU if only light color was changed. (1356714)

  • IL2CPP: System.Runtime.Serialization.Formatters.BinaryFormatter doesn't work when Project is built with IL2CPP Scripting Backend. (1374185)

  • Recent Mac Metal editor change delayed frame updates by 1, affecting selection feedback, keyboard inout and undo/redo. (1375664)

  • Input: Touch Input doesn't work in Play Mode when running an Editor on a Touchscreen device. (1341159)

  • Mono: Microsoft.Extensions.Logging Nuget Package causes errors in console when built into UWP with .NET Standard 2.1. (1373389)

  • Mono: NullReferenceException can cause a freeze when thrown in the Player. (1364311)

  • Profiling: GUIStyle errors are thrown when entering Play mode with docked Profiler and the "Maximize On Play" option Enabled. (1364443)

  • Profiling: Profiler's timeline view loses context frames when frames go out of Frame Count bounds. (1367470)

  • Scene Management: Instantiated FBX through code throws error after leaving Play Mode. (1363573)

  • Scripting: Increased Script Assembly reload time (1323490)

  • Shader System: Shaders are ignored when executing Build Asset Bundles method from console with -nographics argument (1369645)

  • uGUI: Performance regression when loading or unloading a large Scene. (1375646)

  • Vulkan: GameObjects textures are seemingly random and change colours depending on the Scene's Camera pos. (1337772)

  • XR SDK: [XR][Linux] Scene View doesn't render when opening new AR or VR Template project or pressing "Show Tutorials". (1362435)

Features

  • 2D: Added a new template to allow users to start a new project with 2D Renderer set up.

  • 2D: Added support for users to create and define scriptable tools for the Tile Palette window.

  • Android: Added a default texture compression format option to Player Settings.

  • Android: Added support for building and running Android apps on Chrome OS devices with x86 and x86-64 CPUs.

  • Android: Added support on Android for split-screen, pop-up and freeform windows.

  • Android: Changed so users can now include custom asset packs into the build by adding assets to the directory ending with '.androidpack'.

  • Android: When building Android App Bundle with Split App Binary enabled, Unity will create asset packs.

  • Asset Import: Added an artifact file dependency system to the AssetImportContext. For more information, see AssetImportContext.GetArtifactFilePath and AssetImportContext.GetOutputArtifactFilePath.

  • Asset Pipeline: Added ArtifactDifference Reporting messages to the Artifact Browser.

  • Asset Pipeline: Added Accelerator authentication support using Unity ID.

  • Asset Pipeline: Added Import Activity Window. This allows you to look at import times, previous revisions, list dependencies, see importers used and import duration over time.

  • Asset Pipeline: Support for importing models and textures in parallel in external processes (off by default, enable in Project Settings ->; Editor ->; Refresh.

  • Burst: Added a new optimization mode, Balanced. This is now the default optimization mode, and trades off slightly lower maximum performance for much faster compile times.

  • Burst: Added an OptimizeFor option to [BurstCompile], allowing users to specify whether they want to prioritize runtime speed, runtime size, or compilation time.

  • Burst: Added Embedded Linux as a new target platform for Burst.

  • Burst: Added Embedded Linux toolchain resolution mechanism.

  • Burst: Added experimental half precision floating point type f16.

  • Burst: Added experimental support for Arm Neon intrinsics half precision floating point.

  • Burst: Added experimental support to the Burst compiler package for some ArmV8.2A intrinsics (dotprod, crypto, RDMA).

  • Burst: Added source location metadata into hash cache.

  • Burst: Added support for basic vld1 ARM Neon intrinsics.

  • Burst: Added support for calling Burst code directly from C# without using function pointers.

  • Burst: Added support for creating profiler markers from Burst code.

  • Burst: Added support for having [return: MarshalAs(UnmanagedType.U1)] or [return: MarshalAs(UnmanagedType.I1)] on external functions with a bool return type.

  • Burst: Added support for new intrinsics.

  • Burst: Added support for the C# 8.0 construct default(T) is null

  • Burst: Added support for the latest LLVM 11 code generation benefits to the Burst compiler package.

  • Burst: Added the option to call BurstCompiler.CompileFunctionPointer() in Burst code.

  • Burst: Added warnings about delegates being used by BurstCompiler.CompileFunctionPointer that are not decorated as expected. In most cases, Burst will automatically add the C-declaration attribute in IL Post Processing, but if the usage of CompileFunctionPointer is abstracted away behind an open generic implementation, then Burst will not be able to automatically correct the delegate declaration, and thus this warning will be displayed.

  • Burst: Added workarounds for issues where Windows Native Debuggers restrict the number of messages and DLLs that can be sent to the debugger when attaching.

  • Burst: Apple silicon support.

  • Burst: Assemblies are now allowed to have an [assembly: BurstCompile()] attribute which allows you to specify compile options that apply assembly wide. For example, [assembly: BurstCompile(OptimizeFor = OptimizeFor.FastCompilation)].

  • Burst: Burst 1.6 release cycle is for 2021.2.

  • Burst: Exceptions thrown from Burst can now contain a callstack.

  • Burst: Made it possible to get a pointer to UTF-8 encoded string literal data in HPC# code via StringLiteral.UTF8().

  • Burst: The Burst compiler package now fully supports ARMv7 and ARMv8-A Neon intrinsics.

  • Burst: To support modding, added support for loading additional burst compiled libraries in Play mode and standalone builds.

  • Burst: Unity now automatically adds the [UnmanagedFunctionPointer(CallingConvention.Cdecl)] attribute to any delegates that are used for BurstCompiler.CompileFunctionPointer<>(). An error occurs if a delegate has the attribute but is not Cdecl.

  • Core: Added Screen.mainWindowPosition, Screen.mainWindowDisplayInfo, Screen.GetDisplayLayout() and Screen.MoveMainWindowTo() APIs. See Scripting API documentation for more information.

  • Editor: Added a Diagnostics section to the Preferences window to help with remote troubleshooting. You shouldn't interact with this section unless instructed to by Unity Support.

  • Editor: Added support for two new menu states, "disabled" and "checked", in Unity Search.

  • Graphics: Added Graphics Buffer Support in VFX Graph.

  • Graphics: Added a new tool to set the bounds of a VFX Graph system.

  • Graphics: Added anisotropic filtering to the built-in inline samplers.

  • Graphics: Added support for DX12 on Hololens with OpenXR.

  • Graphics: Added support of direct link event.

  • IL2CPP: Added new option for "IL2CPP Code Generation" which enables faster and smaller builds by using better sharing of generics code and additional runtime overhead.

  • Input System: Released 1.1 of the Input System package with fixes and improvements. Details at https://github.com/Unity-Technologies/InputSystem/blob/develop/Packages/com.unity.inputsystem/CHANGELOG.md.

  • License: Introduced licensingIpc Editor CLI.

  • macOS: Added deep linking support.

  • Mobile: Adapted the scaler profiles so you can easily define and change Adaptive Performance Scalers with predefined profiles.

  • Mobile: Added a new adaptive view distance scaler to change the Camera.main view distance automatically.

  • Mobile: Added boost mode for Samsung devices. This increases CPU and GPU performance for short periods of time.

  • Mobile: Added Boost mode to boost the CPU and GPU for short periods of time.

  • Mobile: Added predefined scalar profiles that you can use to easily define and change Adaptive Performance scalers.

  • Mobile: Added Startup Boost mode which enables boost mode during engine startup.

  • Mobile: Added the ability to enable boost mode during engine startup. This increases CPU and GPU performance for a short period of time as the application starts.

  • Mobile: Added the ability to request information about which and how many cores are available on the device.

  • Mobile: Added the Adaptive Performance feature API. This checks which Adaptive Performance features are available on the current platform.

  • Mobile: Added the Adaptive view distance scaler. This scaler changes the Camera.main view distance automatically.

  • Mobile: Added the Feature API to check which Adaptive Performance feature is available on the current platform.

  • Mobile: Integrated Adaptive Performance into the Unity Profiler.

  • Mobile: Integrated the Profiler so you can Profile Adaptive Performance easily from the Unity Profiler.

  • Mobile: Requested cluster info to have details on which and how many cores are available on the device.

  • Mono: Enabled Brotli compression for Windows with the Mono runtime.

  • Mono: Upgraded to a recent version of Mono (~6.12), which brings most bug fixes from the upstream Mono project.

  • Package: (Recorder) Added support for recording accumulation, for motion blur and path tracer (HDRP).

  • Package: (Recorder) Integrated the AOV Recorder into the Recorder package.

  • Package: Added support for macOS arm64.

  • Package Manager: Added new UI support for features in the Package Manager window. Added an initial list of features.

  • Package Manager: Added option in the popup window, when Install for a Full Project Asset is clicked, to install the Asset into a new, temporary project.

  • Package Manager: Added the ability to install a package from a browser hyperlink, including experimental packages.

  • Package Manager: Added UI support for feature sets in the Package Manager window:

    • Added a Lock/Unlock mechanism on packages that are part of a feature set.

    • Reset a feature set dependencies to their default versions when the feature set was customized.

    • Added a warning message if a feature set dependencies are already installed with a different version before installing it.

    • Added a visual cue on feature sets when the dependency versions change.

    • Added feature set information to the Inspector.

    • Added analytics on feature sets.

  • Package Manager: Changed account menu in the top bar of the editor to show your initials instead of full name.

  • Package Manager: Changed the Package Manager window so that when users choose to continue from the UPM dialog warning that shows an entitlement error, then launch the Editor, the Package Manager window immediately opens to the first package with an entitlement error.

  • Package Manager: Swapped the advanced settings panel and the scoped registries management panel in project settings.

  • Package Manager: The Package Manager now supports packages with entitlements (subscription-based licensing).

  • Particles: Added a mesh weighting field to the list of meshes in a Particle System component, to control how likely Unity is to assign each mesh to a particle.

  • Physics: Added a new CustomCollider2D that allows custom 2D physics shapes to be used with a fully customizable and featured 2D Collider.

  • Physics: Added an Enable All and Disable All button to the Physics Project Settings' Layer Collision Matrix, which allows enabling or disabling all layer collisions.

  • Physics: Added Physics Profiler counters to the list of available counters in the Profiler Module editor window.

  • Physics: Added the ability to read low-level 2D physics shapes (PhysicsShape2D) from any 2D Collider into a new shape container (PhysicsShapeGroup2D).

  • Physics: Exposed a set of functions to enable you to modify the contact properties of a collision before the solver receives them.

  • Profiler: Added ProfilerModule API to extend the Profiler window with custom modules.

  • Profiler: Added the File Access Profiler and Asset Loading Profiler modules to the Unity Profiler.

  • Profiler: The connection drop down has been revamped into a tree view that groups player connections int0 three main categories. Local, any player that is running local to the machine, this includes devices connected via cable. Remote any player that is running anywhere else on the network that is reachable. Direct connection, this is for connecting directly via IP address or any player that has automatically connected. There options are further searchable using the new search bar.
    Any connections to players which exist from before this feature will still appear though they will appear under the category of "Connection Without Id".
    Further to this there no exists an option that can be used to supply a custom connection name for the profiler which will make it easier for the user to find their desired connection. This is set through the Preferences->;Anaylsis option or via the command line "-connection-id" when launching a player from the command line.

  • Scene/Game View: Added support for component tools to the EditorToolContext.

  • Scene/Game View: Introduced new Overlays feature. Tools and contextual views are now available directly in the Scene View, and are completely customizable.

  • Search: Added a new explicit provider to search performance metrics.

  • Search: Added new extended search picker workflow and API.

  • Search: Added search expression language to evaluate multiple search queries and apply set operations, transformation or other user defined operations.

  • Search: Added search table support to build advanced reports using complex search expressions.

  • Shaders: Added support for specifying package requirements for SubShaders and Passes to ShaderLab.

  • Shaders: Introduced keyword space separation.
    Shaders, compute shaders and materials now operate in separate local keyword spaces. All keywords declared in a shader or in a compute shader using any of the multi_compile* or shader_feature* directives are local. Material and Compute Shader classes now operate with local keywords only.
    Global keyword space contains global keywords. Global keywords are converted to local keyword space of a shader or compute shader prior to rendering. When a shader or a compute shader declares a keyword that has the same name as a global keyword, turning this global keyword on or off will affect variant selection.

  • Terrain: Added a new instancing mode for Terrain details, which uses the material specified on the prototype prefab to render detail objects with instanced draws.

  • UI: Added preference to enable or disable extended Dynamic Hints.

  • UI Toolkit: Added a context action in the UI Builder Hierarchy to export an element to a UXML file.

  • UI Toolkit: Added a contextual action to unpack a template in a document in the UI Builder.

  • UI Toolkit: Added contextual actions to unpack a template completely in UI Builder.

  • UI Toolkit: Added runtime access to the PanelSettings object and the UIDocument component. Runtime UIToolkit rendering no longer requires the UIToolkit package.

  • UI Toolkit: Added support for negative transform scaling on x and y axes, enabling mirroring to be performed. When crossing zero, the geometry will be regenerated to flip the winding.

  • UI Toolkit: Added support for rendering antialiased vector shapes without MSAA in UI Toolkit.

  • UI Toolkit: Added support for up to 7 levels of stencil-based masking.

  • UI Toolkit: Added the DynamicColor usage hint that allows border/background/text color to change dynamically without having to regenerate the geometry.

  • UI Toolkit: Added transform-origin, rotate, scale and translate to the supported properties by UI Toolkit.

  • UI Toolkit: Added Transitions properties to the UI Toolkit.

  • UI Toolkit: Attribute overrides can be added, edited and removed in a template instance using UI Builder.

  • UI Toolkit: ListView now supports dynamic item height as a virtualization method. For more information, see ListView and CollectionVirtualizationMethod.

  • UI Toolkit: Updated the UIElementsGenerator tool to the latest version.

  • Version Control: Added auto sign in when logged into Unity account.

  • Version Control: Added workspace migration from Collab to Plastic which can be done with or without Plastic installed.
    Added notification status icons.
    Added light and dark mode versions of the avatar icon.

  • Version Control: Improvements to Plastic SCM:

    • Added support for inviting other members. This option is available from the gear / settings icon.

    • Added support for signing in with Cloud Edition. This is available during the onboarding screen if you have never signed in.

    • Added support for turning off Plastic in their project. This option removes the Plastic metadata from your directory. This option is available under Assets >; Plastic SCM >; Turn off Plastic SCM

    • Added notification on the Plastic SCM tab title to indicate incoming changes. Users will no longer need to have the Plastic SCM window visible to know there are incoming changes.

    • Auto configuration of SSO

    • Added date column in incoming changes

  • WebGL: Added support for compressed audio in WebGL.

  • WebGL: Added the Debug Symbols player setting to create release builds with embedded function symbols for improved profiling and error stack traces.

  • WebGL: Added the texture subtarget build setting to WebGL.

  • WebGL: Enabled ETC/ETC2/ASTC/BC4/BC5/BC6/BC7 compressed texture formats for WebGL in editor, build and runtime.

  • XR: Added support for controller late latching, which can reduce latency between rendering and tracked input (head and hand-held controller) in XR. Can be used with the Mesh Renderer and the Skinned Mesh Renderer.

  • XR: Reduced render latency in URP with Late Latching.

Improvements

  • 2D: Added folder support for SpriteAtlas V2 in 2D.

  • 2D: Cached internal reflection to speed up Sprite editing data access.

  • 2D: Improved performance for setting multiple Tiles on a Tilemap.

  • 2D: Improved performance of RuleTile caching.

  • 2D: Improved performance when importing large number of textures.

  • 2D: Improved the placement of Tiles generated from Sprites with Textures sliced using the Isometric Slicing option in the Sprite Editor.

  • 2D: Prereleased the SpriteShape and PSDImporter package

  • 2D: Updated icons for the Tile Palette Rotate and Flip tools.

  • 2D: Updated the 2D template to use the latest verified 2D packages.

  • 2D: Updated the 2D URP template starting folder structure for better clarification of usage.

  • 2D: Updated the Skinning Editor tooltips text.

  • AI: Added the RasterizeModifierBox profiler marker for the NavMesh builder step that processes ModifierBox sources.

  • Android: Added a new Android/Chrome OS player setting, "Chrome OS Input Emulation". If un-checked, this option disables Chrome OS's default behavior of converting mouse and touchpad events into touchscreen events. This allows an app to implement more complete support for these input devices. Also, fixed a bug with Android/Chrome OS touchpad scrolling.

  • Android: Added boot-config/command-line switch platform-android-cpucapacity-threshold. This specifies which CPU cores to treat as big cores. The cpu capacity is a value in the range between 0 and 1024. A capacity value of 870 yields the same behavior as before the fix for case 1349057.

  • Android: Added support for custom cursors to Android to support Player Settings and C# functions on Android version 7.0 and later.

  • Android: Allow low-level configuration of Unity threads (priority, affinity)

  • Android: Changed the device scanning operation of the Android Extension to be async when receiving an USB device changed event. (1349380)

  • Android: If a hardware keyboard is available, Unity now uses it within UI systems, instead of always bringing up a virtual, on-screen keyboard.

  • Android: Made a large part of the Android Build Pipeline incremental which means sequential builds with zero changes are now much faster. That also means Unity no longer creates builds from scratch, but instead updates the files which dependencies have changed. If you use the IPostGenerateGradleAndroidProject callback, note that it might be operating on files which were modified by IPostGenerateGradleAndroidProject from a previous build.

  • Android: Unity gradle projects now have a new entry in gradle.properties, unityTemplateVersion. Unity increments this property whenever Unity gradle template files change. That way if you build on top of the old folder and the unityTemplateVersion is different, Unity throws an error, saying that you need to update your gradle files or build to an empty folder.

  • Android: When generating manifest files, there are new files in Library\Bee\artifacts\Android\Manifest, LibraryManifestDiag.txt, LauncherManifestDiag.txt. They contain information about why a specific permission is added to manifest.

  • Asset Bundles: Added profile marker for CRC checks.

  • Asset Import: Documented the MonoImporter class.

  • Asset Import: Improved FBX model importing speed.

  • Asset Import: Improved import performance of ASCII FBX files.

  • Asset Import: Improved import performance of FBX files.

  • Asset Import: Improved import speed for FBX files that use the ASCII file format.

  • Asset Import: Improved import speed for model files containing more than 1 mesh.

  • Asset Import: Improved import speed of FBX models by skipping unused data.

  • Asset Import: Improved import speed of models that contain multiple meshes.

  • Asset Import: Improved import speed of Sketchup models.

  • Asset Import: Improved model import speed by multithreading mesh triangulation.

  • Asset Import: Improved model import times for models that contain animations.

  • Asset Import: Improved Model Importer material tab display performance. (1295743)

  • Asset Import: Improved model importing performance for files that contain lots of curves.

  • Asset Import: Improved the model import times slightly for models that contain animations.

  • Asset Import: Increased the speed of Asset Import when using mikktspace tangent generation on meshes containing degenerate triangles.

  • Asset Import: Optimized the texture import mipmap calculation when using Kaiser filtering. For example, importing 16GB of textures with mostly Kaiser mip filters is reduced from 127 seconds to 109 seconds.

  • Asset Import: Reduced peak memory usage during Model Importing.

  • Asset Import: Updated Sketchup SDK to version 2020.2.

  • Asset Pipeline: Added a new UI in the AssetImporter inspectors that display all AssetPostprocessors methods that were used in the last import of the selected asset.

  • Asset Pipeline: Added summary in the editor log about what happened during a refresh (import).

  • Asset Pipeline: Added warnings and an Automatic Fix button where main object names do not match the corresponding filename.

  • Asset Pipeline: Improved directory enumeration by multi-threading it.

  • Asset Pipeline: Improved project startup times. Projects with 900,000 files will load at least 30 seconds faster.

  • Asset Pipeline: Improved speed of Editor startup by fixing Asset handling related code.

  • Asset Pipeline: Improved startup performance for 900,000 file project by 18 seconds.

  • Asset Pipeline: Improved upload and download path.

  • Asset Pipeline: Optimized the UnityEngine.Hash128.ToString method.

  • Asset Pipeline: The Asset Pipeline no longer displays a warning when it is not possible to move import worker log files.

  • Asset Pipeline: Unity prefetches Asset Databases to improve Editor startup time and reduce cost of page faults.

  • Audio: Added a new Attenuation transition type to AudioMixer so that it can perform equal power panning for group attenuations when transitioning between snapshots. (1322673)

  • Audio: Added voice priority display in the audio pane of profiler.

  • Audio: Added VU metering information from audio mixer groups in the audio pane of profiler to make it easier to compare it against volume and audibility levels.

  • Audio: Improved the way Unity displays audio mixers inside the Audio Profiler window when the Groups and Channels and Groups view modes are enabled.
    Previously, Unity applied the column-based sorting from the Channels view mode to the other view modes, which resulted in inconsistent sorting of channels and groups below mixers, and in mixers changing their order dynamically. This made the Audio Profiler window hard to read.
    Unity now shows the names of the mixers in the Profiler where it previously only showed the ambiguous Master groups of the mixers below the Audio Listener group.
    The triangle shape after the titles of the column headers in the Detailed and Clip views was changed to an arrow that more clearly indicates the sorting order. The arrow is now placed before the title instead of after it to avoid cutting the title off when you resize the columns manually.

  • Audio: Target mixer groups are now displayed in the audio profiler.

  • Bug Reporter: The Crash Handler window now includes the following UI changes:

    • Stack trace field

    • Go to crash logs button

    • Report a Bug... button

    • Open Unity Hub button
      Note that clicking the Open Unity Hub button restarts the Editor.

  • Build Pipeline: "Scripts Only Build" is now automatic for platforms using the new incremental build pipeline. The checkbox is removed for such platforms, and Unity will automatically detect if it can do a Scripts Only Build based on which changes there are in the project.

  • Build Pipeline: Changed Linux so that it uses the incremental player build pipeline.

  • Build Pipeline: Improved linking speed for big projects

  • Build Pipeline: Improved the performance of the build pipeline by giving concurrent shader cache folders read access.

  • Build Pipeline: MacOS Standalone player builds now use the new incremental build pipeline, which allows faster subsequent player builds by only rebuilding parts which have changed.

  • Build Pipeline: Modified Windows Standalone player builds so that they only rebuild parts that have changed since the previous build to improve build speed.

  • Build Pipeline: Removed prompt to save an untitled scene if it is not included in the build.

  • Build Pipeline: WebGL now uses the incremental Player build pipeline.

  • Burst: Automatically add [UnmanagedFunctionPointer(CallingConvention.Cdecl)] to any delegates that are used for BurstCompiler.CompileFunctionPointer<;>;() or error if the delegate has the attribute and it is not Cdecl.

  • Burst: Improved codegen.

  • Core: Modified the Dynamic Heap Allocator to reduce the time it takes to intantiate chunks in a Build. (1272168)

  • Core: Reduced the number of memory alllocations and improved the tracking of core allocations.

  • Documentation: Added a pop-up to Obsolete API labels in the Script Reference, explaining why something is obsolete, and pointing to the new API where possible.

  • Documentation: Improved documentation for GeometryUtility.TestPlanesAABB to explain false positives.

  • DX12: *Binded dynamic lightmaps resources (Enlighten) to ray tracing shaders: unity_DynamicLightmap, unity_DynamicDirectionality and unity_DynamicLightmapST. *Enabled DYNAMICLIGHTMAP_ON shader keyword for when these resources are used by Renderers.

  • DX12: Added the ability to set D3D12_RAYTRACING_GEOMETRY_FLAG_NO_DUPLICATE_ANYHIT_INVOCATION flag when adding Renderers to a RayTracingAccelerationStructure. This will allow implementation of robust colored ray traced shadows.

  • DX12: Optimized uniform setup in ray tracing shaders, and added a special case for the UnityPerMaterial cbuffer.

  • Editor: Added a context menu to the Console window which has an option to use monospace font. (1276112)

  • Editor: Added ability to reorder UnityEvent callbacks.

  • Editor: Added missing USB device detection and reporting for Linux Editors.

  • Editor: Added new devices to the Device Simulator:

    • Apple iPad Air 2

    • Apple iPad Air (4th generation)

    • Apple iPhone 12 mini

    • Apple iPhone 12

    • Apple iPhone 12 Pro

    • Apple iPhone 12 Pro Max

    • Apple iPhone SE (2nd generation)

    • Google Pixel 5

    • Huawei P40 Pro

    • OnePlus 7 Pro

    • Samsung Galaxy Z Fold2 5G

    • Samsung Galaxy Note10

    • Samsung Galaxy Note10+ 5G

    • Samsung Galaxy Note20 Ultra 5G

    • Samsung Galaxy S8

    • Samsung Galaxy S9

    • vivo NEX 3 5G

    • Xiaomi Mi A3.

  • Editor: Added new features for Menu Items in the context of Editor Modes.

  • Editor: Added Open in Property Editor menu item to the Inspector's kebab menu. (1334342)

  • Editor: Added profiler markers around test setup, teardown, and execution.

  • Editor: Added Texture import overrides to the Build Settings window so you can reduce imported texture size and change the compression settings to speed up asset imports and platform switches.

  • Editor: Added the Play Unfocused option to the Game view, to stop the Game view from focusing when entering Play mode. Also added an option to Edit &gt; Preferences &gt; General to enable or disable automatically creating a Game view on entering Play mode.

  • Editor: Added the ability to cut, copy, and paste Assets in ProjectWindow. (1264821)

  • Editor: Added the ability to search Settings by their properties.

  • Editor: Added the option to constrain scale proportions to the Transform component. You can set this option as default in Editor preferences.

  • Editor: Added the renderer type to the UpdateRendererBoundingVolumes profile marker tooltip.

  • Editor: Allowed the importing of LOD meshes with indices that have preceding zeroes. By specifying a range, e.g., LOD1-3 will assign the mesh to all LOD levels in the range.

  • Editor: Avoid stall entering playmode if a scene contains sequential GameObject file ID hints. (1308128)

  • Editor: Cached the translation results, reducing GC pressure.

  • Editor: Changed the popup menu behaviour to only trigger a GUI.changed event if it has changed.

  • Editor: If the assembly containing code that is stalling the editor is available, it's now displayed in the popup progress bar.

  • Editor: Improved Gizmos performance in Editor.

  • Editor: Improved import times of SketchUp models (*.skp).

  • Editor: Improved loading times for scenes with lots of GameObjects at the top level in the Hierarchy.

  • Editor: Improved mac editor process guard in order to catch all types of exceptions and early handle cases before shutting down.

  • Editor: Improved model importing performance.

  • Editor: Improved performance importing models with Blendshapes if the Import Blendshapes setting is unchecked.

  • Editor: Improved the Frame Debugger, so you can clear display color, depth, and stencil values. The compute shader displays the display shader name, keywords, and thread group size. Indirect draws display shader and property information. The Mesh preview now displays correctly on HDRP. Displays SRP Batcher draws with the names of meshes they render.

  • Editor: Improved the performance of the model importer by multi-threading the mesh triangulation step.

  • Editor: Improving UTF documentation (DSTR-120).

  • Editor: Increased speed of filtering operations when you only run a subset of tests.

  • Editor: Inspector number fields support more math expressions now: functions (sqrt, sin, cos, tan, floor, ceil, round), distribution over multi-selection (L, R) and can refer to current value to change it across multi-selection (+=3, *=2).

  • Editor: Now shaders will have SHADER_API_(DESKTOP|MOBILE) define set according to the target build platform.

  • Editor: Optimized BC7 ("high quality" compression setting on PC/Console platforms) texture compression. Performance is 2-3 times faster. This optimization uses a new texture compressor (bc7e). An option is available in Editor Settings to switch to the old one (ISPC) if needed.

  • Editor: Optimized drag selection in Editor scenes.

  • Editor: Reduced the per-test overhead of running tests in the editor.

  • Editor: Reduced the time taken to rebuild the test tree and to scan for assets a test created but did not delete.

  • Editor: Removed the Enable Code Coverage option from Preferences/General, and moved it into the Code Coverage package.

  • Editor: Reorganized Quality Project Settings, to make it clearer which options are relevant to which parts of Unity. (1307483)

  • Editor: The Frame Selected command now ignores Audio Source and Reverb Zone components.

  • Editor: The Texture Import Settings window indicates which platforms have override settings. The window shows this with a blue line on the platform tabs.

  • Editor: UI polish of Build Settings window (improved logical sort of installed platforms).

  • Editor: Updated ASTC texture compressor to improve compression time by about 10%.

  • Editor: Updated ASTC texture compressor to reduce compression time.

  • Editor: Updated the Inspector property context menu 'Revert to Prefab' to work with multiple selected objects.

  • Editor: Updated the Renderer component so that you can click on a Material inside the Renderer component to highlight the Sub Meshes with that Material in the Scene View.

  • Editor: Updated the target window of a Dynamic Hint to be focused before displaying the Dynamic Hint, if available.

  • Editor: You can now drag multiple GameObjects to the Project Window to create multiple prefabs at once.

  • Editor: Create Empty Parent now matches the 'selection rect' for Rect Transforms.

  • GI: Added support for asynchronous environment sky updates to Enlighten Realtime Global Illumination to reduce the likelihood of frame hitches when the sky changes.

  • GI: Added support for rectangular area lights to Enlighten Realtime Global Illumination.

  • GI: Clarified the Indirect Bounce Shadow warning in the Light Inspector to indicate that Enlighten Realtime Global Illumination only supports this feature for Directional lights.

  • GI: Ensured that analytics data about cancelled bakes are logged when the Editor closes while baking lighting. (1354238)

  • GI: Extended support for the Lit Clustering Scene View exposure control so that it is available for lightmaps created with Enlighten Baked Global Illumination.

  • GI: Hid the Show Inactive Objects and Isolate Selection checkboxes on the Static Emissives tabs of the Light Explorer because these options are not applicable to materials. (1331750)

  • GI: Improved clarity in the GI Profiler by indicating whether the project's render pipeline supports Enlighten Realtime Global Illumination.

  • GI: Improved performance by running GICache trimming jobs every 30 seconds. (1289849)

  • GI: Improved usability by including memory-related logs in the Editor log.

  • GI: Lightmap analytics events now include bakes that fell back from GPU to CPU Lightmapper.

  • GI: Reduced ringing in lightmaps filtered with Intel Open Image Denoise.

  • GI: Removed the Compress Lightmaps option and replaced it with a configurable Lightmap Compression setting in the Lighting Settings Asset. (1230918)

  • GI: Removed unnecessary thread logging for Enlighten Realtime Global Illumination to improve performance.

  • GI: Upgraded Radeon Denoiser support to to version 1.7.0 in order to improve results generated in HDR mode.

  • Graphics: Added an error message that appears when a custom render texture uses a Material with an invalid or unsupported shader. (1304355)

  • Graphics: Added ASTC texture format support for single channel textures.

  • Graphics: Added support for async readback when using OpenGL ES 3.0 (and later) and GL core.

  • Graphics: Added support for Color and Depth Load/Store actions to the Frame Debugger.

  • Graphics: Added support for VFX.CameraBuffersFallback preferences. Select from one of 3 options:

    • None: Use no fallback and keep outdated buffer info from the last rendered frame.

    • Prefer Main Camera (Default): Use the buffer from the Main camera when available, and the Scene camera otherwise.

    • Prefer Scene Camera: Use the buffer from the Scene camera when available, even if the Main camera is being rendered.

  • Graphics: Added the 2D Lights tab to the Light Explorer window.

  • Graphics: Added the ability to remove shader Passes that contain ray tracing shaders (for example, ClosestHit, AnyHit) when ray tracing is not supported by the system or graphics API.

  • Graphics: Added two new functions in RayTracingAccelerationStructure - UpdateInstanceID and GetInstanceCount. The ray tracing instance ID can be accessed in HLSL code using InstanceID() intrinsic.

  • Graphics: Changed Renderer components so that you can use .bounds and .localBounds setter APIs to set custom world space or local space bounds.

  • Graphics: Changed the default specular reflection to use a RenderTexture with dimensions CUBE (instead of a Cubemap). (1281013)

  • Graphics: Changed the gear icon for the more menu on the Asset Settings Provider.

  • Graphics: Enhanced the error reporting from the command buffer in order to improve GPU-side (Metal) error logging.

  • Graphics: Fixed comments in shader examples from CommandBuffer.SetRayTracingShaderPass and RayTracingShader.SetShaderPass that point to incorrect functions.

  • Graphics: Improved ASTC decompression performance.

  • Graphics: Improved error logging for the CopyTexture function.

  • Graphics: Improved the application of outstanding pending changes to RendererScene after a camera render.

  • Graphics: Optimized render sorting to speed up performance.

  • Graphics: Optimized Material.FindPass. The improved speed depends on how many passes the Material has.

  • Graphics: Removed the redundant calls that Unity made when it set shader program parameters.

  • Graphics: Set up unity_MotionVectorsParams built-in shader variable in Ray Tracing shaders.

  • Graphics: Split texture postprocessor re-imports by texture type to reduce the amount of re-imports when changing a texture postprocessor script.

  • Graphics: Unity can now preload shaders after it loads the first Scene, and can distribute the preloading process across multiple frames.

  • Graphics: Unity now opens the Render Pipeline Asset dialog when changing asset for Quality Settings and Graphics Settings (Project Settings >; Quality, Project Settings >; Graphics) notifying that this may take a significant amount of time. You can choose to Continue or Cancel.

  • Graphics: VFX : Optimization while sending event to a VisualEffect by script.

  • Graphics: Virtual Texturing is now more robust when switching between color spaces.

  • Graphics: You can now access Mesh and SkinnedMeshRenderer geometry data from Compute Shaders similar to Mesh.GetVertexBuffer and SkinnedMeshRenderer.GetVertexBuffer.

  • IL2CPP: Added an intrinsic for Span get_Item/indexer to improve Span Indexer performance when accessing a large number of Span items.

  • IL2CPP: Added full support for System.Reflection.MemberInfo.GetCustomAttributesData.

  • IL2CPP: Added optimizations to Enum.HasFlag.

  • IL2CPP: Changed IL2CPP's internal build system to use bee on Android to prepare for improved player build performance.

  • IL2CPP: Changed il2cpp's internal buildsystem on Windows & Mac to prepare for improved player build performance.

  • IL2CPP: Corrected the source file hash so that a managed debugger can determine when a source file has changed and provide a proper warning.

  • IL2CPP: Improved the performance for invoking delegates.

  • IL2CPP: Improved the performance of IL2CPP conversion by using a new data model.

  • IL2CPP: Reduced executable size by reducing generic metadata output.

  • IL2CPP: Reduced the number of internal metadata allocations that relate to array method naming.

  • IL2CPP: Switch IL2CPP densehash map and set to sparsehash map and set for lower runtime memory usage.

  • IL2CPP: Updated IL2CPP to run on .NET 5.

  • IL2CPP: Updated IL2CPP to use the new bee distribution format.

  • IMGUI: Improved overall layout and repaint performance.

  • Input: Added Use Physical Keys setting in the Input Manager to map Input.KeyCode to physical keys.

  • iOS: Changed depth RenderSurfaces to have private storageMode. (1339864)

  • iOS: Changed how plug-ins handle the wrong CPU type when creating an XCode project. CPU types that aren't supported are now ignored.

  • iOS: The generated Xcode project now uses the new build system.

  • Kernel: Added Memory Settings to the Project Settings window. This gives you control of the internal memory setup in Unity. You can adjust the memory setup for individual projects.

  • Kernel: Improved code quality and amount of allocations in some of our base abstraction layers.

  • Kernel: Improved the performance of parallel sorting code.

  • Kernel: Improved the stability of player connection by implementing several changes:

    • Increased the number of frames to receive messages.

    • Fixed issue where player connection could corrupt message queue and required reconnecting to app.

    • Improved handling for app disconnection (for example, when the app crashes; when the app is forced to disconnect; or when the app loses connection).

    • Improved support for suspending apps on mobile platforms.

  • License: Improved license validation by syncing the access token with the licensing client every time the token changes.

  • macOS: Fixed the append mode for building Xcode projects.

  • macOS: The generated Xcode project now uses the new build system.

  • macOS: When generating Xcode project, it is now possible to pick the build config used for run action (can be changed in Xcode). Debug build config now has frame capture automatically enabled.

  • Mobile: The Android Patch/Patch & Run Build Setting works for all types of changes, and is automatic. Previously, it could only be used with Script Only builds.

  • N/A (internal): Altered default texture compression for EmbeddedLinux to now be configurable from the player settings.

  • Networking: Improved UnityWebRequest on iOS to allow system to call upload data instead of using the operation queue.

  • Package: Enabled alpha channel capture in projects that use HDRP in the Recorder package.

  • Package: Improved the migration tools so that Unity allows projects to migrate to the recent Visual Scripting version.

  • Package: To open the Visual Scripting editor, you can now click the open inspector button and double click a graph in the project browser.

  • Package: Updated names of UI elements in the Visual Scripting package to be consistent with new naming schemes.

  • Package: Updated the user interface of the Visual Scripting package.

  • Package: Visual Scripting now creates a warning message when you add more than one Input unit to a SuperUnit.

  • Package: Visual Scripting now creates a warning when an Input System Package event references an action that is the wrong type for that event.

  • Package: Visual Scripting: Migration tools are improved to let users migrate their project to the latest version of the Visual Scripting package.

  • Package Manager: Added new labels to package versions to clarify when a package is installed as a dependency.

  • Package Manager: Added support for opt-in caching of Git LFS files when you download Git packages. To enable caching, set either of the following environment variables: UPM_ENABLE_GIT_LFS_CACHE or UPM_GIT_LFS_CACHE_PATH. The latter lets you override the default cache location.

  • Package Manager: Changed how string literals are translated by using string.Format at definition time.

  • Package Manager: Fixed the Add package from git URL option so that if you use a revision and a package path in the wrong order, you can't clone the repository.

  • Package Manager: Improved logging by adding logs for cache misses and tarball download steps.

  • Package Manager: Improved performance when browsing "My Assets".

  • Package Manager: Improved the error message when a Git dependency cannot be resolved because the path querystring and revision fragment are in the wrong order.

  • Package Manager: Improved the wording on the warning message when a user is using a different version of a package than the recommended version.

  • Package Manager: Included the Terrain Tools package in the Worldbuilding 3D feature set.

  • Package Manager: Increased the amount of information logged in upm.log at various levels.

  • Package Manager: Optimized Git package download times for repositories using submodules (with Git 2.28.0 or higher installed only).

  • Package Manager: Optimized Git package download times, most notably for repositories with a larger history.

  • Particles: Added a warning when users select the same shader for both the main Material slot and the Trail Material slot. This is because GPU Instanced Mesh particles must not use the same shader for particle geometry and trail geometry.

  • Particles: Added an exception when too much particle data is sent to SetCustomParticleData.

  • Physics: Added icon for Articulation Body Anchor Transform tool.

  • Physics: Added new Physics Profiler metrics.

  • Physics: Added units of measurement to the Articulation Body properties in the scripting documentation.

  • Physics: Improved Articulation Body anchor limit gizmos.

  • Physics: Rearranged the ArticulationBody properties. Moved Damping and Friction after Mass.

  • Prefabs: Added a warning to the PrefabAssetImporter editor if there are SerializeReference missing types within the Prefab. Also disabled applying modifications from the instance in case the Prefab asset contains missing types. Editing the Prefab asset in isolation preserves MissingType information.

  • Prefabs: Disabled editing for missing Prefabs instances.

  • Prefabs: Improved the Hierarchy so that you can see which Prefab instances have non-default overrides. (1323680)

  • Prefabs: Updated documentation for Object.DontDestroyOnLoad

  • Profiler: Added missing memory labels sizes to the memory snapshot format, in order to give real value to the prexisting label list. Api for access this data will be found inside the memory profiler package.

  • Profiler: Added profiler memory stats data. Data is similar to the Profiler Module data found in the Profiler Window

  • Profiler: Added profiler target data to memory snapshot format. Data consists of elements such as Unity version, product name, total gfx memory, total physical memory, etc.

  • Profiler: Encoded managed heap section type inside the snapshot format, for retrieval via the memory profiler package.

  • Profiler: Improved the Memory Profiler module UI to clearly show how the high level memory stats contribute towards the total memory usage.

  • Profiler: Modified native connection reporting for the Memory Profiler in order to properly report connections between Assets.

  • Profiler: Tethered Android devices no longer require manually calling ADB commands in the CLI, in order to be picked up as connection targets by the Editor. Multiple tethered android devices are now supported.

  • Scene/Game View: Added Shortcut Manager entries for "Toggle Selection Outline" and "Toggle Selection Wireframe."

  • Scene/Game View: Extended the PlaceObject method to support SceneView grids and 2D.

  • Scene/Game View: Improved API documentation for Overlays feature, including multiple new code examples.

  • Scene/Game View: Improved the EditorToolContext UI.

  • Scene/Game View: Improved the documentation for EditorTool.

  • Scene/Game View: Improved the documentation for HandleUtility.PickGameObject.

  • Scene/Game View: Refreshed icons for Scene View toolbars.

  • Scripting: Certificate validation callbacks from .Net libraries pass now also previously identified root certificates along (i.e. the full validated chain if any). (1191987)

  • Scripting: Changed the Managed Stripping Level to be minimal for new projects when targeting the IL2CPP backend.

  • Scripting: Enabled user code to build against .NET Standard 2.1 and .NET Framework 4.8.

  • Scripting: Ensure players using the Mono scripting runtime backend always use a JIT (Just-In-Time) friendly set of class libraries, even if the ".NET Standard 2.0" API Compatibility Level is chosen. This provides consistency for Mono players no matter what API Compatibility Level is chosen in the player settings.

  • Scripting: Improved runtime performance of many UnityEngine math scripting APIs when using the IL2CPP scripting back-end: Color, Color32, Math, Matrix4x4, Quaternion, Vector2, Vector2Int, Vector3, Vector3Int, Vector4.

  • Scripting: Improved runtime performance of UnityEngine math scripting APIs (Matrix4x4, Quaternion, Vector2, Vector2Int, Vector3, Vector3Int, Vector4) when using the Mono scripting back-end.

  • Scripting: Improved search UI and indexing.

  • Scripting: Improved the Editor experience for setting up Unity version defines with assembly definition files.

  • Scripting: In this Unity version, you can schedulw managed jobs from non-main control threads.

  • Scripting: Multithreaded asset garbage collection and increased speed by up to 2.5x.

  • Scripting: OnChangedCallback is invoked when elements are duplicated in ReorderableList. (1307386)

  • Scripting: Reduce and optimize regex usage to improve performance

  • Scripting: Renamed ".NET Standard" to ".NET Standard 2.1" in the Api Compatibility Level options.

  • Scripting: Updated C# language version to 9.0 for compilation and IDE's
    We will support a subset of the language features from:
    https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9
    These is the features that we support:

    • Pattern matching enhancements

    • Function pointers

    • Target-typed new expressions

    • Static anonymous functions

    • Target-typed conditional expressions

    • Extension GetEnumerator support for foreach loops

    • Lambda discard parameters

    • Attributes on local functions

    • New features for partial methods.

  • Scripting: CompiliationPipeline.GetAssemblies now correctly includes .NET Compiler Platform (Roslyn) analyzers in ScriptCompilerOptions.

  • Search: Improved asset indexer performances and index size.

  • Search: Improved asset search performance by ~4x.

  • Search: Share the same search debouncing threshold with the Project Browser and the Search window. (1298380)

  • Search: Use a single Search Provider to search for any indexed object.

  • Serialization: Improved the way that SerializeReference handles missing types. Instances where the type is missing are replaced with null. Other instances are editable and if there are fields that previously referred to the missing type which are still null, the missing type is preserved.

  • Serialization: Objects referenced from SerializeReference fields now have stable IDs, which reduces the risk of conflicts when multiple users collaborate on a scene file. Additionally, it also improves support for Undo and Prefab modes, especially when SerializeReference is used inside arrays and lists. In addition, references now come with a new format with backward compatibility support for older assets.

  • Shadergraph: Added View Vector Node doc.

  • Shaders: Improved caching of the Shader import artifacts when a shader is reverted or has no changes after a reimport.

  • Shaders: Reduced memory consumption when loading shaders.

  • Shaders: Removed the fixed shader keyword limits. The number of Global keywords is now limited to UInt32, the number of local shader keywords is now limited to UInt16.

  • Terrain: Improved the worst-case performance while painting on high-resolution (2k x 2k or higher) Terrain heightmaps. (1283138)

  • Terrain: Terrain brushes that sample empty regions at the edge of a terrain now sample the nearest terrain's edge. This corrects brush preview off the edge of a terrain, and corrects the bug of melting terrain edges for the following brushes: Smooth Height, Contrast, Sharpen Peaks, Slope Flatten, Hydrolic, Thermal, Wind, Pinch, Smudge and Twist.

  • Tests: Improved the logging in iOS automation so that existing log messages are clarified, and added new ones.

  • UI: Added a visualization for the raycast padding around a Graphic object.

  • UI: Improved tooltips so that when a tooltip is displayed, hovering another UI control that can display a tooltip makes the new tooltip appear immediately.

  • UI: Reused PropertyFields backing fields when possible.

  • UI: Updated the icons for Terrain's tool selection.

  • UI Toolkit: Added a new RuntimeDefault theme with less overhead for runtime usage.

  • UI Toolkit: Improved UI Toolkit event debugger. Improvements include optimizations, adjustable UI, settings, event and callback filtering, and event replay.

  • UI Toolkit: Improved USS validation to support more complex properties.

  • UI Toolkit: Made performance improvements to reduce the number of managed heap allocations while rendering sprites in the UI Toolkit.

  • UI Toolkit: Modified buttons to be focusable.

  • UI Toolkit: Modified TransitionEvents to be collapsed when relevant.

  • UI Toolkit: Set UIDocument's execution order to -100 to ensure root visual element is created when user's OnEnable runs.

  • UI Toolkit: Usage hints can now be changed on a VisualElement without having to remove it from the hierarchy to help preserve styling and layout.

  • Undo System: Added the Undo history UI.

  • Version Control: Added Checkin and Update confirmation notification.

  • Version Control: Improved load time performance.

  • Version Control: Made stability and performance improvements to the Version Control package (com.unity.collab-proxy).

  • Video: Improved the automatic selection of target material texture properties in VideoPlayer. It detects [MainTexture] attributes, then detects them by the _MainTex naming convention.

  • Virtual Texturing: Updated tile requests to be returned via PopRequests more frequently.

  • Virtual Texturing: Updated InvalidateRegion calls to generate new tile requests in their "importance" order. The importance is defined as a combination of the tile's screen space size and the the number of frames since the tile has been requested. This makes completing tile requests contribute more to the rendering result when InvalidateRegion is called continuously.

  • Web: Updated UnityWebRequest's libCurl backend (used on most platforms).

  • WebGL: Added support for Screen Orientation Locking and Auto-Rotating for mobile browsers which supports the Screen Orientation API.

  • WebGL: Refactored unityInstance.Quit() in UnityLoader.js and call QuitCleanup from both unityInstance.Quit() and Application.Quit().

  • WebGL: Updated WebGL compiler to Emscripten 2.0.19 and removed support for the obsolete asm.js linker target.

  • Windows: Changed Alt + Enter to default to native resolution which makes the image more crisp and reduces the chance of letterboxing.

  • XR: Added support for adding new reference objects at runtime. Added support for ARCore session recording and playback.

  • XR: Removed "Preview" text from UI display element.

API Changes

  • 2D: Added: Added a Vector3Int constructor accepting two integers for x and y, with z set to 0.

  • 2D: Added: Added GetAnimationFrameCount, GetAnimationFrame, GetAnimationTime, SetAnimationFrame and SetAnimationTime to get and change the animation timings for Tiles on the Tilemap.

  • 2D: Added: Added GetTilesRangeCount and GetTilesRangeNonAlloc to get the positions and Tiles between a given start and end positions in a Tilemap.

  • 2D: Added: Added SetTile/s API using a TileChangeData struct to allow users to set a Tile at a position with color and transform at once instead of invoking 3 calls to do so.

  • 2D: Added: Allow user to register for notification when the SpriteRenderer's Sprite property has changed.

  • 2D: Added: New API to query SpriteAtlas information IsIncludedInBuild and GetMasterAtlas.

  • 2D: Added: Support for default sprite mask material in URP and public api method to retrieve the default 2d mask material.

  • Android: Added: Added AndroidJavaObject.CloneReference to enable having multiple references to the same Java object. (1277152)

  • Android: Added: New APIs to manage fast-follow and on-demand delivered asset packs. The APIs wrap Google's PlayCore functionality.

  • Android: Added: TargetDevices player setting, so users can select if they want their Android application to run on all devices, just Android phones, tablets, and TV devices, or just Chrome OS devices.

  • Animation: Changed: Marked obsolete AnimationMixablePlayable.Create(PlayableGraph graph, int inputCount, bool normalizeWeights) due to unused parameter normalizeWeights. Added new method AnimationMixablePlayable.Create(PlayableGraph graph, int inputCount). (1332215)

  • Asset Bundles: Added: Added public API to specify the amount of memory reserved for the shared AssetBundle loading cache.

  • Asset Bundles: Added: New API DownloadHandlerAssetBundle.autoLoadAssetBundle for loading AssetBundles asynchronously from DownloadHandlerAssetBundle.

  • Asset Import: Added: Added removeConstantScaleCurves in Model Importer. (1252606)

  • Asset Import: Added: AssetPostprocessor.OnPreprocessCameraDescription and AssetPostprocessor.OnPreprocessLightDescription.

  • Asset Import: Added: New public methods MonoImporter.SetIcon/GetIcon and PluginImporter.SetIcon/GetIcon.

  • Asset Pipeline: Added: Added a method to the TextureImporter to get the source texture width and height.

  • Asset Pipeline: Added: AssetDatabase.SaveAssetIfDirty() to save a specific asset, rather than making a call to AssetDatabase.SaveAssets().

  • Build Pipeline: Added: Added the BuildOptions.CleanBuildCache flag to force the incremental player build pipeline to do a clean rebuild of everything.

  • Build Pipeline: Added: Callback function BuildPlayerProcessor.PrepareForBuild. This callback can be implemented by users who wish to produce artifacts before the build starts, or to add StreamingAssets to a build without first putting them in the project assets folder.

  • Build Pipeline: Deprecated: PackedAsset.file has been deprecated. Instead, to find the matching report file for a particular asset the recommended way is to do a filename lookup in the report.

  • Burst: Added: Intrinsics: Neon - Added support for basic vld1 APIs.

  • Editor: Added: API on the QueryEngine to better control filtering.

  • Editor: Added: Callback to run validation step on materials using a ShaderGUI: `ValidateMaterial(Material).

  • Editor: Added: Introduced Control modifier key to ShortcutManager.

  • Editor: Added: Make DraganDrop API to allow user to cusmize drop in legacy window (ProjectBrowser, hierarchy, sceneview).

  • Editor: Added: Making hyperLinkClicked public. It is now possible to subscribe to the event EditorGUI.hyperLinkClicked to handle click on a TextField with <;a>;<;/a>; tag.

  • Editor: Changed: AndroidArchitecture.x86 and AndroidArchitecture.x86_64 have been renamed with capital X's. They are now AndroidArchitecture.X86 and AndroidArchitecture.X86_64.

  • Editor: Changed: Decorated EditorGUIUtility.GetIconForObject/SetIconForObject obj parameter with [NotNull].

  • Editor: Changed: PlayerSettings BuildTargetGroup dependent properties now receive NamedBuildTarget in the API.

  • Editor: Changed: Visibility of EditorGUIUtility.GetIconForObject/SetIconForObject from internal to public.

  • Editor: Obsoleted: Obsoleted internal method MonoImporter.CopyMonoScriptIconToImporters with [Obsolete] and a WarningMessage when called.

  • GI: Added: Added two new callbacks. Unity calls LightProbes.needsRetetrahedralization whenever the current registered probes and tetrahedralization are out of sync. Unity calls LightProbes.tetrahedralizationCompleted after (re-)tetrahedralization is done.

  • GI: Added: Added LightingSettings.lightmapCompression, which makes it possible for users to select a quality level for lightmap compression.

  • GI: Added: Made it possible to opt out of generating a scene's automatic ambient probe and default reflection probe.

  • GI: Deprecated: Deprecated LightmapSettings.textureCompression and replaced it with LightingSettings.lightmapCompression.

  • Graphics: Added: "Expand/Collapse All" buttons to Rendering Debugger window menu.

  • Graphics: Added: A new API for compiling shaders from editor code and obtaining reflection info was added to ShaderData.Pass.

  • Graphics: Added: A new player setting "Upload Cleared Texture Data" was added to revert to the old default behavior of uploading initialised data to video memory when creating a texture from script.

  • Graphics: Added: Added a blitter utility class. Moved from HDRP to RP core.

  • Graphics: Added: Added a class for drawing shadow cascades: UnityEditor.Rendering.ShadowCascadeGUI.DrawShadowCascades.

  • Graphics: Added: Added a realtime 2D texture atlas utility classes. Moved from HDRP to RP core.

  • Graphics: Added: Added an option to change the visibilty of the Volumes Gizmos (Solid, Wireframe, Everything), available at Preferences >; Core Render Pipeline.

  • Graphics: Added: Added class for drawing shadow cascades UnityEditor.Rendering.ShadowCascadeGUI.DrawShadowCascades.

  • Graphics: Added: Added CommandBuffer.SetGlobalInteger().

  • Graphics: Added: Added common include file for meta pass functionality. (1211436)

  • Graphics: Added: Added Editor window that allow showing an icon to browse the documentation.

  • Graphics: Added: Added Fallback Material to DrawSettings.

  • Graphics: Added: Added helper for Volumes (Enable All Overrides, Disable All Overrides, Remove All Overrides).

  • Graphics: Added: Added IndentLevelScope (for VolumeComponentEditor child class only) to handle indentation of the field and the checkbox.

  • Graphics: Added: Added new API function inside DynamicResolutionHandler and new settings in GlobalDynamicResolutionSettings to control low res transparency thresholds. This should help visuals when the screen percentage is too low.

  • Graphics: Added: Added new API functions with no side effects to [DynamicResolutionHandler](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@7.1/api/UnityEngine.Rendering.DynamicResolutionHandler.html) to retrieve resolved dynamic resolution scale (DRS) and to apply DRS on a size.

  • Graphics: Added: Added new API to customize the rtHandleProperties of a particular RTHandle. This is a temporary work around to assist with viewport setup of Custom post process when dealing with DLSS or TAAU.

  • Graphics: Added: Added new API to replace the use cases of the ShadowAuto, DepthAuto and VideoAuto GraphicsFormat enum members (which will be deprecated in the future).

  • Graphics: Added: Added new utils functions to access and set data on SphericalHarmonicsL2.

  • Graphics: Added: Added OverridablePropertyScope (for VolumeComponentEditor child class only) to handle the Additional Property, the override checkbox and disable display and decorator attributes in one scope.

  • Graphics: Added: Added project-wide settings for RenderPipeline with RenderPipelineGlobalSettings.

  • Graphics: Added: Added some getters for the Streaming Virtual Texturing settings.

  • Graphics: Added: Added the method DrawHeadersto the [VolumeComponentsEditors](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@8.0/api/UnityEditor.Rendering.VolumeComponentEditor.html).

  • Graphics: Added: Added UNITY_PREV_MATRIX_M and UNITY_PREV_MATRIX_I_M shader macros to support instanced motion vector rendering.

  • Graphics: Added: Added VolumeComponentMenuForRenderPipelineAttribute to specify a volume component only for certain RenderPipelines.

  • Graphics: Added: Added IAdditionalData interface to identify the additional datas on the core package.

  • Graphics: Added: Allowing Rendering Layer Names to not collide in UI. Includes a new API RenderPipelineAsset.prefixedRenderingLayerMaskNames to fetch a unique list of rendering layer mask names for UI needs.

  • Graphics: Added: AssetPostprocessor.OnPostprocessTexture3D ( Texture3D )
    AssetPostprocessor.OnPostprocessTexture2DArray ( Texture2DArray ).

  • Graphics: Added: Automatic spaces to enum display names used in Rendering Debugger and add support for InspectorNameAttribute.

  • Graphics: Added: Calculating correct rtHandleScale by considering the possible pixel rounding when DRS is on.

  • Graphics: Added: DebugUI.Flags.IsHidden to allow conditional display of widgets in Rendering Debugger.

  • Graphics: Added: DebugUI.Foldout.isHeader property to allow creating full-width header foldouts in Rendering Debugger.

  • Graphics: Added: DefaultFormat is extended with the new DepthStencil and Shadow values. You can use SystemInfo.GetGraphicsFormat with these new values to get the default GraphicsFormat for a DepthStencil or Shadow RenderTexture on a platform.

  • Graphics: Added: Documentation links to Light Sections.

  • Graphics: Added: Introduce the RendererList API.

  • Graphics: Added: Made GetQualitySettings() method public. This method is used by internal code to implement undo functionality in the Unity Editor.

  • Graphics: Added: Method to generate a Texture2D of 1x1 with a plain color.

  • Graphics: Added: Mouse & touch input support for Rendering Debugger runtime UI, and fix problems when InputSystem package is used.

  • Graphics: Added: New API functions inside DynamicResolutionHandler to get mip bias. This allows dynamic resolution scaling applying a bias on the frame to improve on texture sampling detail.

  • Graphics: Added: New API in DynamicResolutionHandler to handle multicamera rendering for hardware mode. Changing cameras and resetting scaling per camera should be safe.

  • Graphics: Added: New API to detect when Unity renders with a different type of Render Pipeline : RenderPipelineManager.activeRenderPipelineTypeChanged.

  • Graphics: Added: New Depth/Stencil formats to GraphicsFormat: D16_UNorm, D24_UNorm, D24_UNorm_S8_UInt, D32_SFloat, D32_SFloat_S8_UInt.

  • Graphics: Added: New draw API as a set of Graphics.RenderX() functions. All the old draw API Graphics.DrawX() functions work as before but many of them can be easily converted to the new API to gain from the added functionality. Some added functionality of the new API:

    • Support custom per-instance data for RenderMeshInstanced(), per-instance motion vector and rendering layer mask definitions, and easy light probe setup

    • Support for multi-command indirect draws & future proofing for hardware implementation on supported platforms

    • Custom world bounds for all mesh rendering (e.g. to support mesh deformation in vertex shaders).

  • Graphics: Added: New methods on CoreEditorDrawers, to allow adding a label on a group before rendering the internal drawers.

  • Graphics: Added: New SRPLensFlareData Asset.

  • Graphics: Added: New utility function GraphicsFormatUtility.GetDepthStencilFormat. This function lets you easily select the right format on each platform for a certain amount of depth and/or stencil bits.

  • Graphics: Added: Red, Green, Blue Texture2D on CoreEditorStyles.

  • Graphics: Added: Reminder if the data of probe volume might be obsolete.

  • Graphics: Added: Rendering.SupportedRenderingFeatures.reflectionProbesBlendDistance to provide SRPs with the ability to enable the blend distance fields in the ReflectionProbe inspector.

  • Graphics: Added: RenderTexture.depthStencilFormat and RenderTextureDescriptor.depthStencilFormat properties. You can now set the exact Depth/Stencil buffer format on a RenderTexture using the depthStencilFormat property. Before, each platform backend would decide what format is used without any control or visibility. The existing APIs that take a number of depth bits will still select the same format as before on each backend. When upgrading RenderTexture assets from an older project, all Depth/Stencil buffers that had more than 16bits will be converted to D24_UNorm_S8_UInt. On high end platforms, this could result in 24bits for depth instead of 32bits resulting in visual artifacts. You need to change the Depth/Stencil format on the RenderTexture asset if that is the case.

  • Graphics: Added: Sampling noise to probe volume sampling position to hide seams between subdivision levels.

  • Graphics: Added: ScriptableRenderContext.SubmitForRenderPassValidation added to validate whether RenderPass API calls inside the context are eligible for execution.

  • Graphics: Added: SpeedTree8MaterialUpgrader, which provides utilities for upgrading and importing SpeedTree 8 assets to scriptable render pipelines.

  • Graphics: Added: Support for additional properties for Volume Components without custom editor.

  • Graphics: Added: Support for Lens Flare Data Driven (from images and Procedural shapes), on HDRP.

  • Graphics: Added: SystemInfo. supportsMultisampleResolveDepth to query platforms Multisample resolve of depth attachments support.

  • Graphics: Added: This PR adds a API function checking is all the systems of an Visual Effect are sleeping.

  • Graphics: Added: Unified the scope of the [Material Editor](https://docs.unity3d.com/2021.2/Documentation/ScriptReference/MaterialEditor.html) headers.

  • Graphics: Added: Unity.External.NVIDIA APIs to expose NVIDIA-specific plugin functionality (for controlling DLSS and other features). These APIs are available by enabling the NVIDIA native package on the package manager.

  • Graphics: Added: ReflectionProbe.UpdateCachedState() to update the internal data related to reflection probe used by the culling system.

  • Graphics: Changed: Exposed UseSceneFiltering API as public.

  • Graphics: Changed: Renamed Texture2D.Resize to Reinitialize. (1312670)

  • Graphics: Changed: RenderBufferStoreActions.Resolve and RenderBufferStoreActions.StoreAndResolve can now be set using the RenderTarget API.

  • Graphics: Changed: VFX.VFXManager.PrepareCamera and VFX.VFXManager.ProcessCameraCommand now can take an optional parameter for camera XR settings.

  • Graphics: Deprecated: Deprecated ShadowAuto, DepthAuto and VideoAuto graphics formats and introduce a new alternative api. (See the Upgrade Guide for details.).

  • Graphics: Deprecated: Most of BatchRenderGroup API will be fully deprecated in 2022.2 (and replaced by a new API).

  • Graphics: Obsoleted: ReflectionProbe.defaultReflectionSet has been deprecated in favor of ReflectionProbe.defaultReflectionTexture.

  • Graphics: Removed: Removed GraphicsFormatUtility.GetDepthStencilFormat(int) after being public for two alpha releases.

  • HDRP: Added: "Conservative" mode for shader graph depth offset.

  • HDRP: Added: Ability to animate many physical camera properties with Timeline.

  • HDRP: Added: Ability to control focus distance either from the physical camera properties or the volume.

  • HDRP: Added: Added a better support for LODs in the ray tracing acceleration structure.

  • HDRP: Added: Added a built-in custom pass to draw object IDs.

  • HDRP: Added: Added a complete solution for volumetric clouds for HDRP including a cloud map generation tool.

  • HDRP: Added: Added a custom post process injection point AfterPostProcessBlurs executing after depth of field and motion blur.

  • HDRP: Added: Added a dialog box when you import a Material that has a diffusion profile to add the diffusion profile to global settings.

  • HDRP: Added: Added a Falloff Mode (Linear or Exponential) in the Density Volume for volume blending with Blend Distance.

  • HDRP: Added: Added a Force Forward Emissive option for Lit Material that forces the Emissive contribution to render in a separate forward pass when the Lit Material is in Deferred Lit shader Mode.

  • HDRP: Added: Added a minimum motion vector length to the motion vector debug view.

  • HDRP: Added: Added a parameter to control the vertical shape offset of the volumetric clouds. (1358528)

  • HDRP: Added: Added a property on the HDRP asset to allow users to avoid ray tracing effects running at too low percentages. (1342588)

  • HDRP: Added: Added a property to control the fallback of the last bounce of a RTGI, RTR, RR ray to keep a previously existing side effect on user demand.

  • HDRP: Added: Added a setting in the HDRP asset to change the Density Volume mask resolution of being locked at 32x32x32 (HDRP Asset >; Lighting >; Volumetrics >; Max Density Volume Size).

  • HDRP: Added: Added a shortcut to HDRP Wizard documentation.

  • HDRP: Added: Added a slider that controls how much the volumetric clouds erosion value affects the ambient occlusion term.

  • HDRP: Added: Added a slider to control the fallback value of the directional shadow when the cascade have no coverage.

  • HDRP: Added: Added an example in the documentation that shows how to use the accumulation API for high quality antialiasing (supersampling).

  • HDRP: Added: Added an option to have double sided GI be controlled separately from material double-sided option.

  • HDRP: Added: Added an option to render screen space global illumination in half resolution to achieve real-time compatible performance in high resolutions. (1353727)

  • HDRP: Added: Added browsing of the documentation of Compositor Window.

  • HDRP: Added: Added color and intensity customization for Decals.

  • HDRP: Added: Added dependency to mathematics and burst, HDRP now will utilize this to improve on CPU cost. First implementation of burstified decal projector is here.

  • HDRP: Added: Added info box when low resolution transparency is selected, but its not enabled in the HDRP settings. This will help new users find the correct knob in the HDRP Asset.

  • HDRP: Added: Added light unit slider for automatic and automatic histrogram exposure limits.

  • HDRP: Added: Added new AOV APIs for overriding the internal rendering format, and for outputing the world space position.

  • HDRP: Added: Added new API in CachedShadowManager.

  • HDRP: Added: Added pivot point manipulation for Decals (inspector and edit mode).

  • HDRP: Added: Added shader graph unit test for IsFrontFace node.

  • HDRP: Added: Added slides to control the shape noise offset.

  • HDRP: Added: Added support for internal plugin materials and HDSubTarget with their versioning system.

  • HDRP: Added: Added support for reflection probes as a fallback for ray traced reflections. (1338644)

  • HDRP: Added: Added support for the camera bridge in the graphics compositor

  • HDRP: Added: Added support for Unlit shadow mattes in Path Tracing. (1335487)

  • HDRP: Added: Added support of motion vector buffer in custom postprocess.

  • HDRP: Added: Added TargetMidGrayParameterDrawer.

  • HDRP: Added: Added the receiver motion rejection toggle to RTGI (1330168)

  • HDRP: Added: Added the support of volumetric clouds for baked and realtime reflection probes.

  • HDRP: Added: Added three animation curves to control the density, erosion, and ambient occlusion in the custom submode of the simple controls.

  • HDRP: Added: Added tooltips for content inside the Rendering Debugger window.

  • HDRP: Added: Added two toggles to control occluder rejection and receiver rejection for the ray traced ambient occlusion (1330168)

  • HDRP: Added: Added UV manipulation for Decals (edit mode).

  • HDRP: Added: Added ValidateMaterial callbacks to ShaderGUI.

  • HDRP: Added: Added View Bias for mesh decals.

  • HDRP: Added: Added warning for when a light is not fitting in the cached shadow atlas and added option to set maximum resolution that would fit.

  • HDRP: Added: API to allow OnDemand shadows to not render upon placement in the Cached Shadow Atlas.

  • HDRP: Added: Area Light support for Hair and Fabric master nodes.

  • HDRP: Added: Deferred shading debug visualization.

  • HDRP: Added: Documentation for volumetric clouds.

  • HDRP: Added: Exposed update upon light movement for directional light shadows in UI.

  • HDRP: Added: Global settings check in Wizard.

  • HDRP: Added: Help URL for volumetric clouds override.

  • HDRP: Added: Lens Flare Samples.

  • HDRP: Added: Localization on Wizard window.

  • HDRP: Added: LTC Fitting tools for all BRDFs that HDRP supports.

  • HDRP: Added: Mixed RayMarching/RayTracing mode for RTReflections and RTGI.

  • HDRP: Added: New checkbox to enable mip bias in the Dynamic Resolution HDRP quality settings. This allows dynamic resolution scaling applying a bias on the frame to improve on texture sampling detail.

  • HDRP: Added: New control slider on RTR and RTGI to force the LOD Bias on both effects.

  • HDRP: Added: Path tracing support for AxF material.

  • HDRP: Added: Path tracing support for stacklit material.

  • HDRP: Added: Scale Mode setting for Decals.

  • HDRP: Added: Speed Tree 8 shader graph as default Speed Tree 8 shader for HDRP.

  • HDRP: Added: Support for Fabric material in Path Tracing.

  • HDRP: Added: Support for lighting full screen debug mode in automated tests.

  • HDRP: Added: Support for mip bias override on texture samplers through the HDAdditionalCameraData component.

  • HDRP: Added: Support for multi volumetric cloud shadows.

  • HDRP: Added: Support for screen space shadows (directional and point, no area) for shadow matte unlit shader graph.

  • HDRP: Added: Support for surface gradient based normal blending for decals.

  • HDRP: Added: Support for tessellation for all master node in shader graph.

  • HDRP: Added: Support for volumetric clouds in planar reflections.

  • HDRP: Added: Support of interpolators for SV_POSITION in shader graph.

  • HDRP: Added: Toggle to render the volumetric clouds locally or in the skybox.

  • HDRP: Added: Way for fitting a probe volume around either the scene contents or a selection.

  • IL2CPP: Removed: Removed IIl2CppProcessor interface.

  • IL2CPP: Removed: Removed IUnityLinkerProcessor.OnBeforeRun and IUnityLinkerProcessor.OnAfterRun interface methods.

  • iOS: Added: Added iOS.Device.iosAppOnMac flag to check if app built for iOS is running on Mac equipped with Apple Silicon chip.

  • iOS: Changed: EditorUserBuildSettings.symlinkLibraries renamed to EditorUserBuildSettings.symlinkSources, both Android and iOS will use this property.

  • iOS: Deprecated: ScreenOrientation.Landscape as it was a synonym for ScreenOrientation.LandscapeLeft, and not "some Landscape orientation", which is confusing. (1320447)

  • Linux: Added: LinuxServer value added to RuntimePlatform enum.

  • macOS: Added: OSXServer value added to RuntimePlatform enum.

  • Package: Added: (Recorder) Added public API for AOVRecorderSettings.

  • Package Manager: Added: Added a new AddAndRemove method to the UnityEditor.PackageManager.Client API which can be used to add and/or remove multiple packages to/from the project in a single operation.

  • Physics: Added: Expose ArticulationBody.collisionDetectionMode property to set various collision detection modes, like Discrete, Continuous and etc.

  • Physics: Added: Expose the improved patch friction mode that will distribute the normal force over the friction anchors and thus match analytical results closer.

  • Physics: Added: Exposed a new property in RaycastHit called colliderInstanceID, which returns the instance ID of the collider the ray collided with.

  • Physics: Added: ForceMode argument to ArticulationBody.Add force and related functions.

  • Physics: Added: Property for retrieving ArticulationBody components during a collision event. Articulation bodies can be retrieved by Collision.articulationBody.

  • Physics: Added: Property for retrieving either ArticulationBody or Rigidbody components to collision events under Collision.body.

  • Plugins: Added: New IUnityLog interface for message logging to Unity console and log in native plugins.

  • Plugins: Added: New IUnityProfilerV2 interface with Profiler Counters API in native plugins.

  • Prefabs: Added: Exposed FindAllInstancesOfPrefab to scripting.

  • Prefabs: Added: New API for source prefab apply/revert context menu hook on a property field.

  • Prefabs: Added: New API to define a C# scoped region in which prior to every inspector/editor imgui property being drawn a callback can be called with the associated Rect and SerializedProperty.

  • Prefabs: Changed: The classes PrefabStage and PrefabStageUtility have been moved out of the experimental namespace UnityEditor.Experimental.SceneManagement to the namespace UnityEditor.SceneManagement, leaving nothing left in UnityEditor.Experimental.SceneManagement. The move is supported by the API updater. Note that the Timeline package needs to be at least version 1.3.0 to compile with this change all later versions can be fixed by the API Updater.

  • Profiler: Added: Added Profiler.EmitSessionMetaData api to pass generic metadata to the Profiler associated with profiling session.

  • Profiler: Added: API to create GPU sampling ProfilerMarker.

  • Profiler: Added: New C# custom Categories API.

  • Profiler: Changed: Added GPU profiling capabilities to ProfilerRecorder API.

  • Scripting: Added: Added FileUtil.GetPhysicalPath and FileUtil.GetLogicalPath methods to convert logical paths to physical and vice versa.

  • Scripting: Added: APIs for the AsyncReadManager, to enable chaining and canceling of reads.

  • Scripting: Added: Component.GetComponentInParent(Type t, bool includeInactive) method to match GameObject. (1331778)

  • Search: Added: Added SearchService.ShowPicker API to pick any search item result.

  • Serialization: Added: Expand SerializationUtility class to allow checking for missing type instances and removing them from a SerializeReference Host.

  • Serialization: Added: New SerializationUtility class for access to Managed Reference Ids.

  • Serialization: Added: Support "get" on SerializedProperty.managedReferenceValue.

  • Services: Added: Added new com.unity.services.core package that is used for common behaviour of Game Service packages

  • Services: Changed: Updating analytics dashboard to point to new location.

  • Shadergraph: Added: Added LinearGrey and Red as default texture mode options for [Texture2D properties](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/api/UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty.DefaultType.html?q=%20linearGrey).

  • Shadergraph: Added: Added a checkbox to toggle theDisable Global Mip Bias setting for [Sample Texture 2D](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Sample-Virtual-Texture-Node.html) and Sample Texture 2D array nodes.

  • Shadergraph: Added: Added a new [Dropdown Node](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Sub-Graph-Dropdown-Node.html) that makes it possible to control compile time branching in Sub Graphs from their parent graph.

  • Shadergraph: Added: Added a new [target](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Graph-Target.html) for the Built-In Render Pipeline which includes Lit and Unlit sub-targets.

  • Shadergraph: Added: Added a ShaderGraph animated preview framerate throttle.

  • Shadergraph: Added: Added a [Split Texture Transform Node](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Split-Texture-Transform-Node.html) which makes it possible to use or override a texture's tiling and offset values.

  • Shadergraph: Added: Added a [Tiling and Offset Node](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Tiling-And-Offset-Node.html) for modifying Texture2D input.

  • Shadergraph: Added: Added a [Calculate Level Of Detail Texture 2D](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Calculate-Level-Of-Detail-Texture-2D-Node.html) node, which maps to the HLSL intrinsic functions CalculateLevelOfDetail and CalculateLevelOfDetailUnclamped.

  • Shadergraph: Added: Added a [Gather Texture 2DNode ](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Gather-Texture-2D-Node.html) for retrieving four samples (red component only) for the bilinear interpolation of Texture2D samples.

  • Shadergraph: Added: Added ability to define custom vertex-to-fragment interpolators.

  • Shadergraph: Added: Added an HLSL file that implements a version of the Unity core LODDitheringTransition function for crossfading between levels of detail.

  • Shadergraph: Added: Added Categories to the [Blackboard](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Blackboard.html), which makes it easier to organize shader [properties](https://docs.unity3d.com/Manual/SL-Properties.html) and [Keywords](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Keywords.html) in the Shader Graph tool. The Material Inspector for URP and HDRP also includes these categories for materials created with Shader Graphs.

  • Shadergraph: Added: Added custom interpolator documentation

  • Shadergraph: Added: Added custom interpolator thresholds on Shader Graph project settings page.

  • Shadergraph: Added: Added information about selecting and unselecting items to the Blackboard article.

  • Shadergraph: Added: Added many node synonyms for the Create Node search so that it's easier to find nodes.

  • Shadergraph: Added: Added selection highlight and picking shader passes for URP target.

  • Shadergraph: Added: Added stage control functionality for ShaderGraph [Keywords](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Keywords.html) to make it possible to have fragment-only or vertex-only keywords.

  • Shadergraph: Added: Added Tessellation Option to PositionNode settings, to provide access to the pre-displaced tessellated position.

  • Shadergraph: Added: Added the [Eye Index](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Eye-Index-Node.htm), [Instance ID](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Instance-ID-Node.html), and [Vertex ID](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Vertex-ID-Node.html) nodes to Shader Graph.

  • Shadergraph: Added: Added visible errors for invalid stage capability connections to shader graph.

  • Shadergraph: Added: Added [SpeedTree Sub Graph Assets](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/SpeedTree8-SubGraphAssets.html) to support SpeedTree 8: SpeedTree8Wind, SpeedTree8ColorAlpha, and SpeedTree8Billboard.

  • Shadergraph: Added: Added [Branch On Input Connection](https://docs.unity.cn/Packages/com.unity.shadergraph@12.0/manual/Branch-On-Input-Connection-Node.html node. This node supports conditional branching in Sub Graphs.

  • Shadergraph: Added: Added Dropdown node to each dropdown property for configuring branch control.

  • Shadergraph: Added: Added Sprite option to Main Preview, which is similar to Quad but does not allow rotation. Sprite is used as the default preview for URP Sprite shaders.

  • Shadergraph: Added: Added Use Custom Binding option to properties. When this option is enabled, you can connect a property to a [Branch On Input Connection](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/manual/Branch-On-Input-Connection-Node.html) node.

  • Shadergraph: Added: Adding control of anisotropic settings on inline Sampler state nodes in ShaderGraph.

  • Shadergraph: Added: It is now possible to mark textures as \[MainTexture\] and colors as \[MainColor\].

  • Shadergraph: Added: The [Texture2D](https://docs.unity3d.com/Packages/com.unity.shadergraph@12.0/api/UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty.DefaultType.html) Bump option is now called Normal Map, and properties with this option enabled take the [NormalMap] tag.

  • Shaders: Added: Added a missing API to check shader compilation warnings.
    Added a missing API to get information about individual shaders. (1340374)

  • Shaders: Added: Added UnityEngine.Rendering.GlobalKeyword struct to represent keywords in the global keyword space.
    Added UnityEngine.Rendering.LocalKeyword struct to represent keywords in the local keyword space.
    Added UnityEngine.Rendering.LocalKeyword struct to represent the keyword space of a particular shader or compute shader.
    Added ComputeShader.enabledKeywords and Material.enabledKeywords to query or set all enabled keywords simultaneously.
    Added ComputeShader.keywordSpace and Shader.keywordSpace to query the local keyword space of the corresponding shader.
    Added optimized Material.EnableKeyword, Material.DisableKeyword, Material.IsKeywordEnabled, ComputeShader.EnableKeyword, ComputeShader.DisableKeyword and ComputeShader.IsKeywordEnabled overloads that work with the new LocalKeyword struct.
    Added optimized CommandBuffer.EnableKeyword, CommandBuffer.DisableKeyword, Shader.EnableKeyword, Shader.DisableKeyword and Shader.IsKeywordEnabled overloads that work with the new GlobalKeyword struct.
    Added Shader.enabledGlobalKeywords property to query the global keyword state.
    Added Shader.globalKeywords property to query the existing global keywords.

  • Shaders: Added: CommandBuffer.EnableKeyword,CommandBuffer.DisableKeyword can now be used to enable a local shader keyword.

  • Shaders: Added: LocalKeyword.isOverridable property to check whether a given local shader keyword can be overridden by global shader keyword state.

  • Shaders: Added: LocalKeyword.type can now be used to understand why the local shader keyword was added to the local keyword space of a shader or compute shader.

  • Shaders: Added: Material.SetKeyword, ComputeShader.SetKeyword, Shader.SetKeyword and CommandBuffer.SetKeyword can now be used to set the shader keyword state directly.

  • Shaders: Added: UnityEngine.Rendering.ShaderKeywordType Plugin is a new type for keywords registered by shader compiler plugins.

  • Shaders: Deprecated: ShaderKeyword.GetGlobalKeywordName, ShaderKeyword.GetName and ShaderKeyword.GetKeywordType.

  • Terrain: Added: Added DetailPrototype.NoiseSeed and its GUI in terrain Detail wizards, so that the random seed for detail object placement can be specified. (1291809)

  • Terrain: Added: Added TerrainData.ComputeDetailInstanceTransforms that returns an array of DetailInstanceTransform structs containing the exact same transforms of details that Unity uses for rendering.

  • Terrain: Changed: IOnInspectorGUI ShowBrushGUI overloads removed and replaced with a single ShowBrushGUI call with default parameters.

  • Terrain: Changed: TerrainAPI namespace is no longer part of an experimental namespace and has been renamed TerrainTools.

  • Terrain: Changed: TerrainPaintTool GetDesc changed to GetDescription.

  • Terrain: Changed: TerrainUtility moved to UnityEngine.TerrainUtils namespace.

  • Terrain: Changed: TerrainUtility.TerrainMap moved to UnityEditor.TerrainUtils.TerrainMap. TerrainMap.TileCoord moved to UnityEditor.TerrainUtils.TerrainTileCoord.

  • Terrain: Changed: UnityEditor.TerrainAPI.TerrainPaintUtilityEditor.BrushPreview changed to UnityEditor.TerrainTools.TerrainBrushPreviewMode.

  • UI: Added: GetPersistentListenerState added to UnityEvent.

  • UI Toolkit: Added: Added visualTreeAssetSource property to VisualElement to allow identifying the VisualTreeAsset a visual tree was cloned from.

  • UI Toolkit: Added: Animated drag and drop support to ListView. Use reorderMode property.

  • UI Toolkit: Added: DestroyItem callback to ListView to have a counterpart for makeItem.

  • UI Toolkit: Added: Display options to ListView: showAddRemoveFooter, showFoldoutHeader, headerTitle.

  • UI Toolkit: Added: Expose ScrollView.mode property.

  • UI Toolkit: Added: New public UI Toolkit APIs:

    • Dropdownfield.choices

    • BasePopupField.choices

    • MaskField.choices

    • MaskField.choicesMasks.

  • UI Toolkit: Added: Tool for converting assets created with the package to use them without the package installation, and to convert them back to package versions.

  • UI Toolkit: Added: VirtualizationMethod property to collection views to allow to change between fixed height and dynamic height virtualization.

  • UI Toolkit: Changed: ListView's itemHeight is now a float and was renamed to fixedItemHeight to enforce the fact that it is only used with FixedHeight virtualization method.

  • UI Toolkit: Changed: ListView's Refresh() was split into RefreshItems() which simply rebinds reused items and Rebuild() which recreates all items from scratch.

  • UI Toolkit: Deprecated: CurveField.borderUssClassName and GradientField.borderUssClassName are now deprecated since the related visual element is not required to render a border anymore.

  • UI Toolkit: Deprecated: Deprecated OnKeyDown method in ListView. Use the event system instead, see SendEvent.

  • UI Toolkit: Obsoleted: ListView's onItemChosen and onSelectionChanged are now obsolete.

  • Universal: Added: 2D Light Texture Node. A Shader Graph node that enable sampling of the Light Textures generated by the 2D Renderer in a lit scene.

  • Universal: Added: Added View Vector node to mimic old behavior of View Direction node in URP.

  • Universal: Added: Depth and DepthNormals passes to particles shaders.

  • Universal: Added: Enabled deferred renderer in UI.

  • Universal: Added: Fixed an error where multisampled texture being bound to a non-multisampled sampler in XR. (1297013)

  • Universal: Added: SpeedTree 8 Shader Graph but did not set it as the default when importing or upgrading Speed Tree 8 assets. Because URP doesn't yet support per-material culling, this Shader Graph does not yet behave in the same way as the existing handwritten SpeedTree 8 shader for URP.

  • Universal: Added: Support for light layers, which uses Rendering Layer Masks to make Lights in your Scene only light up specific Meshes.

  • Universal: Added: Support for SSAO in Particle and Unlit shaders.

  • Universal: Added: _SURFACE_TYPE_TRANSPARENT keyword to URP shaders.

  • URP: Added: "Allow Material Override" option to Lit and Unlit ShaderGraph targets. When checked, allows Material to control the surface options (transparent/opaque, blend mode, etc).

  • URP: Added: Added a help button on material editor to show the shader documentation page.

  • URP: Added: Added GetUniversalAdditionalLightData, a method that returns the additional data component for a given light or create one if it doesn't exist yet.

  • URP: Added: Added Lights 2D to the Light Explorer window.

  • URP: Added: Added Motion Vector render pass for URP.

  • URP: Added: Added Render Settings Converter to the Render Pipeline Converter, this tool creates and assigns URP Assets based off rendering settings of a Builtin project.

  • URP: Added: Added support for default sprite mask shaders for the 2D Renderer in URP.

  • URP: Added: Blending and box projection for reflection probes.

  • URP: Added: Decal support. This includes new Decal Projector component, Decal renderer feature and Decal shader graph.

  • URP: Added: Fixed incorrect shadow fade in deferred rendering mode.

  • URP: Added: Light cookies support to directional, point and spot light. Directional light cookie is main light only feature.

  • URP: Added: New UI for Render Pipeline Converters. Used now for Built-in to Universal conversion.

  • URP: Added: New URP Debug Views under Window/Analysis/Rendering Debugger.

  • URP: Added: Optional Depth Priming. Allows the forward opaque pass of the base camera to skip shading certain fragments if they don't contribute to the final opaque output.

  • URP: Added: Possibility to rename light layer values.

  • URP: Added: Sections on Light Inspector.

  • URP: Added: Store Actions' option that enables bandwidth optimizations on mobile GPU architectures.

  • URP: Added: Support for controlling Volume Framework Update Frequency in UI on Cameras and URP Asset as well as through scripting.

  • URP: Added: Two new URP specific scene templates, Basic which has a camera and directional light, then Standard which has the addition of a global volume with basic post effects setup.

  • URP: Added: URP global setting for stripping off shader variants.

  • URP: Added: URP global setting for stripping post processing shader variants.

  • URP: Added: URP Global Settings Asset to the Graphics Settings - a common place for project-wide URP settings.

  • URP: Added: VFX: Basic support of Lit output.

  • URP: Added: VFX: Fix light cookies integration.

  • URP: Added: XR: Added Late Latching support to reduce VR latency (Quest).

  • URP: Changed: Reorder camera inspector to be in the same order as HDRP.

  • Version Control: Added: VCS support can now be added to Unity with managed code only as opposed to implementing native plugin. See UnityEditor.VersionControl.VersionControlObject and related classes.

  • VFX Graph: Added: Added HDRP Decal output context.

  • VFX Graph: Added: Added Is Inside subgraph into VFX Graph additions package.

  • VFX Graph: Added: Added new setting in "Preferences ->; Visual Effects" to control the fallback behavior of camera buffers from MainCamera node when the main camera is not rendered.

  • VFX Graph: Added: Added support for Texture2D Arrays in Flipbooks.

  • VFX Graph: Added: Material Offset setting in inspector of the rendered outputs.

  • VFX Graph: Added: Motion vectors enabled for particle strips.

  • VFX Graph: Added: New tool : Signed Distance Field baker.

  • VFX Graph: Added: New tool to help set VFX Bounds.

  • VFX Graph: Added: Placement option (Vertex, Edge, Surface) in Sample Mesh & Skinned Mesh, allows triangle sampling.

  • VFX Graph: Added: Provide explicit access to spawnCount in graph

  • VFX Graph: Added: Restore "Exact Fixed Time Step" option on VisualEffectAsset.

  • VFX Graph: Added: Sample vertices of a transformed skinned mesh with Position (Skinned Mesh) and Sample Skinned Mesh operator.

  • VFX Graph: Added: Structured Graphics Buffer support as exposed type

  • VFX Graph: Added: Support 2D Renderer in URP for Unlit.

  • VFX Graph: Added: Support of direct link event to initialize context (which support several event within the same frame)

  • VFX Graph: Added: The VFX editor automatically attach to the current selection if the selected gameobject uses the currently edited VFX asset.

  • VFX Graph: Added: Two new buttons are available in the editor's tool bar. One will display a popup panel to handle attachement and one to lock/unlock the current attachement.

  • Video: Added: Advanced video encoding controls for H.264 (for Windows only) and VP8.

  • Windows: Added: WindowsServer value added to RuntimePlatform enum.

  • XR: Added: New API to the XRMeshSubsystem which allows a transform to be associated with each mesh. This provides a potential optimization for plugins that include a transform with each mesh, allowing them to avoid transforming each vertex into session-space.

  • XR: Removed: Removed the Windows XR SDK Plug-in from Unity. Microsoft now supports Windows MR devices using OpenXR in Unity 2021, and recommends using Unity's OpenXR plugin.

Changes

  • 2D: Allowed non-public fields with the SerializeField attribute as custom fields for RuleTile.

  • 2D: Changed some PSDImporter settings to use checkboxes instead of drop-down menus.

  • 2D: Replaced usage of Triangle.Net with in house tessellation solution.

  • 2D: Updated com.unity.2d.sprite package license

  • 2D: Updated com.unity.2d.tilemap package license

  • 2D: Updated the SceneView overlays used by the Tile Palette to use UIToolkit/new Overlays framework instead of IMGUI. (1342226)

  • AI: Updated component-based workflow notice in the Navigation window.

  • Android: Allowed Android Player to use Vulkan on GPUs that are currently unknown to Unity on Android 11 or newer.

  • Android: Changed how Unity checks to see if an obb is compatible with an apk. Both the apk and obb now have unity_obb_guid file inside them and if the contents match between them, Unity treats them as being compatible.

  • Android: Changed the minimum supported Android version to 5.1 (API 22).

  • Android: Removed OpenGL ES 2.0 from Auto Graphics API. The preferred API is now Vulkan.

  • Android: Removed support for putting gradle resources in Assets/Plugins/Android/[res, assets]. you either need to use Android archive plug-ins, Android Library plug-ins, or move those files to Streaming Assets.

  • Android: Removed the overwrite comment in gradle files and manifest files '// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN'. Use templates if you want your changes to persist.

  • Android: When Auto Graphics API is enabled, Require ES3.1, Require ES3.1+AEP, Require ES 3.2 properties in Android Player Settings are now available.

  • Android: When you export an Android project, Unity no longer creates a symbols zip package because it was always missing libil2cpp.so symbols. After you build your project manually, zip unityLibrary/symbols package if you want to upload it to Google Play.

  • Asset Import: Unity will not attempt to relaunch Maya or 3DsMax after the first timeout. (1281786)

  • Asset Pipeline: Changed AssetPostprocessors calls so that they are ordered by their GetPostprocessOrder and then by their FullName (namespace.classname).

  • Build Pipeline: Unity no longer writes unsaved changes from open scenes into player builds. Instead, it asks to save changes to disk.

  • Burst: Added full support for Armv8.2 Neon intrinsics.

  • Burst: Altered the IL Post Processed 'direct call' Burst function pointers to defer until they are needed to be compiled.

  • Burst: Assigned rpmalloc as the native allocator on Windows to speed up concurrently executing LLVM work.

  • Burst: Changed how exceptions throw types and how messages are stored in Burst binaries to reduce overall binary size.

  • Burst: Changed how exceptions throw types, and how messages are stored in our Burst binaries to reduce binary size.

  • Burst: Changed how SLEEF global variables for trigonometric functions are pulled into Burst to reduce duplications.

  • Burst: Changed how Unity resolves function references in the compiler to improve resolving an existing function reference by 3x.

  • Burst: Changed the Burst minimum Editor version to 2019.4.

  • Burst: Changed the link step to not use response files if the command line was small enough, saving the cost of the round-trip to the disk.

  • Burst: Changed to inliner heuristics to improve build time and reduce executable size.

  • Burst: Disabled threading within the lld linker instances used for in-Editor and desktop cross compilation.

  • Burst: DOTS Runtime now shares the logging code path with the general case.

  • Burst: half <;->; float/double conversions now use native hardware where possible (Arm or AVX2).

  • Burst: Improved how Unity handles generic resolution in Cecil to cache the strictly resolved generic types and to save time in the compiler.

  • Burst: Improved the compiling process of a method when its assembly's dependencies have changed so that the Burst version of the method is immediately used.

  • Burst: Modified the IL Post Processed 'direct call' Burst function pointers so that they are not compiled until they are needed.

  • Burst: Named constant array data after the static field it belongs to in assembly.

  • Burst: Reduced the time it takes for Burst to check if any Burst-compilable code has changed to improve iteration speed.

  • Burst: Removed the ability to experiment with Unity.Burst.Intrinsics.Common.Pause.

  • Burst: Removed the entry-point name job/function-pointer that caused the throw in exception strings.

  • Burst: Removed the entry-point name of the job or function-pointer that caused an exception in exception strings to support the Burst compiler's requirement for deterministic results, which are not compatible with per-entry-point function derivations.

  • Burst: Restricted use of Burst in secondary Unity processes. Code normally Burst-compiled now runs under Mono.

  • Burst: Shared the logging code path of the general case with DOTS Runtime.

  • Burst: Upgraded Burst to use LLVM Version 11.0.1 by default, bringing the latest optimization improvements from the LLVM project.

  • Burst: Upgraded Burst to use LLVM Version 11.0.1 by default.

  • Editor: Added a new search field to filter dependencies.

  • Editor: Changed the behaviour of an Editor Window to ignore minimum and maximum sizes when being docked. Each window defines how it should adapt to the available space. (1269298)

  • Editor: Deleting an object reference array entry in the Inspector now removes that array element. Previously, this was a two-step process.

  • Editor: Made changes such that the default parent object is no longer simultaneously displayed for all loaded scenes. Now, when you use Set Default Parent Object, the scene to which the object belongs is set as active.

  • Editor: Modified includes and excludes in the Index Manager to keep the last selected file pattern in the enum field when you add another item.

  • Editor: Moved asset importing and cache server related preferences to the Asset Pipeline preferences window page.

  • Editor: Moved some main toolbar elements to the left align container.

  • Editor: Moved the UI widget used for Light Cookies from the standard Property Field to the ObjectField that provides texture preview and asset directory search capabilities, across HDRP and built-in.

  • Editor: Removed limitation on TooltipAttribute so you can apply it anywhere. In the Editor, currently only Tooltips on fields are visible.

  • Editor: Removed the dependencies help box.

  • Editor: Updated the Collaborate package to let users migrate to Plastic SCM.

  • GI: Removed Enlighten deprecation notices for Enlighten Realtime Global Illumination. Enlighten Baked Global Illumination is still deprecated.

  • Graphics: *Added the blend distance of the reflection probe to Unity_SpecCubeN_BoxMax.w
    *Added information about the relative importance between SpecCube 0 and SpecCube1 to unity_SpecCube1_BoxMin.w

  • Graphics: Added a macro layer for 2D texture sampling macros to Platform ShaderLibrary API headers. This layer starts with a PLATFORM_SAMPLE2D definition, and lets you inject sampling behavior on a render pipeline level. For example, being able to a global mipmap bias for temporal upscalers.

  • Graphics: Added an ArgumentException for Cubemap pixel access functions (GetPixel/GetPixels/GetPixels32/GetPixelData & SetPixel/SetPixels/SetPixels32/SetPixelData) when encountering an error.

  • Graphics: Added an ArgumentException for CubemapArray pixel access functions (GetPixel/GetPixels/GetPixels32/GetPixelData & SetPixel/SetPixels/SetPixels32/SetPixelData) when encountering an error.

  • Graphics: Added an ArgumentException for Texture2DArray pixel access functions (GetPixel/GetPixels/GetPixels32/GetPixelData & SetPixel/SetPixels/SetPixels32/SetPixelData) when encountering an error.

  • Graphics: Added an ArgumentException for Texture3D pixel access functions (GetPixel/GetPixels/GetPixels32/GetPixelData & SetPixel/SetPixels/SetPixels32/SetPixelData) when encountering an error.

  • Graphics: Added an ArgumentException for WebCamTexture pixel access functions (GetPixel/GetPixels/GetPixels32) when encountering an error. Calling these functions before the first frame update throws an exception instead of returning blank data.

  • Graphics: Altered LensFlare (SRP) so it can be disabled per element.

  • Graphics: Changed the menu path for Generate Shader Includes from Edit >; Render Pipeline >; Generate Shader Includes to Edit >; Rendering >; Generate Shader Includes.

  • Graphics: Changed the menu path for LookDev from Assets >; Create >; LookDev >; Environment Library to Assets >; Create >; Rendering >; Environment Library (Look Dev).

  • Graphics: Changed the menu path for the Graphics Compositor from Window >; Render Pipeline >; Graphics Compositor to Window >; Rendering >; Graphics Compositor.

  • Graphics: Changed the menu path for the Look Dev window from Window >; Render Pipeline >; Look Dev to Window >; Analysis >; Look Dev.

  • Graphics: Changed the menu path for the Render Graph Viewer from Window >; Render Pipeline >;* Render Graph Viewer* to Window >; Analysis >; Render Graph Viewer.

  • Graphics: Clamped the DynamicResolutionHandler.GetScaledSize function to only return a size value lower than its input size vlue.

  • Graphics: Improved IntegrateLDCharlie() to use uniform stratified sampling for faster convergence towards the ground truth.

  • Graphics: Improved load asset time for probe volumes.

  • Graphics: Improved the quality of RGBM encoded ASTC textures and removed functionality for these to fallback to ETC2.

  • Graphics: Improved the warning messages for [Volumes](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Volumes.html) and their Colliders.

  • Graphics: LensFlare (SRP) tooltips now refer to meters.

  • Graphics: LensFlare Element editor now has a Thumbnail preview.

  • Graphics: LWRP package has been deprecated. LWRP package was maintaned with the sole purpose of providing an upgrade path to URP. See URP 2021.2 documentation for notes on how to upgrade LWRP package to 2021.2.

  • Graphics: Made it possible to reduce the size of the resolver RenderTarget with [VirtualTexturing resolver](https://docs.unity3d.com/2021.2/Documentation/ScriptReference/Rendering.VirtualTexturing.Resolver.UpdateSize.html).

  • Graphics: Made occlusion Radius for lens flares in directional lights, be indepeThe occlusion radius of lens flares in directional lights is now independent of the camera's far plane.ndant of the camera's far plane.

  • Graphics: Moved Assets >; Create >; Shader >;Shader Variant Collection to Assets >; Create >; Shader Variant Collection.

  • Graphics: Moved menu item "Decal Projector" to GameObject &gt; Decal Projector.

  • Graphics: Moved menu item "Density Volume" to GameObject &gt; Volume &gt; Density Volume.

  • Graphics: Moved menu item "Sky and Fog Volume" to GameObject &gt; Volume &gt; Sky and Fog Global Volume.

  • Graphics: New projects that use the 3D project template now use 1920x1080 as the default resolution for the Standalone build target.

  • Graphics: New projects that use the 3D project template now use ASTC texture compression for the Android build target.

  • Graphics: New projects that use the 3D project template now use DXT5nm-style normal maps for Android, iOS, and tvOS build targets.

  • Graphics: New projects that use the 3D project template now use normal quality lightmaps (RGBM-encoded) for Android, iOS, and tvOS build targets.

  • Graphics: Removed ability to resize unity_SpecCubeN_BoxMax and unity_SpecCubeN_BoxMin to encompass the bounds of the object itself, if an SRP is active.

  • Graphics: Removed the DYNAMIC_RESOLUTION snippet from the [Lens Flare](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.0/manual/lens-flare-data-driven-component.html) shader in order to simplify that shader.

  • Graphics: Removed the postprocessing package from the core packages list.

  • Graphics: Renamed D32_SFloat_S8_Uint and S8_Uint to D32_SFloat_S8_UInt and S8_UInt in the IUnityRenderingExtensions namespace. Native plug-ins that use the old names need to be updated to use the new name.

  • Graphics: Restricted DXT/BCn texture compression to textures with multiple-of-four width and height. This ensures the same behavior as the Texture Importer and requires multiple-of-four dimensions when compressing.

  • Graphics: Restricted NPOT (Non-Power-of-Two size) textures to a single mip level if the device does not fully support NPOT. Note that this restriction only affects WebGL 1 devices, and OpenGLES 2.0-based devices that do not support the OES_texture_npot extension.

  • Graphics: Serialized the Probe Volume asset as binary to improve footprint on disk and loading speed.

  • Graphics: Skinned Mesh Renderer GPU skinning job markers are now grouped together in captures, rather than all appearing in the root of the capture, making it easier to navigate.

  • Graphics: The Render Pipeline Debug window is now the Rendering Debugger window, and this new window is now accessible via Windows >; General.

  • Graphics: The Volume Gizmo Color is now in Colors >; Scene >; Volume Gizmo.

  • Graphics: The RTHandleSystem no longer requires a single number of samples for all MSAA textures. You can now set the number of samples independently for all textures.

  • Graphics: The Volume Gizmo now renders with an alpha value of 0.125.

  • Graphics: Updated the base class to handle additional properties

  • Graphics: Updated the icon for IES, LightAnchor and LensFlare.

  • Graphics: Updated the IMGUI Debugger to always display on top of other windows.

  • Graphics: ClearFlag.Depth does not implicitely clear stencil anymore. Added ClearFlag.Stencil.

  • HDRP: Added Material Validator option to the [Rendering Debugger]((https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Render-Pipeline-Debug-Window.html).

  • HDRP: Added a debug setting to the [Rendering Debugger](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Render-Pipeline-Debug-Window.html) to list active XR views.

  • HDRP: Added a help box that warns the user when a decal atlas is oversized.

  • HDRP: Added a more consistent shading normal calculation for path tracing. This avoids impossible shading/geometric normal combinations. (1323455)

  • HDRP: Added an XR single-pass test mode to the [Rendering Debugger](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Render-Pipeline-Debug-Window.html).

  • HDRP: Added new sections to the Camera Inspector and improved field layout.

  • HDRP: Altered hair to use GGX LTC for area light specular.

  • HDRP: Augmented debug visualization for probe volumes.

  • HDRP: Cached the base types of the Volume Manager to improve memory and cpu usage.

  • HDRP: Changed 'Allow dynamic resolution' from Rendering to Output on the Camera Inspector.

  • HDRP: Changed custom render callback so when you use it, Global Camera shader constants are pushed automatically.

  • HDRP: Changed Density Volume for Local Volumetric Fog.

  • HDRP: Changed light reset to preserve type.

  • HDRP: Changed Link FOV to Physical Camera, and enabled the ability to show and hide everything on the Projection Section.

  • HDRP: Changed normal used in path tracing to create a local light list from the geometric to the smooth shading one.

  • HDRP: Changed some light unit slider value ranges to better reflect the lighting scenario.

  • HDRP: Changed the Channel Mixer Volume Component UI to show all the channels.

  • HDRP: Changed the convergence time of SSGI to 16 frames and the preset value.

  • HDRP: Changed the HDRP Render Graph to use the new RendererList API for rendering and (optional) pass culling.

  • HDRP: Changed the menu path for Check Scene Content from Edit >; Render Pipeline >; HD Render Pipeline >; Check Scene Content for Ray Tracing to Edit >; Rendering >; Check Scene Content for HDRP Ray Tracing.

  • HDRP: Changed the menu path for Edit >; Render Pipeline >; HD Render Pipeline >; Upgrade from Builtin pipeline >; Upgrade Project Materials to High Definition Materials to Edit >; Rendering >; Materials >; Convert All Built-in Materials to HDRP.

  • HDRP: Changed the menu path for Export HDRP Sky to Image from Edit >; Render Pipeline >; HD Render Pipeline >; Export Sky to Image to Edit >; Rendering >; Export HDRP Sky to Image.

  • HDRP: Changed the menu path for Render Selected HDRP Camera to log Exr from Edit >; Render Pipeline >; HD Render Pipeline >; Render Selected Camera to log Exr to Edit >; Rendering >; Render Selected HDRP Camera to log Exr.

  • HDRP: Changed the menu path for the HDRP Wizard from Window >; Render Pipeline >; HD Render Pipeline Wizard to Window >; Rendering >; HDRP Wizard.

  • HDRP: Changed the name of FOV Axis to Field of View Axis.

  • HDRP: Changed the NVIDIA install button to the standard FixMeButton.

  • HDRP: Changed the property Sorting Priority for the Materials with Transparent Surface type so that it is clamped on the UI from -50 to 50.

  • HDRP: Changed the resolution of the sky used for camera misses in Path Tracing to match the resolution of the render buffer. (1304114)

  • HDRP: Changed the storage format of volumetric clouds presets for easier editing.

  • HDRP: Changed the tooltip for color shadows and semi-transparent shadows. (1307704)

  • HDRP: Changed the top level menu for consistency between HDRP and URP by moving Edit/Render Pipeline/HD Render Pipeline/Upgrade from Builtin pipeline/Upgrade Scene Terrains to High Definition Terrains to Edit/Rendering/Materials/Convert Scene Terrains to HDRP Terrains.

  • HDRP: Changed the top level menu for consistency between HDRP and URP by moving Edit/Render Pipeline/HD Render Pipeline/Upgrade from Builtin pipeline/Upgrade Selected Materials to High Definition Materials to Edit/Rendering/Materials/Convert Selected Built-in Materials to HDRP.

  • HDRP: Changed where HDRP Global Settings are saved to their own asset (HDRenderPipelineGlobalSettings) and HDRenderPipeline's default asset refers to this new asset.

  • HDRP: Copied and referenced the default LookDev volume profile in the Asset folder instead of the package folder.

  • HDRP: Debug information for HDRP's [Render Graph](https://docs.unity3d.com/Packages/com.unity.render-pipelines.core@12.0/manual/render-graph-system.html) is now available in the [Rendering Debug Panel](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Render-Pipeline-Debug-Window.html).

  • HDRP: Density Volumes can now use a 3D RenderTexture as a mask, and that mask can use the RGBA format for RGB fog.

  • HDRP: Disabled specular occlusion for what we consider medium and larger scale ao >; 1.25 with a 25cm falloff interval.

  • HDRP: Disabled TAA jitter while using Frame Debugger.

  • HDRP: Disabled TAA sharpening on the alpha channel.

  • HDRP: Displayed an info box and disabled MSAA asset entry when ray tracing is enabled.

  • HDRP: Fixed a null ref exception which appeared while running playmode tests with the [Rendering Debugger](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Render-Pipeline-Debug-Window.html) window open.

  • HDRP: Fixed upscaling issue that is exaggerated by DLSS. (1347250)

  • HDRP: Hybrid duplicated reflection probes set to br ignored during light baking.

  • HDRP: Improved how the HDRP Wizard handles the Render Pipeline settings. The section Global contains data from the HDRP Settings section and the Render Pipeline Asset property in Project Settings >; Graphics. The section Current Quality contains data from the Render Pipeline Asset property in the Quality level that is currently in use.

  • HDRP: Improved labels for cloud scroll direction and cloud type.

  • HDRP: Improved lighting models for AxF shader area lights.

  • HDRP: Improved physically-based Depth of Field with better near defocus blur quality.

  • HDRP: Improved screen space global illumination.

  • HDRP: Improved shadow cascade GUI drawing with pixel perfect, hover, and focus functionalities.

  • HDRP: Improved the area cookie behavior for higher smoothness values to reduce artifacts.

  • HDRP: Improved the fly through ghosting artifacts in the volumetric clouds.

  • HDRP: Improved the performance and visual quality of the clamping approach for RTR and RTGI.

  • HDRP: Improved the RTGI denoising.

  • HDRP: Improved volumetric clouds (added new noise for erosion, reduced ghosting while flying through, altitude distortion, and ghosting when changing from local to distant clouds, fixed issue in wind distortion along the Z axis).

  • HDRP: Increased the minimum density of the volumetric clouds.

  • HDRP: It is now considered a miss when a ray hits the sky in the ray marching part of mixed ray tracing.

  • HDRP: Made debug panel mip bias functions internal, not public.

  • HDRP: Made LitTessellation and LayeredLitTessellation fallback on Lit and LayeredLit respectively, in DXR.

  • HDRP: Made various improvements to the volumetric clouds.

  • HDRP: Modified the history validation pass so that Unity only performs it once for each frame and not for every effect.

  • HDRP: Moved invariants outside of loop to speed up CPU in the light loop code.

  • HDRP: Moved MaterialHeaderScopes to Core.

  • HDRP: Moved menu item "C# Custom Pass" to Assets &gt; Create &gt; Rendering &gt; HDRP C# Custom Pass.

  • HDRP: Moved menu item "C# Post Process Volume" to Assets &gt; Create &gt; Rendering &gt; HDRP C# Post Process Volume.

  • HDRP: Moved menu item "Custom FullScreen Pass" to Assets &gt; Create &gt; Shader &gt; HDRP Custom FullScreen Pass.

  • HDRP: Moved menu item "Custom Renderers Pass" to Assets &gt; Create &gt; Shader &gt; HDRP Custom Renderers Pass.

  • HDRP: Moved menu item "Decal Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; Decal Shader Graph.

  • HDRP: Moved menu item "Diffusion Profile" to Assets &gt; Create &gt; Rendering &gt; HDRP Diffusion Profile.

  • HDRP: Moved menu item "Eye Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; Eye Shader Graph.

  • HDRP: Moved menu item "Eye Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; Hair Shader Graph.

  • HDRP: Moved menu item "Fabric Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; Decal Fabric Shader Graph.

  • HDRP: Moved menu item "High Definition Render Pipeline Asset" to Assets &gt; Create &gt; Rendering &gt; HDRP Asset.

  • HDRP: Moved menu item "Lit Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; Lit.

  • HDRP: Moved menu item "Post Process Pass" to Assets &gt; Create &gt; Shader &gt; HDRP Post Process.

  • HDRP: Moved menu item "StackLit Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; StackLit Shader GraphShader Graph.

  • HDRP: Moved menu item "Unlit Shader Graph" to Assets &gt; Create &gt; Shader Graph &gt; HDRP &gt; Unlit Shader Graph.

  • HDRP: Moved some Volumetric clouds properties to the additional properties section. (1357926)

  • HDRP: Moved the Decal Gizmo Color initialization to preferences.

  • HDRP: Moved the supportRuntimeDebugDisplay option from HDRPAsset to HDRPGlobalSettings.

  • HDRP: Reduced the maximum distance per ray step of volumetric clouds.

  • HDRP: Refactored platform abstraction code for shader optimization.

  • HDRP: Removed an unnecessary RenderGraphBuilder.ReadTexturecall in the Set Final Target pass.

  • HDRP: Removed backplate from rendering of lighting cubemaps.

  • HDRP: Removed redundant checkboxes (Show Inactive Objects and Isolate Selection) from the Emissive Materials tab of the Light Explorer.

  • HDRP: Removed the Bilinear and Lanczos upscale filter.

  • HDRP: Removed the MaterialPass option from probe volume Evaluation modes.

  • HDRP: Removed the option for reflection probes to render SSAO, SSGI, SSR, ray tracing effects, or volumetric reprojection.

  • HDRP: Renamed the "Link Light Layer" property to "Custom Shadow Layer".

  • HDRP: Renamed the Cloud Offset property in the Volume component of Volumetric Clouds to Cloud Map Offset. (1358528)

  • HDRP: Renamed the Decal Projector to HDRP Decal Projector.

  • HDRP: Replaced the context menu with a search window when you add a custom pass.

  • HDRP: Restored the old version of the RendererList structs/API for compatibility.

  • HDRP: Split up the HDProjectSettings with the new HDUserSettings in UserProject. Now the Wizard working variable should not intefere with the versioning tool. (1330640)

  • HDRP: SurfacedReflectionTypeLoadExceptions in HDUtils.GetRenderPipelineMaterialList() to allow you to act on any reflection errors in the HDRP assembly.

  • HDRP: The Ambient Mode property of the Sky settings for the [Visual Environment](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@13.0/manual/Override-Visual-Environment.html) component is now Dynamic by default.

  • HDRP: The Render Pipeline Debug window is now the Rendering Debugger window, and this new window is now accessible via Windows >; General.

  • HDRP: The default black texture to use for mixed reality is now opaque. It's alpha value is now 1 whereas previously it was 0.

  • HDRP: The depth of field at half or quarter resolution is now computed consistently with the full resolution option. (1335687)

  • HDRP: The Film Grain effect does not affect the alpha channel now.

  • HDRP: The minimal Fog Distance value in the Density Volume is now 0.05.

  • HDRP: The URP Asset Inspector General section is now Rendering.

  • HDRP: Updated the HDRP config package so that it is embeded instead of copied locally. The Packages folder is versioned by Collaborate. (1276518)

  • HDRP: Updated the recursive rendering documentation.

  • HDRP: Updated the UI for the Frame Settings section: default values in the HDRP Settings section and the Custom Frame Settings property are always editable.

  • HDRP: Updated Virtual Texturing Resolver to now perform RTHandle resize logic in HDRP instead of in core Unity.

  • HDRP: Used the new API for updating Reflection Probe state (fixes garbage allocation). (1290521)

  • iOS: Changed default texture compression format from PVRTC to ASTC.

  • License: Disabled the package entitlement feature.

  • Mobile: Changed minimum iOS/tvOS version to 12.

  • Package: Changed the package display name from "Unity Recorder" to "Recorder" in the package manager.

  • Package: Fixed a wrong label for the WebM codec in the Recorder package.

  • Package: Prevented invalid GPU callback data from being written to a frame for the Recorded; this change skips the problematic frame and logs an error message.

  • Package: Removed legacy Recorders: MP4, EXR, PNG, WEBM and GIF Animation from the Recorder package.

  • Package: Visual Scripting: Changed NotEquals node in non-scalar mode to be consistent with Equals.

  • Package Manager: Changed location of the Git LFS cache enabled by setting the UPM_ENABLE_GIT_LFS_CACHE's environment variable to always be located under the global cache root, even when the cache root location is customized.

  • Package Manager: Changed the error and warning box to look like the info box.

  • Package Manager: Renamed the Import again button to Reimport.

  • Package Manager: Updated In App Purchasing package to include missing documentation.

  • Physics: Adjusted anchor position based on anchor/parentAnchor transforms to better fit the expected result.

  • Profiler: The Unity Profiler now only shows threads that have profiler markers generated since you opened the Profiler.

  • Profiler: This release contains stability and performance improvements of the Profile Analyzer package. For more information, see the [Profile Analyzer Changelog](https://docs.unity3d.com/Packages/com.unity.performance.profile-analyzer@1.1/changelog/CHANGELOG.html) page.

  • Scene/Game View: Changed the default shortcut for the Show Overlay menu option to Spacebar.

  • Scene/Game View: Fixed styling issues with the Overlays feature.

  • Scene/Game View: Moved Component Tools Overlay to the regular Tools Overlay.

  • Scene/Game View: Updated the new default shortcut for Toggle overlays to "`".

  • Scripting: Quaternion ToString() prints five decimal digits by default. (36265)

  • Scripting: Vector2, Vector3, Vector4, Bounds, Plane, Ray, Ray2D ToString by default prints two decimal digits (up from one). (1205206)

  • Search: ref:now only searches results that have a direct dependency on.

  • Search: Removed the resource Search Provider (res:).

  • Services: In the In-App Purchasing (IAP) Settings, when IAP package version 2 or less is installed, the "Migrate" button section is no longer available.

  • Shadergraph: Added borders to the Graph Inspector item style, to differentiate between separate items better.

  • Shadergraph: Adjusted the Blackboard article to clarify multi-select functionality.

  • Shadergraph: Changed BranchOnInputNode to choose NotConnected branch when generating a preview.

  • Shadergraph: Changed the "Create Node" action in ShaderGraph stack separator context menu to "Add Block Node" and added it to the main stack context menu.

  • Shadergraph: Condensed report errors and warnings to a single error for ShaderGraph SubGraphs.

  • Shadergraph: Fixed an issue to ensure that enum keywords may not have duplicate reference names or invalid characters. (1287335)

  • Shadergraph: Improved docs for SampleTexture2D, SampleTexture2DLOD, SampleTexture2DArray, SampleTexture3D, SampleCubemap, SampleReflectedCubemap, TexelSize, NormalFromTexture, ParallaxMapping, ParallaxOcclusionMapping, Triplanar, Sub Graphs, and Custom Function Nodes to reflect changes to texture wire data structures.

  • Shadergraph: Improved documentation for Swizzle Node.

  • Shadergraph: In Unity 2021.2, if you select more than 20 items in the Shader Editor, the Graph Inspector shows only the first 20 selected nodes.

  • Shadergraph: Modified the the shader permutation variant limit so that only ShaderGraph keywords count towards the limit; SubGraph keywords do not.

  • Shadergraph: Moved menu item "Blank Shader Graph" to Asset &gt; Create &gt; Shader Graph &gt; Blank Shader Graph.

  • Shadergraph: Moved menu item "Sub Graph" to Asset &gt; Create &gt; Shader Graph &gt; Sub Graph.

  • Shadergraph: Moved menu item "VFX Shader Graph" to Asset &gt; Create &gt; Shader Graph &gt; VFX Shader Graph.

  • Shadergraph: Properties and Keywords are no longer separated by type on the blackboard. Categories now allow for any combination of properties and keywords to be grouped together as the user defines.

  • Shadergraph: Updated the Custom Function node to use the new ShaderInclude asset type instead of the TextAsset type. The node performs the .hlsl and .cginc checks.

  • Shadergraph: Updated/corrected View Direction doc.

  • Shadergraph: Vector2/Vector3/Vector4 property types will now be properly represented by a matching Vector2/Vector3/Vector4 UI control in the URP + HDRP Material Inspector as opposed to the fallback Vector4 field that was used for any multi-dimensional vector type.

  • Shaders: Added a shader warning for when reserved constants names with consecutive underscores are used.

  • Shaders: Increased the global keyword limit to 384.

  • Shaders: Shader compiler logs are now generated in a project's Logs folder instead of the Library folder.

  • Shaders: The methods Shader.DisableKeyword, Shader.IsKeywordEnabled, and CommandBuffer.DisableKeyword will no longer create a global keyword if the keyword does not exist.

  • Tests: Changed iOS automation code so that it uses Shell.ExecuteProgramAndGetStdout for process handling.

  • UI Toolkit: By default, rendering data of VisualElements with an opacity of zero is now generated and remains up-to-date, allowing animation in opacity without causing performance drops.

  • UI Toolkit: Marked the com.unity.ui package, which is incompatible with 21.2 and above, as deprecated.

  • UI Toolkit: Optimized some data access for Live Reload feature.

  • UI Toolkit: Optimized some data access for the Live Reload feature.

  • UI Toolkit: Removed additional overhead of attaching to panel for Live Reload when the option is turned off to improve performance in loading VisualTreeAssets.

  • UI Toolkit: URLs in UXML and USS files now support explicit GUID-based asset references. This allows assets referenced by UI assets to be renamed or moved within your project without breaking asset references. The UI Builder saves both UXML and USS files using this format. Note that this URL format is backward-compatible, but the URL query parameters are ignored in older Unity versions.

  • Universal: Added Depth and DepthNormals passes to particle shaders.

  • Universal: Deprecated GetShadowFade in Shadows.hlsl. Use GetMainLightShadowFade or GetAdditionalLightShadowFade instead.

  • Universal: Enabled subsurface scattering with global illumination for handwritten Universal ST8 shaders.

  • Universal: Improved shadow cascade GUI drawing with pixel perfect, hover and focus functionalities.

  • Universal: Material editor now uses the same MaterialHeaderScope as HDRP.

  • Universal: Modified URP profiling scopes. Remove low impact scopes from the command buffer to improve performance. Fixed the name and invalid scope for the context.submit() scope. Changed the default profiling name of ScriptableRenderPass to Unnamed_ScriptableRenderPass.

  • Universal: Moved menu item "2D Renderer" to Assets &gt; Create &gt; Rendering &gt; URP 2D Renderer.

  • Universal: Moved menu item "Forward Renderer" to Assets &gt; Create &gt; Rendering &gt; URP Forward Renderer.

  • Universal: Moved menu item "Lit Shader Graph" to Asset &gt; Create &gt; Shader Graph &gt; URP &gt; Lit Shader Graph.

  • Universal: Moved menu item "Pipeline Asset (2D Renderer)" to Assets &gt; Create &gt; Rendering &gt; URP Asset (with 2D Renderer).

  • Universal: Moved menu item "Pipeline Asset" (Forward Renderer) to Assets &gt; Create &gt; Rendering &gt; URP Asset (with Forward Renderer).

  • Universal: Moved menu item "Post-process Data" to Assets &gt; Create &gt; Rendering &gt; URP Post-process Data.

  • Universal: Moved menu item "Renderer Feature" to Assets &gt; Create &gt; Rendering &gt; URP Renderer Feature.

  • Universal: Moved menu item "Sprite Lit Shader Graph" to Asset &gt; Create &gt; Shader Graph &gt; URP &gt; Sprite Lit Shader Graph.

  • Universal: Moved menu item "Sprite Unlit Shader Graph" to Asset &gt; Create &gt; Shader Graph &gt; URP &gt; Sprite Unlit Shader Graph.

  • Universal: Moved menu item "Unlit Shader Graph" to Asset &gt; Create &gt; Shader Graph &gt; URP &gt; Unlit Shader Graph.

  • Universal: Moved menu item "Upgrade Project Materials to 2D Renderer Materials" to Edit &gt; Rendering &gt; Materials &gt; Convert All Built-in Materials to URP 2D Renderer.

  • Universal: Moved menu item "Upgrade Project Materials to URP Materials" to Edit &gt; Rendering &gt; Materials &gt; Convert All Built-in Materials to URP.

  • Universal: Moved menu item "Upgrade Project URP Parametric Lights to Freeform" to Edit &gt; Rendering &gt; Lights &gt; Convert Project URP Parametric Lights to Freeform.

  • Universal: Moved menu item "Upgrade Scene Materials to 2D Renderer Materials" to Edit &gt; Rendering &gt; Materials &gt; Convert All Built-in Scene Materials to URP 2D Renderer.

  • Universal: Moved menu item "Upgrade Scene URP Parametric Lights to Freeform" to Edit &gt; Rendering &gt; Lights &gt; Convert Scene URP Parametric Lights to Freeform.

  • Universal: Moved menu item "Upgrade Selected Materials to URP Materials" to Edit &gt; Rendering &gt; Materials &gt; Convert Selected Built-in Materials to URP.

  • Universal: Moved menu item "XR System Data" to Assets &gt; Create &gt; Rendering &gt; URP XR System Data.

  • Universal: Moved the code that evaluates the fog from the vertex shader to the pixel shader. This improves the rendering of fog for big triangles and the fog quality. This can change the look of the fog slightly.

  • Universal: Optimized the Bokeh Depth of Field shader on mobile by using half precision floats.

  • Universal: Reduced the size of the fragment input struct of the TerrainLitPasses, LitGBufferPass, SimpleLitForwardPass, and SimpleLitGBufferPass lighting shaders.

  • Universal: Removed unused temporary depth buffers for Depth of Field and Panini Projection.

  • Universal: Renamed the Forward Renderer asset to the Universal Renderer asset. The Universal Renderer asset contains the Rendering Path property, which you can set to either the Forward Rendering Path or the Deferred Rendering Path.

  • Universal: Renamed UniversalRenderPipelineCameraEditor to URPCameraEditor.

  • Universal: Shadow fade now uses border value for calculating shadow fade distance and fall off linearly.

  • Universal: The DepthNormals passes sample the normal maps if the passes run on a Material now, otherwise the passes output the geometry normals.

  • Universal: The format of the SSAO texture is now R8 instead of ARGB32 on platforms that support the format.

  • Universal: The function to upgrade from LWRP to URP was removed. If you want to upgrade your ptoject from LWRP to URP, you must first upgrade to a previous URP version, and then upgrade to this version.

  • Universal: The method ClearFlag.Depth does not implicitly clear the Stencil buffer anymore. Use the new method ClearFlag.Stencil.

  • Universal: The Opacity as Density blending feature for the Terrain Lit shader is now disabled when the Terrain object has more than four Terrain Layers. This behavior is now similar to the Height-blend feature of the Terrain Lit shader.

  • Universal: The performance of the Bokeh mode of the Depth of Field effect is improved. The CPU performs certain caluculations instead of the GPU now.

  • Universal: The property Advanced Options >; Priority is renamed to Sorting Priority.

  • Universal: The UNITY_Z_0_FAR_FROM_CLIPSPACE macro now remaps the coordinates to the [0, far] range on all platforms consistently. Previously, Unity did not perform the remapping on OpenGL platforms, discarding the range [-near, 0].

  • URP: Added shadergraph support for VFX directly on Universal target.

  • URP: Changed 2D Lights to inherit from Light2DBase.

  • URP: Changed material upgrader to upgrade AnimationClips in projects that have curves bound to renamed material properties.

  • URP: Changed Pixel Snapping and Upscale Render Texture in the PixelPerfectCamera to a dropdown.

  • URP: Changed process to stripping shader variants per renderer feature instead of combined renderer features.

  • URP: Changed the default name of new URP assets.

  • URP: Changed the opaque pass depth to be copied instead of scheduling a depth prepass when MSAA is enabled and a depth texture is required.

  • URP: Improved PixelPerfectCamera UI/UX.

  • URP: Made 2D shadow casting more efficient.

  • URP: Modified the behavior of setting a camera's Background Type to "Dont Care" on mobile. "Dont Care" now fills the render target with arbitrary data at the beginning of the frame, which might be faster in some situations. Note that there are no guarantees for the exact content of the render target, so projects should only use "Dont care" if they are guaranteed to render to, or otherwise write every pixel every frame.

  • URP: Moved all 2D APIs out of the experimental namespace.

  • URP: Moved the advanced settings in eachg section of the the URP Asset Inspector to Show Additional Properties.

  • URP: Refactored some of the array resizing code around decal projector rendering to use new APIs in render core.

  • URP: Reversed UniversalRendererData and ForwardRendererData GUIDs to improve the upgrade experience from Unity versions 2019LTS, 2020LTS and 2021.1. Issues upgrading 2021.2 Alpha/Beta versions and are recommended to start with a fresh library if initial upgrade fails.

  • URP: Updated URP to no longer render via an intermediate texture unless actively required by a Renderer Feature. See the upgrade guide for compatibility options and how assets are upgraded.

  • URP: URP Asset Inspector - General section has been renamed to Rendering.

  • Version Control: Improved usage analytics around Editor and Plugin version. Made workspace migration adjustments.

  • Version Control: Made the following improvements for Plastic SCM:

    • Updated license to better conform with expected customer usage.

    • Updated documentation file to meet standards.

    • Updated third-party usage.

    • No longer requires downloading of the full Plastic client. Basic features work without additional installation. Features that require the full Plastic client will allow download and install as needed.

    • Usability improvements around checking in code.

    • Improved update workspace tab UX.

    • Plastic SCM context menu is now available even if the Plastic SCM window is closed.

  • Version Control: Simplified and decluttered UI.

  • VFX Graph: Allowed the remaking of existing links.

  • VFX Graph: Integrated Transform to VFXTypes : Circle, ArcCircle, Sphere, ArcSphere, Torus, ArcTorus, Cone, ArcCone.

  • VFX Graph: Moved menu item "Point Cache Bake Tool" to Window &gt; VFX &gt; Utilities &gt; Point Cache Bake Tool.

  • VFX Graph: Moved menu item "Rebuild And Save All VFX Graphs" to Edit &gt; VFX &gt; Rebuild And Save All Visual Effect Graphs.

  • VFX Graph: Moved menu item "Visual Effect Defaults" to Assets &gt; Create &gt; VFX &gt; VFX Defaults.

  • VFX Graph: Moved menu item "Visual Effect Graph" to Assets &gt; Create &gt; VFX &gt; VFX Graph.

  • VFX Graph: Moved menu item "Visual Effect Graph" to Window &gt; VFX &gt; VFX Graph.

  • VFX Graph: Moved menu item "Visual Effect Subgraph Block" to Assets &gt; Create &gt; VFX &gt; VFX Subgraph Block.

  • VFX Graph: Moved menu item "Visual Effect Subgraph Operator" to Assets &gt; Create &gt; VFX &gt; VFX Subgraph Operator.

  • VFX Graph: Property Binder : Handle Remove Component removing linked hidden scriptable objectfields.

  • VFX Graph: Property Binder : Prevent multiple VFXPropertyBinder within the same game object.

  • VFX Graph: Sphere and Cube outputs are now experimental.

  • Virtual Texturing: Updated PopRequests to allow the destination list to have a different size than the texture stack's maxActiveRequests value.

  • WebGL: Eliminated the Python dependency from the Brotli compressor.

Fixes

  • 2D: 2D light is rendered in half in its Y-axis when two Sprite Shape objects with same Order In Layer are visible on the Screen (1274010)

  • 2D: Add null arguments checks for Sprite.GetPhysicsShape, Sprite.OverridePhysicsShape and Sprite.OverrideGeometry (1306258)

  • 2D: Call Tilemap.tilemapChanged callback when Tilemap component is reset or ResizeBounds is called. (1304936)

  • 2D: Fix crash when loading a scene with a GameObject with an invalid Tilemap and a TilemapCollider2D. (1314326)

  • 2D: Fix issue with the Sorting Group where the sorted renderers are not in hierarchical order when their sorting criteria are the same. (1309075)

  • 2D: Fix Sprite Preview in inspector becomes unrecognizable when Sprite size is big (1299189)

  • 2D: Fixed 2D Animation manual documentation.

  • 2D: Fixed 2D Animation package description.

  • 2D: Fixed 2D PSDImporter doesn't apply settings from Sprite Editor Window when changes made in Inspector. (1339799)

  • 2D: Fixed 2D PSDImporter package description.

  • 2D: Fixed an issue where Name and Texture fields were overlapping with each other in the Secondary Textures module of the Sprite Editor. (1284356)

  • 2D: Fixed Bone and Sprite influence lists to display correctly. (1349041)

  • 2D: Fixed duplication of Tilemap Selection Box when the Grid and the Tilemap are offset in transform. (1293341)

  • 2D: Fixed exception thrown when manually adding vertices in the Skinning Editor to a Sprite without mesh. (1340105)

  • 2D: Fixed exception when adding a new Rule when no Rule is selected.

  • 2D: Fixed extrusion of CompositeCollider2D when an offset distance has been set. (1328999)

  • 2D: Fixed GridSelection on a Tile Palette losing its target when the Tile Palette is saved. (1327582)

  • 2D: Fixed initial rendering animated tiles when a CompleteObjectUndo is registered for a Tilemap while in Play mode.

  • 2D: Fixed issue when the size of a GridSelection is set to negative values. (1318891)

  • 2D: Fixed issue where Tilemap does not preserve transform changes or color when inserting or deleting cells. (1315084)

  • 2D: Fixed issue with setting a Spritesheet with padding between Sprites on a Tile Palette having a positional offset when there should not be one.

  • 2D: Fixed issue with sprite mask debug color when sprite renderers are batched. (1328538)

  • 2D: Fixed mouse position calculation after SceneView overlay changes.

  • 2D: Fixed MouseDrag including previous mouse positions from initial drag.

  • 2D: Fixed MouseDrag not including final mouse position after drag.

  • 2D: Fixed NullReferenceException from being thrown when doing a Grid Select on a Grid which is not enabled. (1295122)

  • 2D: Fixed offset placement of Tile placed when dragging in a single Sprite or Tiles onto the Tile Palette window.

  • 2D: Fixed on deselecting game object from the Inspector window leads to deselecting Sprite Shape Renderer. (1317728)

  • 2D: Fixed Paint tool triggering a Tile Palette edit when Paint tool is active and is removed from the Tile Palette default tools.

  • 2D: Fixed performance regression in PSDImporter Editor. (1349148)

  • 2D: Fixed potential Sprite reference lost when upgrading from 2021.1. (1358979)

  • 2D: Fixed SpriteRect and Name File Id does not match in meta file. (1319819)

  • 2D: Make tooltips appear closer to the label for Tilemap Info in the Tilemap Editor rather than in the center. (1294929)

  • 2D: Mark com.unity.2d.tilemap.extras as discoverable

  • 2D: Prevent Tile Palette Prefabs from showing as a Active Target for the Tile Palette window when selected.

  • 2D: Prevented users from selecting a disabled GameObject as an active target for the Tile Palette. (1327021)

  • 2D: Removes GC.Alloc when Tilemap.HasSyncTileCallback is called which is internally called for each SetTile/s.

  • 2D: Sprite Atlas importer does not show name on top (1300861)

  • 2D: Swapped behavior of rotating clockwise and counter-clockwise.

  • 2D: Unable to exclude Objects for Packing property from Sprite Atlas preset (1294393)

  • AI: Fixed a crash when exiting play mode while a NavMesh asynchronous update call is being scheduled. (1297742)

  • AI: Fixed crashes from building from meshes larger than the allowed size threshold. (1298356)

  • AI: Fixed issue where the NavMeshModifierBox did not override the area type with existing higher index. (1078153)

  • AI: Fixed the gizmos of navigation OffMeshLinks when the distance from start to end is small. (805223)

  • Android: Added a new AndroidDevice.hardwareType property, which is set to AndroidHardwareType.ChromeOS if running on a Chrome OS device. This is helpful if an app needs to run Chrome OS-specific code.

  • Android: Added a warning if making an IL2CPP Android build without Arm64 binaries (1318322)

  • Android: Added fullscreen flag to manifest to better handle static splash screen. (1310347)

  • Android: Android: Fix lightmap quality warning text in PlayerSettings. (1337631)

  • Android: Clamp Android minimum bundle version to greater than 0 (1307476)

  • Android: Fix high memory usage for textures when uploading textures at runtime using Vulkan (1300900)

  • Android: Fix rendering errors when trying to use Particle Systems with instancing on devices that don't support it (1312433)

  • Android: Fixed Android build failures due to unsupported manifest features when targeting API 23 or below. (1340517)

  • Android: Fixed artifacts when exceeding geometry working set memory limit on Mali GPUs when using Vulkan GraphicsJobs.

  • Android: Fixed Build&Run when apk name contains duoble quote. (1323395)

  • Android: Fixed compatibility with OpenGL ES shaders in asset bundles built with Unity 2018.x or older. (1329702)

  • Android: Fixed computeBufferStartIndex of ComputeBuffer.GetData being ignored when using Vulkan. (1299902)

  • Android: Fixed crash during shutdown on Adreno devices when using Vulkan. (1330396)

  • Android: Fixed crash when using R16 UNorm and similar formats with Vulkan on devices that don't support it. (1314282)

  • Android: Fixed incorrect resolution scaling on PowerVR devices when BlitType Auto is used (1287131)

  • Android: Fixed Patch not working on some newer Android devices due to permission issue. (1343844)

  • Android: Fixed runtime decompression of ASTC HDR cubemaps on devices that don't support ASTC HDR. (1323739)

  • Android: Fixed screen safe area values at startup. (1327752)

  • Android: Fixed shader compile error when signed bitfieldExtract is generated for ES 3.0 shader target. (1327731)

  • Android: Fixed shaders with bitfield operations compilation errors on Adreno3XX GPUs.

  • Android: Il2cpp resources will be extracted during player launch only when needed, for ex., changes in scripts. Previously they would be extracted each time you make a new build from Unity.

  • Android: Preserve ComputeBuffer data when doing partial updates using ComputeBuffer.SetData (1300424)

  • Android: Resolved an Android build failure when the Target SDK was set to below 24. (1340438)

  • Android: Resolved an issue that prevented features such as tessellation and geometry shaders from being marked as supported on Android devices whose driver supports OpenGL ES 3.1 with AEP but not 3.2.

  • Android: Updated Kotlin version to fix potential compatibility problems in Android Studio. (1325245)

  • Animation: 1D BlendTree's threshold values were draggable when not the hot control. (1217253)

  • Animation: Added a tooltip for the auto live link button in the animator window. (1283065)

  • Animation: Added checks to prevent and capture crash for the GetRootBlendTreeChildWeights function. (1282475)

  • Animation: Added option to set the single layer optimization for AnimationLayerMixerPlayable that is enable by default in previous version. (1159548)

  • Animation: Fixed a bug where the .controller file would grow in size even after undoing states. (1194086)

  • Animation: Fixed a bug where the parameters list being previewed would not display in the inspector window. (1190190)

  • Animation: Fixed AddAssetToSameFile assert thrown on adding SMB on unpersisted AnimatorState or AnimatorStatemachine. (1233556)

  • Animation: Fixed an animation performance test failing on specific device (iOS/Android) (1307702)

  • Animation: Fixed an issue when trying to record elements from array where the index elements were 2 or 4. (1242410)

  • Animation: Fixed an issue where an animation playable events would still fire while it was paused. (1227098)

  • Animation: Fixed an issue where the application would crash if modifying the graph while being traversed. (1282046)

  • Animation: Fixed an issue where the checkbox wouldn't align properly with its label in the transition list. (1259438)

  • Animation: Fixed an issue where the destination state would indicate INVALID instead of the known destination state in the transition list of the inspector window

  • Animation: Fixed an issue where the slider of the animation window would go into the hierarchy part of the window when the animation window was too small width wise (1288823)

  • Animation: Fixed an issue where the stabilize feet would not get saved upon entering playmode. (1245722)

  • Animation: Fixed an issue where the transition to a base layer state machine would be invisible (1287749)

  • Animation: Fixed an issue where the transition would automatically disappear if made from a lower layer state machine to an upper layer one. (1188984)

  • Animation: Fixed an issue where the Vector property of the material component would not have a blue tint to highlight it was being animated when in preview mode. (1333416)

  • Animation: Fixed an issue where warnings would appear while typing the first numbers of the time in blend tree before confirming the value. (1250904)

  • Animation: Fixed animation events to fire correctly when overriding the loop in a AnimationClipPlayable. (1292994)

  • Animation: Fixed animation transition preview playback marker to update correctly when window is floating and animation is paused. (1285405)

  • Animation: Fixed Animator MatchTarget to work correctly with longer time. (1052600)

  • Animation: Fixed BlendTree graph where nodes switch positon when play is pressed. (1306710)

  • Animation: Fixed crash upon calling the MonoManager::TypeToScriptingClass(Unity::Type) method on a type that has been removed. The solution is to check if the type is valid first with type-&amp;gt;HasValidRuntimeTypeIndex(). (1319992)

  • Animation: Fixed edge highlighting logic with livelink in mecanim with edge cases involving Any State and Entry nodes. (1171704)

  • Animation: Fixed for disappearing Animator State Machine information. (1307535)

  • Animation: Fixed GetLayerWeight function in Animator to always return 1 if getting the base layer weight. (1315029)

  • Animation: Fixed human pose offset in Animation C# Job when root node is scaled. (1266529)

  • Animation: Fixed human pose with missing bones shifting when used in an Animation C# Job. (1214897)

  • Animation: Fixed humanoid SetLookAtWeight method for weights larger than 0.5. (1307253)

  • Animation: Fixed manipulation of the Current Blend Value (the red line)in BlendTree Inspector.

  • Animation: Fixed nan appearing in AABB when root motion is enabled in a StateMachineBehaviour by initializing MotionXReference structure upon allocation. (1279206)

  • Animation: Fixed ScaleConstraint on child with parent having a nulled scaled axis. (1243185)

  • Animation: Fixed slow performance depend on the first selected. (1236353)

  • Animation: Fixed static analysis warning. (1232341)

  • Animation: Fixed use of PropertyStreamHandle with Addressable AnimatorController. (1341031)

  • Animation: Fixing an issue where an Animator with Animate Physics ON would apply physics to every transform except the root transform (1154835)

  • Animation: Force grouped animation of GroupColor for material color in URP. (1212805)

  • Animation: Improved SetTime and GetTime documentation for playables (1196250)

  • Animation: Removed invalid error messages and display correct inspector when viewing a state with invalid StateMachineBehaviours. (1319708)

  • Animation: Removed multi edit on animator override controller (1082045)

  • Animation: Stop animation preview when exiting edit mode with Play Mode with Reload Domain disabled to prevent accessing destroyed object. (1214031)

  • Animation: Updated documentation of playable to document feature of auto adding new port (1227724)

  • Asset Bundles: AssetBundle.Unload waits for all asset bundle async operations to be completed before proceeding.

  • Asset Bundles: Fixed error being logged when accessing an archive file that was modified while it was still opened. (1319389)

  • Asset Bundles: Fixed issue where Caching.IsVersionCached returns false when loading a previously cached bundle. (1186310)

  • Asset Bundles: Fixed issue where loading an asset from a bundle asynchronously while loading a texture synchronously causes a deadlock on the main thread.

  • Asset Import: Adding a ScriptedImporter attribute to a non-ScriptedImporter class no longer crashes the editor. (1308671)

  • Asset Import: Apply/Revert buttons in the inspector are correctly disabled after changing a value that is being overridden by the Importer script or an AssetPostprocessor. (1287345)

  • Asset Import: Assembly Ref / Definition files now have padding. (1311970)

  • Asset Import: Changing player settings Graphics APIs while editor is in Android platform no longer reimports all textures, video clips or fonts. (1329621)

  • Asset Import: Editing the animation clip directly from the sub-asset on first import is no longer broken. (1304418)

  • Asset Import: Fixed crash when importing FOV animations from 3DsMax. (1324054)

  • Asset Import: Fixed crash/corruption when importing animations.

  • Asset Import: Fixed missing normal property values from materials imported from 3DsMax 2021's Physical materials. (1313450)

  • Asset Import: Fixed Texture Import Platform settings getting reset when multi editing.

  • Asset Import: GameObjects & Prefabs can no longer be duplicated using Ctrl + D. (1304106)

  • Asset Import: GatherDependenciesFromSourceFile declared in parent classes is now properly called from derived classes. (1203843)

  • Asset Import: ModelImporter now only renames sibling nodes with duplicate names. (1233702)

  • Asset Import: New flag to allow rigs with different topologies to be swapped. (974120)

  • Asset Import: Only call frame rate errors when animations are imported. (1222562)

  • Asset Import: Rename of Inspector labels to make them more consistent.

  • Asset Import: SearchAndRemap now functions as expected in packages. (1218857)

  • Asset Import: Switching Texture Importer tabs does not dirty the importer. (1321256)

  • Asset Import: The Default Clip selection no longer gets stuck. (1279563)

  • Asset Import: Updated Log Warning to include name / object reference (1304432)

  • Asset Pipeline: All domain reloads are now done inside asset db. This fixes problem with reloading of asset objects when doing manual refresh. (1341910)

  • Asset Pipeline: Asset loading is safe in this callback. (1267939)

  • Asset Pipeline: Enabled PluginSettingsWorks.WSASettings integration test (1086909)

  • Asset Pipeline: Fix for crash that could happen after safe mode exit

  • Asset Pipeline: Fixed a crash that could occur when opening a project with a meta file conflict. (1310334)

  • Asset Pipeline: Fixed a very rare bug causing directory monitor not pick up all the changes that happened before a Refresh.

  • Asset Pipeline: Fixed an assert when fetching previews for assets in AssetBundles. (1311115)

  • Asset Pipeline: Fixed an issue where a scene could become corrupt if renamed to match the name of a recently deleted scene. (1263621)

  • Asset Pipeline: Fixed an issue where AssetDatabase.SaveAssetIfDirty() wouldn't save the asset if a sub-object was dirty, but the main object wasn't. (1341834)

  • Asset Pipeline: Fixed issue where an invalid GUID was being reported, but the file in which it resided was not. (1275878)

  • Asset Pipeline: Fixed issue with asset reference getting lost, if asset is modified and domain reload is done in the same refresh. (1357812)

  • Asset Pipeline: Fixed issue with incorrect progress bar text during startup. (1339167)

  • Asset Pipeline: Fixed issue with missing domain reload when entering play mode and LockReloadAssemblies is set. (1367222)

  • Asset Pipeline: Fixed issue with some FBX models being imported with a scale of 0 when 'Remove Constant Scale Curves' is enabled. (1348264)

  • Asset Pipeline: Fixed missing automatic scale down or import workers in order to not use excess system resources. (1343401)

  • Asset Pipeline: Fixed the progress bar being full during the import of assets. (1298760)

  • Asset Pipeline: Fixed to script type dependency hash generation. The issues could cause unnecessary imports and in some cases missing reimports. (1295635)

  • Asset Pipeline: Fixed various issues relating to assets not being correctly unloaded during AssetDatabase.Refresh(). (1186177, 1213291, 1255803, 1299716)

  • Asset Pipeline: Improved performance of flushing the preload operation queue from the main thread. This can occur when accessing an operation's result on the main thread before it is completed.

  • Asset Pipeline: InitializeOnLoad method shouldn't be used for asset operations, because InitializeOnLoad is called before asset importing is completed. (1279619)

  • Asset Pipeline: New version of OnPostProcessAllAssets with didDomainReload parameter added. This callback should be used for domain reload related initialization that requires asset operations such as asset loading. InitializeOnLoad method shouldn't be used for asset operations, because InitializeOnLoad is called before asset importing is completed. (1274994)

  • Asset Pipeline: PostProcessAllAssets callback now supports all asset db operations. (1144276)

  • Asset Pipeline: Preview of material is now correctly regenerated when shader changes (1298200)

  • Asset Pipeline: Previews are now correct for a prefeab when assets referenced by the prefab (like texture) changes (1284853)

  • Asset Pipeline: Updated reload tests to cover async domain reload.

  • Asset Pipeline: Using the AssetDatabase.CreateAsset() API to create an asset from a TextAsset object where the file type specified is not a native Unity format such as .ASSET will now report an error about incorrect usage of CreateAsset. (1241343)

  • Audio: (OSX) Sound effects in Audio Mixer were not always selected when clicked. (1124032)

  • Audio: AudioClip reference was lost when loading a new Scene even if AudioSource was set to DontDestroyOnLoad. (1314527)

  • Audio: Fixed AudioClip reference being lost when loading a new Scene even if AudioSource is set to DontDestroyOnLoad.

  • Audio: Fixed deadlock caused by interaction between output suspend/resume logic and DSPGraph output hooks.

  • Audio: Fixed DSPGraph playback not pausing when player is paused.

  • Audio: Fixed editor crash when undoing after reordering snapshots in the audio mixer.
    Fixed exception when deleting snapshots. (1324578)

  • Audio: Fixed microphone API not working when automatic output device suspension was active. (1318560)

  • Audio: SoundManager optimizations for lowering main thread performance degradations caused by having a large amount of loaded audio clips in a scene. (1146312)

  • Audio: Topological changes such as adding/removing/moving effects in the audio mixer resulted in glitches and, depending on mixer configuration, loud bursts. (666910)

  • Bug Reporter: Fixed a bug where the crash reporting symbol uploader process would crash on parsing certain dSYM files.

  • Bug Reporter: Improved failing filename error message to make it reflect the source of the problem better. (1298484)

  • Bug Reporter: Multiple Qt library copies are no longer included.

  • Bug Reporter: Reset Bug Reporter style to match Windows styling (1296042)

  • Build Pipeline: Added an API to gather the lighting and fog modes used by the active scene. (1293228)

  • Build Pipeline: Added build target Dedicated Server.

  • Build Pipeline: Errors from catastrophically failing incremental build pipeline steps are now clearer.

  • Build Pipeline: Fixed a bug where data builds would unnecessarily rerun in incremental player builds if the project contained editor resources.

  • Build Pipeline: Fixed a bug where UnityLinker would unnecessarily rerun without changes in incremental player builds.

  • Build Pipeline: Fixed a potential file name issue on windows in incremental player builds.

  • Build System: Fixed a problem with the detection of Microsoft.VCLibs SDK extension for UWP builds.

  • Burst: Added PreserveAttribute to prevent the internal log from being stripped in il2cpp builds.

  • Burst: Added PreserveAttribute to prevent the internal log from being stripped in il2cpp builds.

  • Burst: Broken link restored for known issues with debugging and profiling.

  • Burst: Broken link restored for known issues with debugging and profiling.

  • Burst: clang segmentation fault on iOS when member function debug information was emitted, it is disabled for this platform now.

  • Burst: Clang segmentation fault on iOS when member function debug information was emitted, it is disabled for this platform now.

  • Burst: Corrected 'Enable safety checks tooltip`.

  • Burst: Corrected 'Enable safety checks tooltip`.

  • Burst: Crash when extracting sequence point information for error reporting/debug information generation.

  • Burst: Direct Call extension methods that only differ on argument types are now supported (previously Burst's AssemblyLoader would complain about multiple matches).

  • Burst: Dots runtime function pointer transform has been simplified, making it less brittle and fixing some bad IL generation.

  • Burst: Dots runtime function pointer transform has been simplified, making it less brittle and fixing some bad IL generation.

  • Burst: Fixed a bug in LLVM that it would incorrectly convert some memset ->; memcpy if both pointers derived from the same memory address, and where one indexed into the 0th element of the pointer.

  • Burst: Fixed a bug that occurred when an explicitly laid out struct was used by a dup instruction, which caused an internal compiler error.

  • Burst: Fixed a bug that occurred when an explicitly laid out struct was used by a dup instruction, which caused an internal compiler error.

  • Burst: Fixed a bug where eager-compilation could pick up out-of-date global Burst menu options for compiling.

  • Burst: Fixed a bug where eager-compilation could pick up out-of-date global Burst menu options for compiling.

  • Burst: Fixed a bug where explicitly casting from an int to IntPtr would not sign extend the value.

  • Burst: Fixed a bug where explicitly casting from an int to IntPtr would not sign extend the value.

  • Burst: Fixed a bug where having any [DllImport] in a class that used the Direct Call mechanism could result in an illegal CompileFunctionPointer call being produced by our post processor.

  • Burst: Fixed a bug where having any [DllImport] in a class that used the Direct Call mechanism could result in an illegal CompileFunctionPointer call being produced by our post processor.

  • Burst: Fixed a bug where if a user had defined multiple implicit or explicit casts, the compiler could resolve to the wrong cast.

  • Burst: Fixed a bug where if a user had defined multiple implicit or explicit casts, the compiler could resolve to the wrong cast.

  • Burst: Fixed a bug where loading from a vector within a struct, that was got from a NativeArray using an indexer, would cause the compiler to crash.

  • Burst: Fixed a bug where loading from a vector within a struct, that was got from a NativeArray using an indexer, would cause the compiler to crash.

  • Burst: Fixed a bug where the Burst post-processing for direct call would cause duplicate function pointers to be compiled, wasting compile time in the editor and caused an Editor launch stall.

  • Burst: Fixed a bug where the Burst post-processing for direct call would cause duplicate function pointers to be compiled, wasting compile time in the editor and caused an Editor launch stall.

  • Burst: Fixed a bug where the multi-CPU dispatcher (used for player builds targetting multiple CPU architectures) could end up generating invalid instructions.

  • Burst: Fixed a bug where the progress bar would report double the amount of pending compile jobs if a user changed the Burst options while background compilation was going on.

  • Burst: Fixed a bug where the progress bar would report double the amount of pending compile jobs if a user changed the Burst options while background compilation was going on.

  • Burst: Fixed a bug whereby sometimes some LLVM intrinsics could be incorrectly marked as unused causing invalid codegen with calls to math.acos.

  • Burst: Fixed a bug with using multiple IsXXXSupported intrinsics in the same boolean condition would fail.

  • Burst: Fixed a minor debug information bug where built-in types with methods (like System.Int32) would generate incorrect debug information.

  • Burst: Fixed a possible DivideByZeroException due to race condition in TermInfoDriver initialization code.

  • Burst: Fixed a regression where managed static fields, in static constructors that would also be compiled with Burst, could cause a compile time failure for mixing managed and unmanaged state.

  • Burst: Fixed a very obscure bug where if you had a function-pointer that was called from another function-pointer of job, and that function-pointer happened to be compiled in a player build in the same bucket as the caller, and the no-alias cloning analysis identified that it could clone the original function-pointer to enable more aliasing optimizations, it could create a duplicate symbol error.

  • Burst: Fixed a very obscure bug where if you had a function-pointer that was called from another function-pointer of job, and that function-pointer happened to be compiled in a player build in the same bucket as the caller, and the no-alias cloning analysis identified that it could clone the original function-pointer to enable more aliasing optimizations, it could create a duplicate symbol error.

  • Burst: Fixed alignment issues associated with xxHash3 on ArmV7 (case 1288992)

  • Burst: Fixed alignment issues associated with xxHash3 on ArmV7 (case 1288992).

  • Burst: Fixed an issue where Burst would erroneously error on BurstCompile.CompileFunctionPointer calls when building for the DOTS Runtime.

  • Burst: Fixed an issue where Burst would erroneously error on BurstCompile.CompileFunctionPointer calls when building for the DOTS Runtime.

  • Burst: Fixed an issue where if a user used a math function (like cos, sin, etc) then LLVM would preserve both the scalar and vector implementations even if they were trivially dead, causing us to inject otherwise dead functions into the resulting binary.

  • Burst: Fixed Burst's handling of stack-recovery, in the editor, on Apple Silicon hardware. (1345235)

  • Burst: Fixed compilation errors when targeting Arm CPUs and using some of the Intel intrinsics

  • Burst: Fixed compilation errors when targeting Arm CPUs and using some of the Intel intrinsics.

  • Burst: Fixed compilation errors when targeting Intel CPUs and using some of the Arm Neon intrinsics

  • Burst: Fixed compilation errors when targeting Intel CPUs and using some of the Arm Neon intrinsics.

  • Burst: Fixed crashes on 32 bit windows when calling function pointers from managed code and using IL2CPP.

  • Burst: Fixed crashes on 32 bit windows when calling function pointers from managed code and using IL2CPP.

  • Burst: Fixed DOTS Runtime JobProducer Bursting code to support JobProducers with multiple generic arguments, complex job wrapper and generic jobs.

  • Burst: Fixed managed implementation of sub_ss intrinsic

  • Burst: Fixed managed implementation of sub_ss intrinsic.

  • Burst: Fixed managed implementations of blend_epi32 and mm256_blend_epi32 intrinsics on Mono

  • Burst: Fixed managed implementations of blend_epi32 and mm256_blend_epi32 intrinsics on Mono.

  • Burst: Fixed multi-CPU dispatcher (used for player builds targetting multiple CPU architectures) generating invalid instructions.

  • Burst: Fixed namespace issue triggering a warning in the editor.

  • Burst: Fixed some intrinsics not checking target CPU against required CPU, so it was possible to use some intrinsics without an IsXXXSupported check.

  • Burst: Fixed some intrinsics not checking target CPU against required CPU, so it was possible to use some intrinsics without an IsXXXSupported check.

  • Burst: Fixed the 1.5 restriction that Direct Call methods can only be called from the main thread, now they work when called from any thread.

  • Burst: Fixes DOTS Runtime JobProducer Bursting code to support JobProducers with multiple generic arguments, complex job wrapper and generic jobs.

  • Burst: Function calls using in modifiers on blittable structs where being treated as non blittable.

  • Burst: Gracefully handle failing to find a particular assembly in the ILPP to prevent an ICE.

  • Burst: IL Function Pointer Invoke Transformation now uses correct runtime library for dots runtime.

  • Burst: IL Function Pointer Invoke Transformation now uses correct runtime library for dots runtime.

  • Burst: IL Function Pointer Invoke Transformation updated to handle transforms that affect instructions that are the destination of a branch.

  • Burst: IL Function Pointer Invoke Transformation updated to handle transforms that affect instructions that are the destination of a branch.

  • Burst: Internal Compiler Error if a call was discarded (via BurstDiscard for example), but the callsites required an ABI transform e.g. struct return.

  • Burst: Internal Compiler Error if a call was discarded (via BurstDiscard for example), but the callsites required an ABI transform e.g. struct return.

  • Burst: Intrinsics: Neon - fixed vget_low and vget_high producing suboptimal code

  • Burst: Intrinsics: Neon - fixed vget_low and vget_high producing suboptimal code.

  • Burst: Made math.shuffle compile correctly when non-constant ShuffleComponent's are used.

  • Burst: Multiple bugfixes (please look at https://docs.unity3d.com/Packages/com.unity.burst@1.5/changelog/CHANGELOG.html for a detailed list).

  • Burst: PDB debug information for instance methods that also used struct return were incorrect.

  • Burst: PDB debug information for instance methods that also used struct return were incorrect.

  • Burst: Private [BurstCompile] methods no longer throw MethodAccessException

  • Burst: Private [BurstCompile] methods no longer throw MethodAccessException.

  • Burst: Revert to internal linkage for Android X86 (32bit) to ensure ABI compliance.

  • Burst: String interpolation issues when using Dots / Tiny runtime.

  • Burst: String interpolation issues when using Dots / Tiny runtime.

  • Burst: Strings can now be passed between methods.

  • Burst: The Direct Call injected delegate now has a unique suffix to avoid type-name clashes.

  • Burst: When generating Line Table only debug information, an unreachable could occur due to a missing check.

  • Burst: When generating Line Table only debug information, an unreachable could occur due to a missing check.

  • Core: Fixed bug where shadows disappear in the frustum corners from false positives in the shadow culling. (1153151)

  • Core: Fixed bug with shadow fade where the shadows will be culled with a hard line across the fade and also stretches the fade beyond the projected shadow.

  • Core: Fixed issue where Profiler/Memory Profiler cannot be connected to Standalone build when Run in Background is disabled. (1355728)

  • Documentation: Changed the documentation for HorizontalLayout and VerticalLayout. (1260855)

  • Documentation: Fixed html bug in TestRunnerApi API code snippet (DS-1973).
    Fix typo bug in PreBuildSetup code example (DS-1974).
    Fix incorrect syntax in command line reference (DS-1971).

  • Documentation: Fixed incorrect documentation for SaveCurrentModifiedScenesIfUserWantsTo. (1170364)

  • Documentation: Fixed missing function signatures from RayTracingAccelerationStructure.AddInstance C# API in 2021.2 documentation.

  • DX12: DX12 Standalone Player crashes at startup when using 32-bit player support. (1315964)

  • DX12: Fix int shader uniforms in .raytrace shaders being displayed as Floats in the Frame Debugger. (1305552)

  • DX12: Fixed flickering issue on mesh particles. (1357667)

  • DX12: Fixed wrong error message saying that vertex format SNorm16 is not supported when building a Ray Tracing Acceleration Structure. The format is supported.

  • DX12: Significant performance cost of using SRP batcher on DX12 reduced. (1286694)

  • Editor: (Dynamic Hints) Fixed: NullReferenceException when a prefab with a missing script is hovered in the ProjectBrowser

  • Editor: A warning is now displayed when modifying the enable analytics preference, informing the user that it will require a restart of the editor. (1307652)

  • Editor: Added API Updater rule to update global API AssetModificationProcessor to UnityEditor namespace (1064480)

  • Editor: Added new functionality to decouple the PlayerLoop() when the targetFrameRate is set to a finite value, so that it does not effect/slow down the other Editor windows. (1158168)

  • Editor: Added playerGraphicsAPI TestSettings parameter.

  • Editor: Added support for dragging across delayed UI fields to change variables. (1263630)

  • Editor: Added tooltips in the Scene template Inspector. (1324637)

  • Editor: Allow hierarchy search to find scripts which share names of internal types. (1252479)

  • Editor: Allow multiple Unity versions to display in the "Open With..." menu and dialog. Allow the user to choose one as the default. (1202338)

  • Editor: Close add ratio window after selecting from aspect ratio menu. (1284690)

  • Editor: ColorUsageAttribute is now respected when the inspector window is in debug mode. (1312714)

  • Editor: Create default index when opening the index manager if it was never created before.

  • Editor: Custom editors that live in a Unity package will now be used only is a user defined custom editor is not found. (1300193)

  • Editor: Default PropertyDrawer.OnGUI no longer renders multiple overlapping labels. (1335958)

  • Editor: Deleting search query from project browser won't break the search window (1336787)

  • Editor: Display the menu item name when its execution time is longer than the user wait threshold (i.e. 3 seconds) (1313062)

  • Editor: Displayed a warning when the min and max values are equal for the Slider. (1328583)

  • Editor: enable tabbing in the editor while modifier keys are pressed excluding command, control, and alt (1299846)

  • Editor: Ensure invalid Sketchup model UVs are initialized to zero.

  • Editor: Event.current.type scrollWheel pointerType value is now registered as PointerType.Mouse in the mac editor (1261326)

  • Editor: Favorite star is always visible for favorited items (1336789)

  • Editor: Fix arrow key functionality in dialogs in the Mac Editor. (1279832)

  • Editor: Fix for detecting and warning the user on imbalanced GUI layout groups (1289223)

  • Editor: Fix for layer names being clipped in Culling Mask and Volume Mask dropdowns of a HDRP project (1307655)

  • Editor: Fix popup windows in the Linux Editor to show on the right-hand monitor if requested from the right-hand monitor (1294722)

  • Editor: Fix styling of selected search query if hovering (1336784)

  • Editor: Fixed "Cannot get non-existing progress id" error appearing in the Console when entering Play mode. (1312446)

  • Editor: Fixed a bug where test filter would match project or player path (DSTP-412).

  • Editor: Fixed a crash that occurred when using the Memory Profiler to capture memory use for very large scenes. (1316870)

  • Editor: Fixed a memory leak while using SerializedObjects in the AssetImporter inspectors. (1232758)

  • Editor: Fixed a regression in where users could no longer assign a Render Texture to the light cookie widget in the UI. (1355504)

  • Editor: Fixed add an extra null check for monitor enumeration. (1320164)

  • Editor: Fixed an edge case where removing and re-adding a sub asset would cause the local file id of the object to change unnecessarily. (1323357)

  • Editor: Fixed an error is thrown after re-building a library of previous Editor version project when the Profiler of 2020.2 project is opened. (1273439)

  • Editor: Fixed an issue in macOS where popup buttons would show their popup far from the button if the button was near the bottom of the screen. (1323332)

  • Editor: Fixed an issue to avoid difference in Width and Height for EditorGUI.RectIntField fields compared to other fields in the Transform section. (1297283)

  • Editor: Fixed an issue to avoid MinMaxSlider disappears for UI Slider. (1323384)

  • Editor: Fixed an issue to avoid typing or pasting unlimited characters in Project and Console search fields. (1331001)

  • Editor: Fixed an issue to avoid warning log when selected sub-asset with an empty name. (1333540)

  • Editor: Fixed an issue to display checkmark next to "Everything" in drop-down for "Culling Mask" property value (1299181)

  • Editor: Fixed an issue to display Color32 Picker Context Menu at right position on right click. (1334328)

  • Editor: Fixed an issue to display Normalmap Encoding PlayerSetting only in supported platforms. (1330505)

  • Editor: Fixed an issue to display proper LayerMask properties value on selection. (1308984)

  • Editor: Fixed an issue to display Rect Transform Anchors in Scene View, with multiple Inspector windows open and when firstly opened one has been locked. (1221384)

  • Editor: Fixed an issue to display tooltip for "Maximum LOD Level" and "LOD Bias" Properties under Quality settings. (1296474)

  • Editor: Fixed an issue to enable cut and copy in context when Array Size field is selected. (1290634)

  • Editor: Fixed an issue to set top bit flag of an uint enum with inspector. (1298289)

  • Editor: Fixed an issue to stop clearing Asset's name property when resetting it via the Inspector.

  • Editor: Fixed an issue to stop sharing Player Settings properties between Player Settings window and Serialized Preset. (1263069)

  • Editor: Fixed an issue where an empty column is expanded when detaching/attaching UISystemPreviewWindow in the Profiler. (1241234)

  • Editor: Fixed an issue where calling EditorGUI.PropertyField with a serialized LayerMask and GUIContent.none prints a label. (1304172)

  • Editor: Fixed an issue where check box is shown on Inspector Titlebar for ScriptableObjects (1301335)

  • Editor: Fixed an issue where Default Text preset is not applied when creating a new Text object. (1328458)

  • Editor: Fixed an issue where null reference exceptions can be thrown when opening a URP project. (1310784)

  • Editor: Fixed an issue where out argument out of range exceptions are thrown when deleting Japanese characters in the input field. (1201105)

  • Editor: Fixed an issue where Shift-Delete does not delete the property for Object field. (1286390)

  • Editor: Fixed an issue where the Assembly definition asset does not save after an apply action on import setting pop up. (1309567)

  • Editor: Fixed an issue where the mouse cursor over the text field's cancel button is displayed as text instead of arrow and the cursor flickers when mouse is hovered over the cancel button. (1314173, 1314177)

  • Editor: Fixed an issue where warning appears when Scrollbar Navigation is set to Vertical and Direction is set to "Top To Bottom" (1245473)

  • Editor: Fixed an issue where warnings are thrown in the console when the layout is set to default while in play mode. (1317240)

  • Editor: Fixed an issue where Window title tooltip does not disappear after closing Editor window. (1283915)

  • Editor: Fixed and issue with toolbar dropdown buttons while resizing editor window on OSX. (1299763)

  • Editor: Fixed ArgumentNullException when selecting 'Static-dropdown' in the Prefab Overrides window. (1295412)

  • Editor: Fixed assets not getting moved when there's a folder of the same name in the selection. (1318098)

  • Editor: Fixed broken normal map previews (1339051)

  • Editor: Fixed color picker keeps updating color preview when the EyeDropper is used and Esc key is pressed. (1291991)

  • Editor: Fixed console window fails to repaint unless hovered over if it had been maximized before. (1300081)

  • Editor: Fixed crash when adding a component to an object fails and prompts a modal dialog. (1348654)

  • Editor: Fixed Ctrl-click on macOS editor not bringing up "Properties..." context menu on inspector object reference fields properly. (1316779)

  • Editor: Fixed cursor flickering from double arrow to single arrow over splitter on Mac and Windows. (1295344)

  • Editor: Fixed cursor hide in Linux playmode. (1350956)

  • Editor: Fixed cursor locking on Windows when the cursor is on a non-primary display. (1282412)

  • Editor: Fixed debug assert message in MenuControllerLinux.cpp's OnSizeAllocate() call to GetGtkWindowSize(). (1319050)

  • Editor: Fixed dragging horizontally along the last sibling in the Hierachy and other TreeViews to specify an alternative parent and sibling for the dragged items. (1294910)

  • Editor: Fixed empty reason on passed tests results xml (DSTR-63).

  • Editor: Fixed error is thrown on performing undo operation on a gameobject after adding 'New Script' component. (1312440)

  • Editor: Fixed failure to load window layout when Editor tries to create new asset from SettingsProvider callback at startup. (1322299)

  • Editor: Fixed File->;Open Recent Scene menu entries not working correctly after upgrading project from versions earlier than 2021.2.0a5. (1338322)

  • Editor: Fixed floating windowing jumping desktop spaces when using cmd + tab to refocus the editor on mac. (1298279)

  • Editor: Fixed for Canvas Group Interactable flag being applied to the GameObject even when the Canvas Group component is disabled. (1324097)

  • Editor: Fixed gameview not responding to some input when the mouse is over another window in the macOS editor. (1358134)

  • Editor: Fixed gradient swatches were not refreshed after undoing preset change. (1261595)

  • Editor: Fixed GUIToScreenpoint being inconsistent between play mode and standalone. (1305557)

  • Editor: Fixed hierarchy window top Scene header foldout not visible when scrolled. (1298679)

  • Editor: Fixed incorrect bounds when LineRenderer GameObject was not enabled and point editing mode was activated. (1288693)

  • Editor: Fixed infinite layout error loop when Editor UI is broken. (1327876)

  • Editor: Fixed instancing being ignored in the Shadow Pass when using the Mobile Diffuse shader. (1318675)

  • Editor: Fixed issue when . suffix was applied to BuildTargets without extension.

  • Editor: Fixed issue where the Intensity parameter of a Default Light Preset is not applied after creating Directional Light Game object. (1199933)

  • Editor: Fixed issue with CRTL Drag not working when a single item is selected in project browser one-column layout. (1222445)

  • Editor: Fixed issue with Reference Icon overlapping with Preset Manager text on decreasing the width of the Project Settings window. (1282739)

  • Editor: Fixed issue with Stack trace input Field being Misaligned on resizing Player setting Preset. (1276715)

  • Editor: Fixed jumping scroll-bar when working with arrays. (1362327)

  • Editor: Fixed keycode for new input system on Linux to reflect hardware keycode/physical key location. (1343619)

  • Editor: Fixed missing comma in the manifest file used by the guardian tool.

  • Editor: Fixed NullReferenceException error is thrown when pressing up/down arrow key in the Project's search bar while in Play Mode. (1318065)

  • Editor: Fixed NullReferenceException when trying to open Object Picker for ScriptableObject variable. (1293117)

  • Editor: Fixed Profile Analyzer - Mac keyboard commands not updating correct chart. (1327944)

  • Editor: Fixed ReorderableList having wrong label/field width ratio.

  • Editor: Fixed Repeat and Retry attribute for UnityTest in PlayMode (DSTR-237).

  • Editor: Fixed Scene's Hierarchy visibility and pickability settings being reset after building. (1271518)

  • Editor: Fixed selection issues with Shift + Arrow Up/Down in the Hierarchy. (1320614)

  • Editor: Fixed settings move erratically when the setting you are looking for is located in another platform's tab. (1293497)

  • Editor: Fixed slow enter playmode time for a specific scene file that contained sequential File ID Hint values. (1308128)

  • Editor: Fixed so that undocked windows can exit full screen/unmaximize. (1293516)

  • Editor: Fixed some styling issues with the main editor toolbar (1296757)

  • Editor: Fixed Terrain dependency cloning.

  • Editor: Fixed the background color of toolbar dropdowns when hovered and pressed (1313159)

  • Editor: Fixed the behavior where anchor preset window remains open even after a double click. (1302650)

  • Editor: Fixed the editor trying to move an already moved file after dragging a component from the Inspector to the Project Window. (1301332)

  • Editor: Fixed the GUI error in the console when a media file is opened. (1294494)

  • Editor: Fixed the issue where editor doesn't show unsaved changes pop up if editor is closed using Unity ->; Quit menu item. (1320565)

  • Editor: Fixed the issue where old window was not loosing focus after clicking on a mini pop-up of new window and further new window also gets focus. (1219099)

  • Editor: Fixed the issue with missing tooltip for Editor tools button. (1296952)

  • Editor: Fixed the issue with the Blue highlight being misaligned for the Cooking options dropdown in Mesh Collider. (1276638)

  • Editor: Fixed the LOD Group Inspector frames being too dark when using the Light Skin. (1311960)

  • Editor: Fixed the path to the scene template icon when querying icon from template path. (1325888)

  • Editor: Fixed the Recent Scenes menu not being updated after saving via Save As and moved scenes not being correctly tracked.

  • Editor: Fixed the Scene View not updating when the LineRenderer Show Wireframe option was changed.

  • Editor: Fixed tooltips being misaligned. (1325676)

  • Editor: Fixed top of Game View is black when "Use display in HDR mode" is enabled and "Color Space" is set to "Linear". (1285015)

  • Editor: Fixed undo on the Advanced Object Selector using the Search Picker not reverting the object field to its original value. (1336998)

  • Editor: Fixed Unity does not load the last scene after a crash. (1308699)

  • Editor: Generate Release Notes URL according to unity version (1301927)

  • Editor: IMGUI buttons don't work in Device Simulator when using the new Input System. (1333953)

  • Editor: Improved model import performance by a tiny amount.

  • Editor: Improved performance of copy/paste when duplicating large numbers of objects. (1208321)

  • Editor: Initializing the static Progress class from a thread no longer throws exceptions. (1337421)

  • Editor: Limited the length of the error messages in the UserRetryDialogs to not more than 200 characters per line. (1167593)

  • Editor: Menu Bar doesn't flicker anymore when dragging across monitors. (1219094)

  • Editor: Multiple improvements around automatic test-run of tests

  • Editor: Nested enumerator execution order fix (DSTR-227).

  • Editor: No more exception thrown in the console when inputting unsupported text in the Project Browser search bar. (1336292)

  • Editor: Open Prefab' button now uses less inspector space. (1270965)

  • Editor: Paste as Child should paste GO relative to parent instead of keeping world transform

  • Editor: Pausing playmode in the macOS Editor will no longer keep keys released in pause mode in the pressed position when playmode is unpaused. (1322149)

  • Editor: Prevent crash when running editor with Mac system debug menu enabled through defaults. (1301807)

  • Editor: Prevent popup windows from closing in the Linux Editor when child popups are not yet focused (1309702)

  • Editor: Refactoring to make placing windows in the Mac editor more robust and ensure windows are opened on one screen. (1297362)

  • Editor: Release mouse if it is dragging when a dialog is opened in the windows editor. (1271832)

  • Editor: Resolved Prefab object selection performance issue. (1352527)

  • Editor: Set gdk cursor invisible when forcing software cursor in editor playmode (1212108)

  • Editor: Show disable index in the index manager. (1307781)

  • Editor: String, Integer, Float, Character and BoundsInt type SerializedProperties now have Copy/Paste context menu options.

  • Editor: support Hungarian (and other) unicode characters in editor (1184456)

  • Editor: The arrow cursor in the Linux Editor is no longer slightly offset. (1256724)

  • Editor: The background task window is no longer repositioned and resized when opened from the status bar. (1337646)

  • Editor: The EditorSceneManager now gets the correct build index for Scenes of the same name upon calls to SceneManager.GetScenesAt in Play mode. (1128653)

  • Editor: The Object Picker has a maximum number of items it shows. Now showing a note to narrow the search if more than 12000 hits are shown. (1331728)

  • Editor: The progress bar in the status bar no longer gets stuck in an empty state. The progress bar in the status bar no longer shows instantaneous progresses. (1341616)

  • Editor: The Unity Documentation shortcut is no longer installed to the Windows start menu if documentation is not installed. (921689)

  • Editor: This fix makes sure to unify the il2cpp default order for managed stripping levels in the Player Settings drop-down menu to the one of Mono (Minimal >; Low >; Medium >; High).

  • Editor: Transform rotations from asset bundles are now correctly shown in the inspector. (958333)

  • Editor: UI not running any tests if run select on nested namespaces (DSTR-256).

  • Editor: Updated the iOS resolution presets of the Aspect Ratio dropdown list in the Game View window.
    iOS resolution presets that were removed:

    • iPhone 4/4S Portrait

    • iPhone 4/4S Landscape

    • iPad 2/Mini Portrait

    • iPad 2/Mini Landscape
      iOS resolution presets that were added:

    • iPhone 12 mini 2340x1080 Portrait

    • iPhone 12 mini 2340x1080 Landscape

    • iPhone 12/12 Pro 2532x1170 Portrait

    • iPhone 12/12 Pro 2532x1170 Landscape

    • iPhone 12 Pro Max 2778x1284 Portrait

    • iPhone 12 Pro Max 2778x1284 Landscape

    • iPad (7th-8th gen) 2160x1620 Portrait

    • iPad (7th-8th gen) 2160x1620 Landscape

    • iPad Air (4th gen) 2360x1640 Portrait

    • iPad Air (4th gen) 2360x1640 Landscape

    • iPad Pro 11-inch 2388x1668 Portrait

    • iPad Pro 11-inch 2388x1668 Landscape. (1321829)

  • Editor: Updated the style of some buttons and button groups when hovered, pressed and focused (1314662)

  • Editor: While Editor is entering Play Mode clicking menu doesn't return wrong entry anymore. (1263313)

  • Editor: Wrong ShaderGUI for crosspipeline shaders. (1339817)

  • GI: Fix case 1291662: OIDN crashes on AVX512 on MacOS (1291662)

  • GI: Fix clearing of lighting data for duplicate scenes saved with the "Save As" option. (1292192)

  • GI: Fix issue with experimental lightmapping.BakeAsync(Scene) interface getting stuck when baking reflection probes in additively opened scenes in the Editor. (1303788)

  • GI: Fix Reflection probe (gizmo and texture inspector) appearance in linear color space mode. (1293558)

  • GI: Fixed a crash that happens when GPULM tiling is ON, exporting the training data is ON and Ambient occlusion is OFF. (1341803)

  • GI: Fixed an issue where sometimes the callstack in Editor.log was incomplete on Windows. (1221524)

  • GI: Fixed an issue where the GPU lightmapper seems to be stuck in an endless loop before finishing a bake. (1258690)

  • GI: Fixed automated GI tests in HDRP and URP where multiple editors are used.

  • GI: Fixed baked lighting on terrain holes and better performance. (1307459)

  • GI: Fixed changes in lighting settings or lightmap parameters not affecting the appearance of baked reflection probes when baking via "Generate Lighting" in the lighting tab. (1324641)

  • GI: Fixed crash when closing editor while generating lighting. (1354238)

  • GI: Fixed crash with CPU OpenCL devices. (1338498)

  • GI: Fixed fallback to CPU lightmapper when writing LightCookies buffer and using Clear baked Data. (1321887)

  • GI: Fixed light baking gets stuck in a infinite loop when unloading a light baked scene if you have another scene open. (1337508)

  • GI: Fixed memory usage and performance regression when baking light probes. (1324307)

  • GI: Fixed missing indirect lighting when using Enlighten Realtime GI in HDRP Player. (1367133)

  • GI: Fixed out of bounds access in probeDepthOctahedronExpandedBuffer when generating Probe Volumes 1.0 data via experimental API. (1321881)

  • GI: Fixed prefab instances losing their lighting when they are unpacked, and the scene is reloaded. (1285269)

  • GI: Fixed rare crash when entering play mode while running a GI lightbake. (1301678)

  • GI: Fixed reflection probes not being zeroed out when lighting is cleared.

  • GI: Fixed scene lighting data not getting updated when the selected Lighting Data Asset for the scene is changed. (1263683)

  • GI: Fixed some fallbacks from GPULM to CPULM when using baked lighting and cookies. (1320169)

  • GI: Fixed unused return value during remapping of scene object id's. (1300323)

  • GI: Fixedcorruption in Probe baking when lightmap UVs are not provided. (1337226)

  • GI: Ignore OpenCL CPU devices that are incompatible with the GPU lightmapper on macOS due to insufficient local workgroup size. (1293520)

  • GI: Improved error logging when reporting errors relating to UV unwraps during a lightmap bake. (1327322)

  • GI: Introduced a full tiled-based baking system to the GPULM to reduce memory pressure.
    Some other improvements on memory consumption and baking speed on the GPU light mapper when the user is not activating some baking features.
    Reduced the memory consumption of probe baking using the GPULM (4Bytes per probe).
    Better estimation of the GPULM memory consumption even when tiling is off, making it less likely to fallback to CPULM.

  • GI: Make emission tooltip take Enlighten realtime GI state into account. (1329323)

  • GI: Make GPU lightmapper detect Intel IRIS Xe MAX GPU with 4GB memory. (1331794)

  • GI: Make it possible for the job manager to shut down the editor even if the OpenCL driver stopped working. (1276653)

  • GI: Make the compression label in Lighting Window - Baked Lightmaps better. (1297198)

  • GI: Reenabling a disabled light, reflection probe, or light probe group now makes it immediately visible in the Light Explorer. (1320277)

  • GI: Reimport all lightmap textures when "Lightmap Encoding" project setting is changed. (1195551)

  • GI: Removed erroneous asserts in scene object identifier remapping code.

  • GI: Removed terrain trees from being drawn in the shadowmask scene visualization mode as background objects as they do not receive a shadowmask, anyway. (1295410)

  • GI: Removed the Unity process count check that is used to guard the GI Cache from getting trimmed by other Editors, as the asset import workers are counted as Editors. (1313354)

  • GI: Support high intensity skyboxes for baking. (1222492)

  • GI: Use shadow penumbra to sort lights with penumbra by in the GPU lightmapper instead of indirect color. (1319138)

  • Graphics: * Improved support for ghosting particles.

    • Improved sharpening and other minor fixes from NVIDIA. (1345143)
  • Graphics: Add CameraBuffer VFX type to encapsulate camera buffers that can be Texture2D or Texture2DArray depending on the platform (1213482)

  • Graphics: Add control to independently clear stencil buffer in CommandBuffer api.
    Clearing depth does not implicitly clear stencil anymore.

  • Graphics: Added check for Vulkan support in Unity player. (1308206)

  • Graphics: Added exception when creating 3d textures with depth/stencil format on metal, as this is not supported. (1296524)

  • Graphics: Added GetActiveTerrains method which will fill a user-provided List with the active terrains, allowing users to control the resulting allocation. (1324062)

  • Graphics: Added Metal Compute Pipeline Validation to the Editor (1283446)

  • Graphics: Added per-camera freeUnusedRenderResources control to allow preservation of cameradata for infrequently-updated cameras. This prevents performance spikes that occur due to recreation of cameras that are guaranteed to be updated eventually, but at a frequency lower than once every 100 frames. (1296777)

  • Graphics: Added support for having multiple different Renderers on the same Game Object when using ray tracing. (1305305)

  • Graphics: Apple Silicon editor game view glitches were caused by discarding/overwriting the game view render texture data - this has been fixed. (1368374)

  • Graphics: Backport sllowing for Depth Sharing in Vulkan.

  • Graphics: Calculating correct rtHandleScale by considering the possible pixel rounding when DRS is on.

  • Graphics: Creating a RenderTexture in D3D12 with RenderTexture.antiAliasing value higher than supported by hardware will no longer crash the editor. (1310791)

  • Graphics: Disable Motion Vectors pass in Output Meshes even when other output has motion vectors enabled (1313043)

  • Graphics: Disabled "create material" button in terrain inspector when viewed through a preset. (1290453)

  • Graphics: Disabled ShadowCaster pass in Output Meshes if castShadows is disabled.

  • Graphics: Fix bug where in some situations the AsyncUploadBuffer was not persisting even when QualitySettings.asyncUploadPersistentBuffer was set to true. (1150408)

  • Graphics: Fix CPU performance issue when light probes and ray tracing effects are used together.

  • Graphics: Fix crash when using RenderPass without depth on Metal devices

  • Graphics: Fix issue with GrayScaleRGBToAlpha for 16bpc textures (1295408)

  • Graphics: Fix rare deadlock that can occur when a texture fails to load. (1265360)

  • Graphics: Fix shadow normal bias slider getting clamped at 3. (1213200)

  • Graphics: Fix Simplify button clipping in the LineRenderer Inspector when the window was narrow. (1308478)

  • Graphics: Fixed a bug with Cubemap.GetPixel(CubemapFace face, int x, int y) not passing its parameters correctly. (1305539)

  • Graphics: Fixed a case that render thread calls main thread only API in editor. (1317190)

  • Graphics: Fixed a crash that would occur when trying to create a VT GPU cache larger than the available GPU memory. (1293468)

  • Graphics: Fixed a crash when a RenderTexture is created using MSAA with random write flag which is an invalid combination. Return an error in the Console when this happens. (1343544)

  • Graphics: Fixed a crash when calling GetSize() on a RayTracingAccelerationStructure before calling the initial Build() on it. (1363258)

  • Graphics: Fixed a crash when passing in DepthAuto or ShadowAuto into SystemInfo.GetCompatibleFormat. (1343093)

  • Graphics: Fixed a critical issue on android devices & lens flares. Accidentally creating a 16 bit texture was causing gpus not supporting them to fail.

  • Graphics: Fixed a large, visible stretch ratio in a LensFlare Image thumbnail.

  • Graphics: Fixed a regression where calling the the Texture2D.Resize method with a Texture format parameter caused the underlying GraphicsFormat to flip color spaces on each call. (1312670)

  • Graphics: Fixed a situation which could cause the GPU to crash when a Skinned Mesh Renderer is assigned a mesh, which does not match the expected size/stride setup, and that Skinned Mesh Renderer is then used immediately before skinning has had a chance to happen.

  • Graphics: Fixed ACES filter artefact due to half float error on some mobile platforms.

  • Graphics: Fixed alignment in Volume Components.

  • Graphics: Fixed ALL/NONE to maintain the state on the Volume Component Editors.

  • Graphics: Fixed an incorrect error check in the BC7 decompressor. (1339809)

  • Graphics: Fixed an issue with ReadPixels() over 3 API's, where the first slice would always be returned instead of the specified depth slice. The bug was being caused by the active cubemap face only being used, the fix checks whether it should use the active depth slice or cubemap face. (979487)

  • Graphics: Fixed an uninitialized value problem found by Vulkan. (1309741)

  • Graphics: Fixed and issue where scene view filtering would now work properly for SRP's. (1180254)

  • Graphics: Fixed another recently added internal bug where when the shader debug level in Switch player editor settings is changed, the shaders were not corectly rebuilt.

  • Graphics: Fixed API to draw color temperature for Lights.

  • Graphics: Fixed assertion failure when releasing rendererlists in certain scenes. (1342215)

  • Graphics: Fixed assertion on compression of L1 coefficients for Probe Volume.

  • Graphics: Fixed black pixel issue in AMD FidelityFX RCAS implementation.

  • Graphics: Fixed bug where ComputeShader.IsSupported for OpenGL (ES) would only return false on the first call for kernel that did not compiler at runtime. (1334034)

  • Graphics: Fixed crash when a compute shader does not compile when using OpenGL. (1324695)

  • Graphics: Fixed crash when calling AsyncGPUReadback.RequestIntoNativeArray with a temp allocated array. (1336583)

  • Graphics: Fixed crash when calling GetPixelData with invalid arguments. (1322485)

  • Graphics: Fixed crash when DX12 Hardware Dynamic Resolution Scaling is enabled on XR. (1323531)

  • Graphics: Fixed crash when executing CommandBuffer.DrawProcedural and some other functions that refer to an already deleted ComputeBuffer or GraphicsBuffer. (1323447)

  • Graphics: Fixed crash when launching tutorials on Linux with AMD/Intel cards. (1323204)

  • Graphics: Fixed crash when switching resolutions rapidly on the unity editor when hardware DRS is enabled on HDRP. (1353948)

  • Graphics: Fixed crash wrong format desc of GraphicsFormat.VideoAuto on metal. (1296529)

  • Graphics: Fixed cropped thumbnail for Image with non-uniform scale and rotation

  • Graphics: Fixed disappearing mesh when "Keep Quads" is enabled in import settings. (1327826)

  • Graphics: Fixed double underscores in Hybrid Renderer shader constant names.

  • Graphics: Fixed DrawProcedural reporting incorrect triangle counts to FrameStats.

  • Graphics: Fixed empty RenderTexture.ResolveAA debug marker appearing in Frame Debugger and other frame capture tools on mobile platforms. (1330944)

  • Graphics: Fixed error when change Lens Flare Element Count followed by undo. (1346894)

  • Graphics: Fixed explicit half precision not working even when Unified Shader Precision Model is enabled.

  • Graphics: Fixed false-positive error message during ReadbackImage on GLCore. (1297065)

  • Graphics: Fixed frame debugger crash when using the RenderPass API with MSAA enabled. (1317665)

  • Graphics: Fixed gizmo rendering in SRP when wireframe mode is selected (1251022)

  • Graphics: Fixed GPU crash on Intel integrated cards when opening the editor with a scene that had VFX. (1332956)

  • Graphics: Fixed HDRP Camera Binder errors related to depthBuffer and colorBuffer properties. (1353845)

  • Graphics: Fixed HDRP Runtime test failure in Vulkan caused by incorrect shader code generation. (1323529)

  • Graphics: Fixed IES Importer related to new API on core.

  • Graphics: Fixed in crash for software DRS for DLSS in dx12 when changing the resolution mid frame. (1352848)

  • Graphics: Fixed incorrect GeometryJob Fence initialisation causing graphical corruption in UI canvas rendering.

  • Graphics: Fixed incorrect warning in when creating a texture from script with a compressed format that is not supported on the Editor platform. (1317998)

  • Graphics: Fixed issue displaying a warning of different probe reference volume profiles even when they are equivalent.

  • Graphics: Fixed issues caused by automatically added EventSystem component, required to support Rendering Debugger Runtime UI input. (1361901)

  • Graphics: Fixed L2 for Probe Volumes.

  • Graphics: Fixed layered rendering (and validation errors) with 3D Textures when using Vulkan. (1323740)

  • Graphics: Fixed layered rendering to mips of 3D textures when using Vulkan. (1329180)

  • Graphics: Fixed Lens Flare 'radialScreenAttenuationCurve invisible'.

  • Graphics: Fixed Lens Flare position for celestial at very far camera distances. It now locks correctly into the celestial position regardless of camera distance. (1363291)

  • Graphics: Fixed Lens Flare rotation for Curve Distribution.

  • Graphics: Fixed Lens Flare Thumbnails.

  • Graphics: Fixed library function SurfaceGradientFromTriplanarProjection to match the mapping convention used in SampleUVMappingNormalInternal.hlsl and fix its description.

  • Graphics: Fixed Light Layers with duplicate names being hidden in Light or Renderer component. (1335982)

  • Graphics: Fixed Light Probe evaluation in ray tracing shaders resulting in wrong ambient colors. Fixed Light Probe Proxy Volume setup not binding SH2 L2 band uniforms in ray tracing shaders. (1330711)

  • Graphics: Fixed LightAnchor too much error message, became a HelpBox on the Inspector.

  • Graphics: Fixed memory leak when changing SRP pipeline settings, and having the player in pause mode.

  • Graphics: Fixed Metal DebugGroups during Xcode GPU Frame Capture getting incorrectly nested when using RenderPass API. (1330942)

  • Graphics: Fixed Metal multisample depth resolve not working. (1330714)

  • Graphics: Fixed missing increment/decrement controls from DebugUIIntField & DebugUIUIntField widget prefabs.

  • Graphics: Fixed missing support for coarse/fine derivatives in shader code.

  • Graphics: Fixed normal bias field of reference volume being wrong until the profile UI was displayed.

  • Graphics: Fixed performance regression when changing Mesh vertices or indices. (1326091)

  • Graphics: Fixed potentially conflicting runtime Rendering Debugger UI command by adding an option to disable runtime UI altogether. (1345783)

  • Graphics: Fixed problem on domain reload of Volume Parameter Ranges and UI values.

  • Graphics: Fixed random crash when reloading VFX under special circumstances. (1291710)

  • Graphics: Fixed readback/blit from backbuffer in Editor when running GLES. (1301446)

  • Graphics: Fixed regression where RenderTextureDescriptor.depthBufferBits or RenderTexture.depth could return GraphicsFormat.None when setting the properties to 24 or 32 bit. (1340405)

  • Graphics: Fixed RenderPass API MSAA and clear action issues when writing to the backbuffer on Android (1315433)

  • Graphics: Fixed Right Align of additional properties on Volume Components Editors.

  • Graphics: Fixed rotation issue now all flare rotate on positive direction. (1348570)

  • Graphics: Fixed ScriptableRenderContext.ExecuteCommandBuffer crashing when called with a disposed command buffer (1306222)

  • Graphics: Fixed selection of sRGB format for rendertextures inspector. (1295276)

  • Graphics: Fixed situation where Hybrid Renderer could throw errors because of invalid reflection data.

  • Graphics: Fixed skybox cubemap corruption in Vulkan. (1195394)

  • Graphics: Fixed spacing between property fields on the Volume Component Editors.

  • Graphics: Fixed static batching bug related to rendering layer mask. Meshes that are set up with different rendering layer masks (unity_RenderingLayer uniform variable in shader code), are now correctly split when static batching is enabled instead of being merged, which would otherwise generate incorrect rendering if unity_RenderingLayer was accessed by the shader code.

  • Graphics: Fixed SystemInfo.supportsRenderTargetArrayIndexFromVertexShader when using Vulkan. (1269732)

  • Graphics: Fixed tessellation factors access in domain shaders on Metal/Vulkan. (1337590)

  • Graphics: Fixed Texture resource state that can be incorrect when the destination texture of Graphics.Blit() is also set as _MainTex of the blit material. (1323521)

  • Graphics: Fixed Texture2D.GetPixel(int x, int y, int miplevel) internally passing the miplevel parameter incorrectly. (1284757)

  • Graphics: Fixed Texture3D.CreateExternalTexture to work correctly with Vulkan. (1322987)

  • Graphics: Fixed TextureGenerator.GenerateTexture throws null pointer exception when running with enablePostProcessor to true. (1283888)

  • Graphics: Fixed the display name of a Volume Parameter when is defined the attribute InspectorName.

  • Graphics: Fixed the documentation of CommandBuffer.EndSample. (1264605)

  • Graphics: Fixed the location of the "Shader Graph" asset create menu to be next to the "Shader" menu. (1337080)

  • Graphics: Fixed the multicamera tests on Linux. (1318477)

  • Graphics: Fixed the random position of the Rendering Submenu on Assets >; Create. (1341763)

  • Graphics: Fixed the selection of the Additional properties from ALL/NONE when the option "Show additional properties" is disabled.

  • Graphics: Fixed to RenderTexture.format not returning correct values in the case of RenderTextureFormat.Depth and RenderTextureFormat.Shadow. (1365548)

  • Graphics: Fixed Undo from script refreshing thumbnail.

  • Graphics: Fixed unstable async readback test. (1288678)

  • Graphics: fixed Unwrap crash when automatic margin calculation results in very small margin (1308365)

  • Graphics: Fixed various issues wrt uploading Virtual texturing tiles when using non-native texture formats. (1337269)

  • Graphics: Fixed Volume Gizmo size when rescaling parent GameObject.

  • Graphics: Fixed Vulkan API AccessTextureByID which was failing due to an incorrect internal implementation.

  • Graphics: Fixing bug were a very strong emissive could leak if placed behind a canvas surface in the scene. (1295722)

  • Graphics: Flagged kFormatB10G11R11_UFloatPack32 as a HDR format (1310527)

  • Graphics: Force reload of VFX graph compute shaders when reloading assembly. (1107178)

  • Graphics: Game View Stats Saved by Batching is always 0 when using SRPBatcher. (1329391)

  • Graphics: GetGraphicsApiMask should be called in VisualEffectImporter to force reimport while changing API. (1300054)

  • Graphics: GetPixels,SetPixels,GetPixels32,SetPixels32 will now throw exceptions when failing instead of printing error messages. A number of bugs were fixed that could crash unity. (1293040)

  • Graphics: Graphics: Fixing DLSS vulkan black pixels / frame corruption of first frame. (1335735)

  • Graphics: GUIView.GrabPixels() on Metal will now fill the RenderTexture with valid content (1223120)

  • Graphics: Help boxes with fix buttons do not crop the label.

  • Graphics: Make metal query max tessellation factor from the driver instead of clamping to 16 always. (1289859)

  • Graphics: Metal shaders will compile correctly when referencing tessellation factors in the domain shader. (1139698)

  • Graphics: Minor UX improvements on Quality Settings Panel.

  • Graphics: NVIDIA package no longer gets enabled when a project is updated to a new version of unity. This was the result of a bad configuration. (1342012)

  • Graphics: Order of DLSS quality enumerations changed for better and more intuitive user experience. This change does not break API. (1335732)

  • Graphics: OSX Metal editor playmode wasn't using VSync in the game view properly when enabled - this has been fixed. (1371550)

  • Graphics: Partially fix limitation of sending only one event per frame : the direct link supports multiple event sent within the same frame.

  • Graphics: Pause VFX when frame debugger is enabled. (1195088)

  • Graphics: Properly handle terrain pixel error calculations for orthographic cameras. (1244606)

  • Graphics: Provided an appropriate API to update builtin reflection probes internal data. (1207660)

  • Graphics: Put objects with negative scale into separate static batch. This makes normal maps display correctly on those objects. (1205209)

  • Graphics: Reduced main thread hitching caused by Shader loading.

  • Graphics: Removed GraphicsFormat warning for RenderTextures when changing color space to gamma. (1284779)

  • Graphics: Removed the error message when encountering incompatible pipeline stages on DX12.

  • Graphics: Removed the unneeded data copy of the initialised memory to video memory when creating a texture from script. (1337186)

  • Graphics: Removed unnecessary api files for NVIDIA Module.

  • Graphics: Removed URP and HDRP templates. They are now dynamic templates

  • Graphics: RenderTextures are no longer forced to use Clamp border sampling if a format with depth is used. (1292651)

  • Graphics: Resolved exact fixed time step flickering while using strip (and other unexpected behavior). (1289829)

  • Graphics: Scissor test was automatically disabled when changing render-targets. It is not the case anymore and is consistent with other platforms.

  • Graphics: Skip wind calculations for Speed Tree 8 when wind vector is zero. (1335487)

  • Graphics: Support undo of Global Settings assignation (1342987)

  • Graphics: The warning was removed because URP / HDRP now no longer need to have an asset assigned to both Graphics and Quality to work. (1335986)

  • Graphics: Updated SpeedTree importer editor to correctly regenerate materials with custom render pipelines. Only shows the "Receive Shadows" toggle if that functionality is supported by the current SupportedRenderingFeatures. (1338973)

  • Graphics: Using CopyTexture on textures with different MSAA sample counts throws an error. (1308132)

  • Graphics: Virtual Texturing fallback texture sampling code correctly honors the enableGlobalMipBias when virtual texturing is disabled.

  • Graphics: Visual Effects in prefabs always show as modified. (1285787)

  • Graphics: Visual effects will continue to cast shadows even when they are not visible in camera. (1279851)

  • Graphics: VisualEffect could cause an unexpected assert if the graph samples a skinned mesh renderer with cloth (1307808)

  • Graphics: When adding Overrides to the Volume Profile, only show Volume Components from the current Pipeline.

  • Graphics: When creating PVRTC texture which is not POT and square throw an exception, as it is not supported and might result in crashes later on. (1329461)

  • HDRP: Added a new property to control the ghosting reduction for volumetric clouds. (1357702)

  • HDRP: Allow negative wind speed parameter.

  • HDRP: Assets going through the migration system are now dirtied.

  • HDRP: Cleanup Shader UI.

  • HDRP: Fix crash on VolumeComponentWithQualityEditor when the current Pipeline is not HDRP

  • HDRP: Fixed a bug with Reflection Probe baking would result in an incorrect baking reusing other's Reflection Probe baking.

  • HDRP: Fixed a bug with Reflection Probe baking would result in an incorrect baking reusing other's Reflection Probe baking.

  • HDRP: Fixed a compilation issue for AxF carpaints on Vulkan

  • HDRP: Fixed a divide-by-zero warning for anisotropic shaders (Fabric, Lit).

  • HDRP: Fixed a lack of syncronization between the camera and the planar camera for volumetric cloud animation data.

  • HDRP: Fixed a limit case when the camera is exactly at the lower cloud level. (1316988)

  • HDRP: Fixed a locale issue with the diffusion profile property values in ShaderGraph on PC where comma is the decimal separator.

  • HDRP: Fixed a memory leak related to not disposing of the RTAS at the end HDRP's lifecycle.

  • HDRP: Fixed a NaN generating in Area light code.

  • HDRP: Fixed a null ref exception when adding a new environment to the Look Dev library.

  • HDRP: Fixed a null ref exception when no opaque objects are rendered.

  • HDRP: Fixed a nullref in volume system after deleting a volume object. (1348374)

  • HDRP: Fixed a nullref when binding a RTHandle allocated from a RenderTextureIdentifier with CoreUtils.SetRenderTarget.

  • HDRP: Fixed a regression that broke punctual and directional raytraced shadows temporal denoiser. (1360132)

  • HDRP: Fixed a warning to Rendering Debugger Runtime UI when debug shaders are stripped.

  • HDRP: Fixed a warning when enabling tile/cluster debug.

  • HDRP: Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode.

  • HDRP: Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode.

  • HDRP: Fixed access to main directional light from script.

  • HDRP: Fixed Additional Velocity for Alembic not taking correctly into account vertex animation.

  • HDRP: Fixed aliasing artifacts that are related to numerical imprecisions of the light rays in the volumetric clouds. (1340731)

  • HDRP: Fixed ambient occlusion strenght incorrectly using GTAOMultiBounce.

  • HDRP: Fixed an error when deleting the 3D Texture mask of a local volumetric fog volume (1339330)

  • HDRP: Fixed an incompatibility between MSAA and Volumetric Clouds.

  • HDRP: Fixed an inconsistency between perf mode and quality mode for material simplification in RTGI.

  • HDRP: Fixed an inconsistency between perf mode and quality mode for sky lighting.

  • HDRP: Fixed an issue in the planar reflection probe convolution.

  • HDRP: Fixed an issue that clamped the volumetric clouds offset value. (1357318)

  • HDRP: Fixed an issue that made camera motion vectors unavailable in custom passes.

  • HDRP: Fixed an issue that made Custom Pass buffers inaccessible in ShaderGraph.

  • HDRP: Fixed an issue where auto baking of ambient and reflection probe done for builtin renderer would cause wrong baking in HDRP.

  • HDRP: Fixed an issue where disabled reflection probes were still sent into the the ray tracing light cluster.

  • HDRP: Fixed an issue where first frame of SSAO could exhibit ghosting artefacts.

  • HDRP: Fixed an issue where runtime debug window UI would leak game objects.

  • HDRP: Fixed an issue where selection in a debug panel would reset when cycling through enum items.

  • HDRP: Fixed an issue where sometime a docked lookdev could be rendered at zero size and break.

  • HDRP: Fixed an issue with debug overriding emissive material color for deferred path. (1313123)

  • HDRP: Fixed an issue with Decal normal blending producing NaNs.

  • HDRP: Fixed an issue with half res ssgi upscale.

  • HDRP: Fixed an issue with normal management for recursive rendering (1324082)

  • HDRP: Fixed an issue with reflection probe normalization via APV when no probes are in scene.

  • HDRP: Fixed an issue with resolution dependence for physically based depth of field.

  • HDRP: Fixed an issue with surface gradient based normal blending for decals (volume gradients weren't converted to SG before resolving in some cases).

  • HDRP: Fixed an issue with TAA causing objects not to render at extremely high far flip plane values.

  • HDRP: Fixed an issue with the capture callback (now includes post processing results).

  • HDRP: Fixed an issue with the mipmap generation internal format after rendering format change.

  • HDRP: Fixed an issue with volumetric clouds on vulkan. (1354802)

  • HDRP: Fixed artifact appearing when diffuse and specular normal differ too much for eye shader with area lights.

  • HDRP: Fixed artifacts in volumetric cloud shadows.

  • HDRP: Fixed assert failure when enabling the probe volume system for the first time.

  • HDRP: Fixed AxF debug output in certain configurations (1333780)

  • HDRP: Fixed bad feedback loop occuring when auto exposure adaptation time was too small.

  • HDRP: Fixed banding in the volumetric clouds. (1353672)

  • HDRP: Fixed black pixel issue in AMD FidelityFX RCAS implementation.

  • HDRP: Fixed blocky looking bloom when dynamic resolution scaling was used.

  • HDRP: Fixed box light attenuation.

  • HDRP: Fixed case where the SceneView don't refresh when using LightExplorer with a running and Paused game. (1354129)

  • HDRP: Fixed cases in which object and camera motion vectors would cancel out, but didn't.

  • HDRP: Fixed Clouds on Metal or platforms that don't support RW in same shader of R11G11B10 textures.

  • HDRP: Fixed computation of geometric normal in path tracing (1293029)

  • HDRP: Fixed conflicting runtime debug menu command with an option to disable runtime debug window hotkey.

  • HDRP: Fixed contact shadow debug views not displaying correctly upon resizing of view.

  • HDRP: Fixed contact shadows tile coordinates calculations.

  • HDRP: Fixed controls for clouds fade in.

  • HDRP: Fixed corruption in player with lightmap uv when Optimize Mesh Data is enabled (1357902)

  • HDRP: Fixed CPU performance on DLSS, avoiding to recreate state whenever a target can fall into the safe min/max resolution specified by the system.

  • HDRP: Fixed crash on SubSurfaceScattering Editor when the selected pipeline is not HDRP

  • HDRP: Fixed cropping issue with the compositor camera bridge (1340549)

  • HDRP: Fixed custom pass custom buffer not bound after being created inside a custom pass.

  • HDRP: Fixed custom pass delete operation. (1354871)

  • HDRP: Fixed custom pass volume not executed in scene view because of the volume culling mask.

  • HDRP: Fixed custom pass workflow for single camera effects.

  • HDRP: Fixed custom post process name not displayed correctly in GPU markers.

  • HDRP: Fixed custom post process template not working with Blit method.

  • HDRP: Fixed CustomPassUtils scaling issues when used with RTHandles allocated from a RenderTexture.

  • HDRP: Fixed CustomPassUtils.Copy function not working on depth buffers.

  • HDRP: Fixed decal draw order for ShaderGraph decal materials.

  • HDRP: Fixed Decal's pivot edit mode 2D slider gizmo not supporting multi-edition.

  • HDRP: Fixed Decal's UV edit mode with negative UV.

  • HDRP: Fixed decals in material debug display.

  • HDRP: Fixed diffusion profile being reset to default on SpeedTree8 materials with subsurface scattering enabled during import.

  • HDRP: Fixed diffusion profile breaking after upgrading HDRP (1337892)

  • HDRP: Fixed diffusion profile displayed in the inspector.

  • HDRP: Fixed disabled menu item for volume additional properties.

  • HDRP: Fixed distortion when resizing the graphics compositor window in builds. (1328968)

  • HDRP: Fixed Dof, would sometimes get corrupted when DLSS was on caused by TAA logic accidentally being on for DOF. (1357722)

  • HDRP: Fixed double camera preview.

  • HDRP: Fixed double contribution from the clear coat when having SSR or RTR on the Lit and StackLit shaders. (1352424)

  • HDRP: Fixed edge bleeding when rendering volumetric clouds.

  • HDRP: Fixed EmissiveLighting Debug Light mode not managing correctly emissive for unlit.

  • HDRP: Fixed enabling a lensflare in playmode.

  • HDRP: Fixed error in the RTHandle scale of Depth Of Field when TAA is enabled.

  • HDRP: Fixed error when disabling opaque objects on a camera with MSAA.

  • HDRP: Fixed error with motion blur and small render targets.

  • HDRP: Fixed exposure issues with volumetric clouds on planar reflection.

  • HDRP: Fixed exposure not being properly handled in ray tracing performance (RTGI and RTR). (1346383)

  • HDRP: Fixed fabric IBL (Charlie) pre-convolution performance and accuracy (uses 1000x less samples and is closer match with the ground truth).

  • HDRP: Fixed failures on platforms that do not support ray tracing due to an engine behavior change.

  • HDRP: Fixed for allowing to change dynamic resolution upscale filter via script.

  • HDRP: Fixed for discrepancies in intensity and saturation between screen space refraction and probe refraction.

  • HDRP: Fixed for wrong cached area light initialization.

  • HDRP: Fixed Force RGBA16 when scene filtering is active. (1228736)

  • HDRP: Fixed GBuffer clear option in FrameSettings not working.

  • HDRP: Fixed gbuffer depth debug mode for materials not rendered during the prepass.

  • HDRP: Fixed GC allocations from XR occlusion mesh when using multipass.

  • HDRP: Fixed ghosting issues if the exposure changed too much (RTGI).

  • HDRP: Fixed gizmo rendering when wireframe mode is selected.

  • HDRP: Fixed HDAdditionalLightData's CopyTo and HDAdditionalCameraData's CopyTo missing copy.

  • HDRP: Fixed HDRP material being constantly dirty.

  • HDRP: Fixed HDRP material upgrade failing when there is a texture inside the builtin resources assigned in the material. (1339865)

  • HDRP: Fixed HDRP's ShaderGraphVersion migration management which was broken.

  • HDRP: Fixed impossibility to release the cursor in the template.

  • HDRP: Fixed incorrect debug wireframe overlay on tessellated geometry (using littessellation), caused by the picking pass using an incorrect camera matrix.

  • HDRP: Fixed incorrect light list indexing when TAA is enabled. (1352444)

  • HDRP: Fixed incorrect RTHandle scale in DoF when TAA is enabled.

  • HDRP: Fixed infinite propagation of nans for RTGI and SSGI. (1349738)

  • HDRP: Fixed Intensity Multiplier not affecting realtime global illumination.

  • HDRP: Fixed invalid cast exception on HDProbe.

  • HDRP: Fixed invalid pass index 1 in DrawProcedural error.

  • HDRP: Fixed issue in Probe Reference Volume authoring component triggering an asset reload on all operations.

  • HDRP: Fixed issue in wizard when resource folder don't exist.

  • HDRP: Fixed issue of accessing default frame setting stored in current HDRPAsset instead fo the default HDRPAsset.

  • HDRP: Fixed issue that caused a rebake of Probe Volume Data to see effect of changed normal bias.

  • HDRP: Fixed issue were the final image is inverted in the Y axis. Occurred only on final Player (non-dev for any platform) that use Dynamic Resolution Scaling with Contrast Adaptive Sharpening filter.

  • HDRP: Fixed issue were the final image is inverted in the Y axis. Occurred only on final Player (non-dev for any platform) that use Dynamic Resolution Scaling with Contrast Adaptive Sharpening filter.

  • HDRP: Fixed issue when debug full screen 'Transparent Screen Space Reflection' do not take in consideration debug exposure

  • HDRP: Fixed issue when switching between non-persistent cameras when path tarcing is enabled. (1337843)

  • HDRP: Fixed issue with a compute dispatch being with 0 threads on extremely small resolutions.

  • HDRP: Fixed issue with an assert getting triggered with OnDemand shadows.

  • HDRP: Fixed issue with automatic exposure settings not updating scene view.

  • HDRP: Fixed issue with change in lens model (perfect or imperfect) wouldn't be taken into account unless the HDRP asset was rebuilt.

  • HDRP: Fixed issue with constant buffer being stomped on when async tasks run concurrently to shadows.

  • HDRP: Fixed issue with Depth of Field CoC debug view.

  • HDRP: Fixed issue with depth slope scale depth bias when a material uses depth offset.

  • HDRP: Fixed issue with fading in SSR applying fade factor twice, resulting in darkening of the image in the transition areas.

  • HDRP: Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions

  • HDRP: Fixed issue with gbuffer debug view when virtual texturing is enabled.

  • HDRP: Fixed issue with hierarchy object filtering.

  • HDRP: Fixed issue with history buffer allocation for AOVs when the request does not come in first frame.

  • HDRP: Fixed issue with NaNs in Volumetric Clouds on some platforms.

  • HDRP: Fixed issue with on-demand directional shadow maps looking broken when a reflection probe is updated at the same time.

  • HDRP: Fixed issue with physically-based DoF computation and transparent materials with depth-writes ON.

  • HDRP: Fixed issue with RAS build fail when LOD was missing a renderer.

  • HDRP: Fixed issue with shadow mask and area lights.

  • HDRP: Fixed issue with the LayerMaskParameter class storing an erroneous mask value. (1345515)

  • HDRP: Fixed issue with velocity rejection when using physically-based DoF.

  • HDRP: Fixed issue with vertex color defaulting to 0.0 when not defined, in ray/path tracing. (1348821)

  • HDRP: Fixed label style in pbr sky editor.

  • HDRP: Fixed LayerMask editor for volume parameters.

  • HDRP: Fixed lens flare not rendering correctly with TAAU or DLSS.

  • HDRP: Fixed lens flare occlusion issues with TAA.

  • HDRP: Fixed lens flare occlusion issues with transparent depth. It had the wrong depth bound. (1365098)

  • HDRP: Fixed light anchor min distance value + properties not working with prefabs. (1345509)

  • HDRP: Fixed light gizmo showing shadow near plane when shadows are disabled.

  • HDRP: Fixed light layer issue when performing editing on multiple lights.

  • HDRP: Fixed LightCluster debug view for ray tracing.

  • HDRP: Fixed lights shadow frustum near and far planes.

  • HDRP: Fixed LookDev environment library assignement after leaving playmode.

  • HDRP: Fixed material inspector that allowed setting intensity to an infinite value.

  • HDRP: Fixed material keywords with fbx importer.

  • HDRP: Fixed memory leak with XR combined occlusion meshes.

  • HDRP: Fixed migration step overriden by data copy when creating a HDRenderPipelineGlobalSettings from a HDRPAsset.

Changeset:
4bf1ec4b23c9

Third Party Notices

For more information please see our Open Source Software Licenses FAQ on the Unity Support Portal

Usamos cookies para garantir a melhor experiência no nosso site. Visite nossa página da política de cookies para obter mais informações.

Eu entendi