Our first TECH stream release of the year is available as of today. Unity 2020.1 includes a wide range of features and improvements that make Unity workflows even more intuitive and make you more productive, while Unity 2019 LTS remains the recommended version for projects in production.
Also, if you hadn’t heard our latest news, Unity has acquired the Bolt visual scripting asset from Developer Ludiq, and Bolt is now included in all Unity plans at no additional cost. You can read more about it in this blog post.
For Unity 2020.1 our guiding principle has been to make Unity an even more reliable and highly performant platform, to help you realize your creative and business goals. In this blog post, we will highlight some of the new improvements, whether you plan to take advantage of them now or wait until Unity 2020 LTS next year.
If your project is beyond the prototyping phase and you’re about to lock in your production on a specific version of Unity for maximum stability, we recommend you use the latest Long-Term Support (LTS) version of Unity, Unity 2019 LTS.
Before we dig into what’s new, we want to thank you for all the feedback you provide – from ongoing customer meetings to forum discussions and beta testing. One of the key factors in prioritizing features and determining our roadmap is the feedback from our community.
According to recent feedback, our community is clearly concerned about Unity’s becoming more modular. With more features now available as packages and in different stages of development, it’s challenging to identify the right tools to use for your project – what to use just for testing and what to use for actual productions about to ship. We often share features in their early stages. Labeled as “Preview,” these features are intended for developers to try out for their use case and provide feedback that may still impact the feature set. However, for projects in production or live, we always recommend that you use the latest LTS version and packages that have been verified. For more information on how we label our packages, see the user manual.
With the 2020.1 release, we made significant changes to Package Manager. It has several design updates, including a new user interface (UI) with new iconography and improved layout to help clearly distinguish the status of packages. We also added clear labeling and a warning section in the Package Manager UI, to provide better information about packages in use that are in Preview. The list of packages we display in the Package Manager UI will also be more strictly curated, meaning only packages closest to the verified stage will be available. We do this to offer a stable experience for the broad user base in general. For expert teams with use cases and interest, bleeding-edge tech will still be available. For them, we are providing a powerful new option: you can install custom packages in your project with authentication support for your npm-scoped registries and Git packages in repository subfolders.
New improvements to the toolsets make you more productive, provide more ways to customize your workflows to your specific needs, and reduce interruptions so you can stay in the flow. With Unity 2020.1 you can now visualize the scene context or parent Prefab while editing your Prefab asset. We added several importer improvements so custom properties for objects originating from SketchUp can now be imported along with new axis conversion settings, letting you fix axis import issues without having to reopen meshes in a digital content creation (DCC) program. The new Asset Import Pipeline v2, which we introduced last year, is now the new default and comes with support for serialized files larger than 2 GB and a status bar. With a Focused Inspector window, you can now easily see the Inspector details of a selected GameObject, the new Progress API and the Background Tasks window let you track progress better, and Partial Presets give more flexibility and control when applying Presets to your scene.
Visit our Editor and team workflows page for more details.
For programmer tools, we have primarily focused on improving usability and stabilizing workflows introduced in previous releases. You can run the Profiler as a standalone app, which reduces the performance overhead when profiling the Editor and gives you cleaner profile data. The Flow Event feature makes it easier to detect when code in the main thread of execution is waiting for a job to complete in multithreaded code. A new C# debugging workflow allows you to easily switch between release and Debug mode and makes the Editor run with C# code optimization in Release mode by default. Attaching a C# debugger will also allow you to enable Debug mode if you were in Release mode. We also improved support for serializing fields of generic types and the Visual Studio integration is now a package. Finally, Burst Compiler 1.3 is now available and adds native debugging capabilities, among other improvements.
Check out our page dedicated to programmer tools in Unity 2020.1 for more details.
2D Animation now gets a performance boost if you install the Burst Compiler and Collections packages via the Package Manager. This allows the 2D Animation package to use Burst compilation and low-level array utilities to speed up Unity’s processing of Sprite mesh deformation. Sprite Shape mesh baking allows mesh data to be stored while editing so it can be reloaded at runtime, avoiding unnecessary runtime mesh generation. 2D Physics includes updates like Rigidbody2D XY Position Constraints improvements, Per-frame Auto-Simulation to update physics at the same rate as the rendering cycle, and Edge Collider2D. We offer a sample project to test all 2D Physics features. The 2D default template has been updated so it now includes all the verified 2D tools, precompiled, so new projects load faster with the entire 2D toolset at your disposal.
You can now use Camera Stacking to layer the output of multiple Cameras and create a single combined output using the Universal Render Pipeline for when you need something that is rendered out of the main camera’s context (e.g., a version of your character in a pause menu, or a special cockpit setup in a mech game).
GPU and CPU Lightmapper has improved sampling. Lightmapping is now simpler in general, and we added Lightmapped cookie support. And with the Contributors and Receivers Scene View, you can now see which objects are influencing Global Illumination (GI) within the Scene. Lighting Setting Assets let users change settings that are used by multiple Scenes simultaneously.
Finally, Cinemachine, our suite of tools for dynamic codeless camera behavior, version 2.5 is now a verified package.
The new Input System was introduced during the 2019 cycle, and with 2020.1 it is now verified. It was built from the ground up to offer a unified Input Action window where you can bind actions from a wide range of modern and custom devices separately from the project logic.
For augmented reality (AR) in Unity 2020.1, AR Foundation now officially supports the Universal Render Pipeline, and feature support for ARKit, ARCore, Magic Leap, and Hololens is also enhanced. We’ve also significantly reduced the amount of time it takes to enable AR and virtual reality (VR) in your project with a new streamlined UI in Project Settings.
In 2020.1, we have added high dynamic range (HDR) display support for the Editor, allowing developers that use displays that support HDR to take advantage of the increased color and brightness ranges while working with HDR content without having to build for the target device to see the results.
Unity has been supporting development for the next generation of Xbox and PlayStation platforms since the release of our 2019.3 TECH stream, and our current releases continue to do so.
Find out what’s coming next from our dedicated pre-release technology page.
Please be mindful that Preview packages are not yet verified for use with the current version of Unity, so you should only use them for research and prototyping, not in production. Try them out and let us know what you think on the Betas & Experimental Features forum. Your feedback and bug reports are invaluable to us.
We will include Preview packages in the Package Manager when we believe that the package will be verified within that version’s release cycle. Naturally, things can change, but this is our initial guidepost in determining which packages are visible.
Other packages remain available in the production registry. At some point in the future, they might pass the requirements to be included in the Package Manager; however, they might be deprecated instead. If you still want to test them out, the easiest way to add them to your project is by clicking the add button in the Package Manager status bar, selecting Add package from git URL, and then writing in the name of the package, such as com.unity.tiny.all. It’s important to note that hidden packages are still working when they’re declared as dependencies for other packages. See this forum thread for the current summary of package visibility changes.
For more information about the Preview state and the lifecycle of packages, see Package states and lifecycle.
Here are some quick highlights of a few of the new Preview packages available in the Package Manager, as well as updates to existing packages in Preview.
The Profile Analyzer package, which enables users to compare frame and marker data from a set of Unity Profiler frames at the same time, comes with improved overall performance and a more streamlined user experience. Also, Code Coverage helps you visualize which lines of your code are being tested.
If you want to see what’s next in 3D animation, Kinematica is now available as a Preview Package. Another Preview feature, Animation Rigging, includes the new Bidirectional motion transfer that provides you an authoring workflow that lets you transfer existing motion onto active constraints.
For mobile, we’ve added even more devices and improved the user experience (UX) in the Device Simulator (Preview), making it even easier to simulate specific resolutions and notch/cutout layouts in the Game view, as well as preview device-specific customizations like quality settings based on device information like RAM and chipset.
Ray Tracing (Preview) now supports animation via the Skinned Mesh Renderer component and Alembic Vertex Cache. Streaming Virtual Texturing (Preview) is a feature that reduces GPU memory usage and texture loading times when you have many high-resolution textures in your Scene.
As we announced in January with the release of 2019.3, since more and more features are distributed as packages are continuously updated, we’re reducing the number of TECH stream releases from three to two per year. This allows for an extended stabilization phase to validate and improve the stability and quality of our tools between releases. Finally, you have fewer major releases to upgrade to. Unity 2020.2 is scheduled for Q4 2020.
This means that Unity 2020.2 beta will be available during the summer. To be among the first to try it out, sign up for our beta newsletter and get an update in your inbox when it’s available for testing.
We’re happy to announce the four lucky winners of our Unity 2020.1 beta sweepstakes! Dmitriy, Quentin, Peter, and Robert each win an NVIDIA GeForce RTX™ 2080 graphics card, and they have been contacted directly. Congratulations!
Are you curious about what’s coming in Unity 2020.2? You can get access to the alpha version now or wait for the beta.
Get a full overview of what’s available in the release notes, and visit our 2020.1 Overview hub to dig into these areas of interest: programmer tools, artist tools, editor and team workflows, graphics and platform support.
Community feedback is everything to Unity! Let us know what you think about Unity 2020.1 in the forums.