• At Risk
  • Delayed
  • On Track

2020.1.0

Download

Released July 23rd, 2020

[GPU Lightmapper] A-Trous Filter

Lighting

Support for A-trous filtering with the GPU Lightmapper.

AR Foundation - Environment Probes

Package
xR

Support of environment probes for ARCore in AR Foundation 3.0

C# Code Optimization Switching in Editor

Editor

New C# debugging workflow which makes Editor run with C# code optimization by default, improving Editor performance. You can also enable debug mode without restarting the Editor.

Cinemachine Verified Package

Cinematics
Package

Cinemachine, the versatile, dynamic camera system for cinematics and gameplay, comes out of Preview.

Focused Inspector

Editor
  • A Focused Inspector is a floating Inspector window dedicated to edit the object it’s focused on only. It can be opened by right-clicking on the target object or asset.
  • The Focused Inspector won’t listen to global selection change. This makes it easy to keep an eye on a specific object and also to compare multiple objects: just open a Focused Inspector for each objects to compare.

GPU Lightmapper Improvements

Graphics
Lighting

Various improvements to bring the GPU Lightmapper closer to feature parity with the CPU Progressive Lightmapper:

  • A-Trous filtering support.
  • Baked LOD Support.
  • Sky Occlusion Baking.
  • Memory usage improvements.

Input System Verified Package

Input
Package

The Input System Package comes out of Preview. It is a broad, extensible system for managing input from an array of common input devices from gamepads to touch screens to XR controllers. A simple interface and configurable profiles mean that your input isn’t hard-coded and as such is simple to amend as your project evolves.

Lighting Settings and Improvements

Graphics
Lighting

Several improvements including:

  • Lighting Settings Asset, which allows you to reuse settings across your scenes
  • Overlap-Free Packing, Calculated Pack Margins and a new Scene View mode for verifying your setup makes it easier to get a great lighting result, avoiding UV overlapping artifacts.

Major Shader System Improvements

Graphics

Removal of synchronous compilation from the shader import phase and added on-demand/background compilation of compute shaders: compute shader compilation no longer happens during the import process. This makes compute shader importing fast and gets rid of blocking Editor behavior. All the required variants are still compiled in time for use both in the Editor and in player builds.

Prefab Mode in Context

Editor

The Prefab Mode in Context feature lets you edit a Prefab Asset in Prefab Mode while visually retaining the context of the Prefab instance it was opened through. This means that while editing the Prefab Asset, you can still see the open scenes for reference, optionally with a gray-out effect.

Presets improvements

Editor
  • Partial presets (applying only a partial set of properties from a given Preset)
  • Preset drag & drop over imported files in project browser
  • Glob searching on path names (filtering in the Preset Manager based on a file’s path)
  • Fixes and other refinements

Streaming Virtual Texturing

Graphics

Streaming Virtual Texturing is a texture streaming feature that reduces GPU memory usage and texture loading times when you have many high resolution textures in your scene. It works by splitting Textures into tiles, and progressively uploading these tiles to GPU memory when they are needed.

Support for serialized data files and Asset Bundles >2GB in size

Base Libraries

Serialized game data files and asset bundles were limited to 2 gigabytes previously. This limitation is removed now, and files that Unity produces can be arbitrarily large.

Tilemap Updates

2D
  • Tile Palette Clipboard improvements.
  • Addition of Gizmos and GameObject support in the Tile Palette Window.

UDP (Unity Distribution Portal) Verified Package

Package

Unity Distribution Portal (UDP) allows you to distribute your games to multiple app stores through a single hub. UDP repacks your Android build with each store’s dedicated IAP SDK and lets you manage all your store submissions from the UDP console.

Visual Studio support Verified Package

Package
Scripting

IDE support for Visual Studio now shipped as a Verified package:

  • Using the same API used for Rider and Visual Studio Code.
  • Faster startup than the legacy built-in implementation.

2020.2.0

Download Beta

Beta in-progress

Adaptive Performance 2.0

Mobile
Package

The Adaptive Performance package allows you to get feedback about the thermal and power state of your mobile device and react appropriately.

Apple Silicon Support

Desktop

Addition of support for Mac hardware with "Apple Silicon" CPU/GPU.

ARCore Support

Package
xR

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 Support

Package
xR

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

Scripting

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

Asset Management

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

Editor
  • 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

Graphics
Importers

“Flipbook” layout images (a grid of columns/rows with individual images) can now be imported as 2DArray or 3D textures.

