- At Risk
- On Track
Released July 23rd, 2020
2D package improvements
- Streamlined menus: 2D menu items are now displayed in dedicated top-level menus for object and asset creation, including menus for more recent features.
- Improved 2D Default Assets: Default assets for 2D now include a set of basic shapes as well as Tile Palettes and Sprite Shape Profiles.
- 2D Animation now includes 2D Inverse Kinematics (IK): 2D IK has been integrated into the 2D Animation package as of version 5.0. along with hideable gizmos and better visualization of IK handles.
Apple Silicon Support
Addition of support for Mac hardware with "Apple Silicon" CPU/GPU.
ARCore package updates to enable the following features:
- Adding support for ARRaycast trackables. To learn more about the underlying ARCore API see Google's ARCore Docs.
- Adding Depth option to ARCoreSettings. This indicates whether or not ARCore Depth API support is required for a specific application. See the ARCore Depth API Docs for more details.
- Improved multi-threaded rendering.
- Enhanced camera configuration.
ARKit package updates to enable the following features:
- Adding support for tracked (i.e. persistent) raycasts.
- Enabling additional possible ARKit configurations by allowing developers to specify which camera to use. Previously, the appropriate camera was inferred based on other configuration parameters.
- Adding ARKit Camera Grain exposure support for iOS 13 and above.
- Adding support for ARKit environment depth through the AR Foundation AROcclusionManager.
- Adding support for scene mesh generation through ARMeshManager.
C# 8 Support
Unity support for C# 8, minus default interface methods (Unity will emit a friendly error message if you use default interface methods).
You can find out more about C# 8 features here.
Consistency check for asset importers
Consistency check functionality to verify that asset importers produce deterministic results from a given input and set of dependencies.
The consistency check can be activated either by manually reimporting an asset or via the “-consistencyCheck” or “-consistencyCheckSourceMode” command line arguments.
Hierarchy View Improvements
- Can set a game object as “default parent” in the hierarchy; newly created or dragged into the scene objects will get parented under that.
- “Create Empty Parent” context menu item on game objects; wraps selection into a new empty parent object.
- Newly created objects go into “rename” mode by default. This can be turned off via hierarchy window settings menu.
- Version control integration (Perforce) can display VCS status overlays for prefabs in hierarchy.
- More intuitive shift-click behaviour to select items (extends selection from previous click, not from first click).
Import pipeline for 2DArray & 3D textures
“Flipbook” layout images (a grid of columns/rows with individual images) can now be imported as 2DArray or 3D textures.
Improve IL2CPP Iteration Time
- 0-Change rebuilds in IL2CPP platforms: IL2CPP conversion from .NET assemblies to C++ is skipped when making changes to assets that don’t involve code changes, for example to materials, shaders or prefabs. This improves artist workflows and speeds up iteration.
- IL2CPP player build time improvement: the process of converting .NET assemblies into C++ files has historically been single-threaded. In Unity 2020.2, the application that processes the conversion (il2cpp.exe) takes advantage of modern multi-core processors, dramatically decreasing the overall IL2CPP player build times.
- Array and List variables use reorderable list UI control by default. Can use [NonReorderable] attribute on C# variables to fallback to the old non-reorderable control.
- Mesh inspector can visualize blend shapes when they are present, and can also pan/zoom into the viewed mesh.
- Player settings Scripting Defines UI improvements - no longer just a single text field, but a full array control for easier editing.
- When multiple game objects are selected, the total selected count is displayed near the GameObject name field.
- TextAsset inspector performance improvement for large files.
- Game Object Layers 3, 6 and 7 were marked as “reserved for Unity” previously; now they can be freely edited and used.
- Improved UI of Editor Layouts menus/dialogs.
- Build Settings window is dockable now.
- Numbers with “f” suffix can be pasted into numeric inspector fields now, e.g. “1.5f”.
Mobile Notifications 1.3
Major refactor to the Mobile Notifications package with bug fixes and improvements.
Package Manager: Scoped Registries Management UX
Editor UI for providing context and management for external package registries. This provides better clarity on package provenance when you use the scoped registries functionality to configure your own registries for private package hosting.
Progressive Lightmapper Improvements
- Increasing the bounce limit for both GPU and CPU Lightmappers.
- Adding Blue Noise Sampling to improve the quality of lightmaps.
- Reducing memory usage in the GPU Lightmapper. When baking large lightmaps progressive updates will be disabled when memory runs low. Additionally, the Lightmapper will automatically throttle memory usage internally. This enables the GPU Lightmapper to bake larger projects.
Project View Improvements
Making asset rename & move operations undoable.
Safe Mode is a feature to guide you through the process of fixing script compilation errors that can come about from upgrading a project created in an earlier version of Unity.
In Safe Mode, non-script assets don't get imported until all script compilation errors have been fixed. This avoids the potential double-importing of assets that could trigger from invalidation of scripts after fixing compilation errors. Additionally, only a limited Unity assembly domain is loaded when Safe Mode is active: assemblies and package assemblies are not loaded. This allows you to concentrate on resolving script compilation issues first, before Unity exposes other issues that may need addressing, but that are not useful to report until script compilation is clean.
During Safe Mode, the UI is limited to providing the functionality that is relevant for fixing the script compilation errors. Game Hierarchy, Scene View, etc. are not available, for instance.
Scene View Improvements
- Thicker Move/Rotate/Scale tool handles by default (thickness can be set in preferences). Additionally, improving their picking logic, particularly for cases when it was not intuitive before.
- Multiple selected prefabs can be dragged into the scene view from the project view. Previously such operation was placing just one of the dragged prefabs.
- “Shaded Wireframe” scene view mode now works with HDRP/URP.
- Optimizing Gizmos rendering for large selections; up to 4x faster in some cases now.
- Keyboard shortcut for scene camera placement copy/paste. By default, there’s no key assigned, but you can assign it in the shortcut manager.
- Frame Selected (“F” shortcut) on an already framed object now zooms into its pivot point.
- More intuitive ctrl/cmd-click behaviour to deselect already selected prefabs.
SRP10 - HDRP Updates
- IES Profiles and Light Cookies
- Fabric, Hair, and Eye material samples: Use these materials as references and addition of new shader graph nodes dedicated to eye rendering.
- Improved reflections: Screen-space reflections on transparent Materials, and planar reflection probe filtering closer to physical behavior.
- Screen-space global illumination.
- Physical depth of field: More expensive but more physical.
- Graphics Compositor: combine multiple layers of rendering with different post-processing volumes and rendering settings. Can be used to composite video with real-time CG graphics.
- Streaming Virtual Texturing out of preview.
- Decal Layers + Angle fading: associate decals with specific meshes + tweak rendering depending on view angle
- HDRI flowmap: Allows to fake movement of clouds on a static HDRI.
- Histogram exposure: Advanced exposure control with histograms and associated metering debug views.
- Improved Physical lights: Intuitively choose light values with new Icons for Fluorescent, Shade, Blue Sky added to the temperature slider, intensity presets and UX fixes. Addition of range attenuation to box-shaped spotlights to make the Light shine uniformly across its range.
- Real-time Ray tracing: colored shadows, reflections on transparent, overall performance and quality improvement.
- Path tracing (Subsurface Scattering, Depth Of Field, Fog): RTX only.
- Performance and Memory optimizations.
- Improved anti-aliasing: Alpha to mask (for materials with alpha + MSAA) + Improvements on Temporal and contact shadows anti-aliasing
- New debug views and new volume explorer (HDRP debug window): draw new render passes (eg: light decomposition), light layers, quad overdraw & vertex density.
- Offline recording: Addition of accumulation sampling, path tracing convergence, and custom render pass export API (Integration in Unity Recorder to follow).
SRP10 - ShaderGraph Updates
- Master Stack and Stage Blocks: Replacing fixed-function master nodes with a flexible stack of shader features. Enables you to build graphs that work on URP & HDRP simultaneously.
- Internal Inspector: Addition of a contextual inspector panel within the Shader Graph window, letting you better organize data in the graph and have improved layout of settings.
- Material Inspector Override per-Graph: You can create your own Material Inspector and assign it to your graph.
- Node Alignment: As you drag a node, it will snap to other nodes (on the X and Y axis) in your graph to allow cleaner layouts.
- Redirect (Elbow) Node: A node allowing you to manually route edges to make graphs neat and readable.
- Source Control-friendly file format Improvements: allowing you to better view changes and resolve conflicts.
SRP10 - URP Updates
- Adding support for Screen Space Ambient Occlusion.
- Adding support for the Shadowmask Mixed Lighting Mode for Global Illumination.
- Adding support for GPU instanced mesh particles on supported platforms.
- Adding support for additional surface inputs: Detail Map, Detail Normal Map, Height Map, Parallax Map.
- Adding Clear Coat material support.
- Improving shadow settings: Shadow Cascade Count (1,2, 3 or 4), Control By Distance, Shadow Distance Fade.
- Improving Shader Stripping.
- Adding Global Illumination support to SpeedTree.
- Adding support for Normal Texture generation in a pre-pass.
- Adding an option to enable/disable Adaptive Performance when the Adaptive Performance package is present in the project.
SRP10 - VFX Graph Updates
- CPU Output Event: synchronize lights, sound, physical reactions, or gameplay (based on Spawn Events via a delegate interface in C#)
- Per-particle Mesh LOD: optimize your effects by setting LOD meshes based on the screen size in the mesh output.
- Multi-Mesh: use up to 4 meshes with the same mesh output to add per-particle variety to your effects.
- Culling optimizations: culling is done with compute shaders to discard the rendering of inactive or off-screen particles efficiently.
Support reference assemblies in the compilation pipeline
Unity will use Roslyn Reference Assemblies to skip compilation of references (to a modified asmdef assembly) by default if the public assembly metadata does not change. For example, if you modify only private methods or fields, only the modified assembly will be recompiled.
Version Control Improvements
- Perforce integration better understands “exclusive checkout” file status now.
- Asynchronous status queries VCS setting is on by default now.
- “-vcsModeSession” command line argument for the Editor: sets VCS mode only for the launched editor session (mostly useful for CI).