Improve IL2CPP Iteration Time

Performance
Scripting
  • 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.

Inspector Improvements

Editor
  • 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

Mobile
Package

Major refactor to the Mobile Notifications package with bug fixes and improvements.

Package Manager: Scoped Registries Management UX

Package Manager

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

Graphics
Lighting
  • 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

Editor

Making asset rename & move operations undoable.

Safe Mode

Asset Management

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

Editor
  • 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

Graphics
  • 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

Graphics
Package
  • 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

Graphics
Package
  • 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

Graphics
Package
  • 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

Scripting

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

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

Development

In-progress, timelines long or uncertain

Addressable Assets System for Creating, Managing and Loading Content

Asset Bundles
Asset Management
Build
Package

Addressable Assets handle the code complexity of creating, managing, and loading content by removing the steepest part of the learning curve and automating tedious tasks. Addressable Assets decouple the project code and content layout to eliminate the need for tracking assets and refactoring code. By starting with Addressable Assets, your game development can scale without increasing complexity. The game creator no longer needs to think about shipping details while making their game.

Animation Generic IK

Animation

User definable IK chains

Audio Recording

Audio

Add the ability to record Main and Mixer outputs to file

Automatic convex decompositions

Physics
  • Integrate V-HACD
  • A single mesh can be automatically decomposed into a set of convex MeshColliders
  • Helps with collision detection performance and accuracy
  • Enables sophisticated meshes on dynamic bodies and triggers

Basic Player Localization

Consoles
Desktop
Editor
Mobile
UI

The basic player localization feature is a set of features to add localization support in games made with Unity.

Build Reporting

Deployment

Deeper, more prominent reporting of information about the player build process and outputs.

Distributed LAN lighting builds

Graphics
Lighting

Polish the Hackweek X project on distributing lighting builds (precompute/baking) across machines on a LAN. The aim is to make a system that will automatically discover available machines and use them for time consuming lighting builds. No setup should be required. Video .

Graphics: Expose more formats to C#

Graphics

Allows creating texture and rendertexture with all the formats supported by modern GPUs

IMGUI Debugger

Editor

Gives the users ability to easily view all the draw calls for the IMGUI, with the option to open the source file in the right location, view all the data used to render the item.

Localization of Editor UI (Japanese)

Editor

Localization of the Editor UI. (No runtime or building localized assets)

PBR Mobile Optimizations

Graphics

Standard shader needs optimizations for low-end mobile/PC platforms. Some of these need to be GPU specific (for very popular GPU families)

  • Optimizations for Apple/PowerVR GPUs
  • Approximate/simplify for low-end GPUs like Mali-400
  • Automatic switching between "do math in shader" vs "texture lookup table" depending on GPU
  • Procedural Skybox shader optimizations

Prefab Mode in Context

Editor

The Prefab Mode in Context feature lets you edit a Prefab Asset in Prefab Mode while visually retaining the context of the Prefab instance it was opened through. This means that while editing the Prefab Asset, you can still see the open scenes for reference, optionally with a gray-out effect.

Save Play Mode Changes

Editor

Make it possible to selectively persist changes made during Play Mode so they are not lost.

Snapshot tracks for Timeline

Audio
Timeline

Support for serialized data files and Asset Bundles >2GB in size

Base Libraries

Serialized game data files and asset bundles were limited to 2 gigabytes previously. This limitation is removed now, and files that Unity produces can be arbitrarily large.

Video: Network Streaming

Video

Investigations & design work

Android: Support for Visual Studio project export

Mobile

Allows Android target to export Visual Studio project, you can the both build apk files and debug Android application from within Visual Studio.

In Visual Studio 2015, Microsoft added support for Android. It has capabilities of both building Android applications (with gradle) and debugging Android applications (with gdb wrapper).

Read more here - https://blogs.msdn.microsoft.com/vcblog/2016/06/12/build-your-android-applications-in-visual-studio-using-gradle/

Collaborate: Project Branching

Collaborate
Editor

Support more than one version of a project, for selective development

Focus Modes

Editor
  • Streamlined and unified structure for the increasing number of windows, tools, and visualisations in the editor.

Full physical light support

Lighting

Physical units, CCT, IES, ...

Script Api Updater: Expose APIUpdater to Asset Store authors

Scripting

Give Asset Store authors the ability change their APIs with less friction and retain compatibility

Visual Scripting

Editor

Initial prototype of Visual Scripting, for internal demonstration and feedback gathering purposes.