Search Unity

The Unity 2021.1 beta kicks off this year’s Tech Stream with a continued focus on quality and productivity, plus integrated visual scripting. Read on to learn what’s available for you to try out today.

Unity 2020.1 and 2020.2 included many improvements to existing functionality that make Unity workflows even more intuitive to boost your productivity. With the 2021.1 beta, we’re building on this foundation while also introducing the first iteration of the new key features announced in our 2020 roadmap blog post.

Some of highlights in 2021.1 are ready to be tested – and we’d love to hear your feedback:

  • Visual scripting: Create scripting logic without coding
  • Graphics: Point Light Shadows on for the Universal Render Pipeline (URP) and static shadow casters for the High Definition Render Pipeline (HDRP)
  • Editor: Performance improvements, including quick search and global variables for localization
  • Scripting: Faster IL2CPP, incremental C# script compilation, precision time API, and Code Coverage features
  • Profiler: Can now profile multiple players and servers from one machine, plus improvements to Memory Profiler 
  • Artist tools: ProBuilder’s point-to-point cut, Cinemachine support for physical cameras, and Timeline improvements, plus greater stability in cinematic tools and Python for Unity
  • 2D tools: Tilemap UX features, Sprite Swap workflow
  • Platforms: General improvements
  • Package lifecycle: Changes to how we roll out and classify new features and packages

You can get the latest beta from the Unity Hub or on our download page. As of today, it includes  over 1700 fixes and more than 240 features and changes. Remember, the beta is not intended for use in production-stage projects, and you should also make sure to back up your existing projects if you plan to use them with the beta, as always. That said, we would love to know how Unity 2021.1 works for you – submit a bug report to qualify for your chance to win one of four ultrawide IPS 34” 144 Hz monitors. Also, don’t hesitate to visit and post in the beta forum, where Unity staff across teams are monitoring and considering your valuable feedback.

Finally, make sure to sign up for the webinar on February 25, where the Creator Advocacy team will demo many of the new features in Unity 2021.1 beta. You can learn more about the webinar and sweepstakes below.

 

Join the hands-on 2021.1 webinar

Visual scripting

Unity 2021.1 integrates visual scripting as part of its core functionality. Visual scripting helps all team members create scripting logic with visual, drag-and-drop graphs instead of writing code by hand. Artists and designers can now get more done in the Editor without requiring help from programmers, while programmers can quickly implement ideas for faster prototyping and iteration.

  • Integration as a core Unity capability: Visual scripting workflows have been adjusted for clarity and unification with other Unity tools, and some menus, windows, nodes, notions, or namespaces have been renamed for consistency. Extensions to visual scripting will need to be updated and recompiled. Visuals or documentation from third parties that feature visual scripting content might differ from this new version and will need to be updated.
  • Now available as a package: The Visual Scripting package can be revealed in the Package Manager by enabling “Pre-Release packages” during this beta, and it’s also available by default with new projects. Visual scripting preferences have been integrated into Unity Editor preferences and project settings, and the documentation has been also updated. It is not recommended to migrate a project containing Bolt data to this Pre-Release version since this is still work in progress.
  • Workflow optimizations and integrations: The visual scripting workflow has been optimized to maximize productivity. Graph editor, Blackboard and Graph Inspector have been consolidated into a single window, and units are generated automatically the first time the graph window is opened. Ahead-of-time (AOT) pre-compilation is automatic. Also, visual scripting now provides dedicated support for the new Input System. To get the new nodes, units need to be regenerated after you add the Input System package.

You can learn more about visual scripting, discuss and share your feedback in the forum, or get started with this Unite Now session.

Graphics

In 2021, we are continuing to mature our Universal Render Pipeline (URP) and High Definition Render Pipeline (HDRP) solutions alongside authoring tools like Shader Graph or Terrain. In 2021.1, the Graphics R&D team is focused on stability and bug fixes.

  • Point Light Shadows support in URP: One of the most requested features of URP, is now available. Point light shadows help you to create more realistic simulation of lamps, torches, campfires and other local sources of light in a Scene.
  • URP for AR and VR projects: In 2021.1, the URP includes significant improvements such as better URP XR automation to support per-feature-level XR testing and enhance overall XR stability in URP. We have also refined the URP camera inspector when running in XR.
  • Static shadow caster for HDRP: The static shadow caster lets you cache only a portion of nondirectional shadow maps. With this setup, HDRP renders shadows for static shadow casters into the shadow map based on the light’s update mode, but it renders dynamic shadow casters into their respective shadow maps for each frame. This can result in significant performance improvements for projects with lights that don’t move or that move infrequently but still need to cast dynamic shadows.
  • SRP2Core: With the release of 2021.1, graphics packages are being relocated to the core of Unity. This move will simplify the experience of working with new Unity graphics features, as well as ensuring that your projects are always running on the latest verified graphics code. For each release of Unity (alphas, betas or Tech Stream), the graphics code is embedded within the main Unity installer – so when you install the latest release of Unity, you will be getting the most recent versions of the URP, HDRP, Shader Graph and VFX Graph. The graphics packages we release are tied very closely to the main Unity releases, and this change allows for better testing to guarantee that your graphics packages have been tested extensively with the version of Unity that you’re downloading. Advanced users can still use a local copy of the graphics packages by overriding versions in the manifest file, as in the past. We have more details about this update in our forum post.

Editor

Workflows and usability continue to be the highest priority for us in 2021. This release includes over thirty quality-of-life and performance improvements in the Editor.

  • Textures: We’ve implemented several optimizations to achieve faster texture imports, including up to a 2.7x faster texture compression.
  • Editor usability improvements: In this release, we’ve added a new Search field in the Gizmos window, a Clear on Recompile option in the Console window, cleaner organization for the Transform component’s context menu, and a new confirmation pop-up when dragging assets into the Project view that already exist there, among others. MeshFilter.mesh property is now animatable. We’ve also  improved the LODGroup UI, which should help technical artists’ and graphics engineers’ workflows.

  • Search: The Quick Search package has been added directly into the Editor with updated UI for better integration. This feature allows users to easily find anything in the Editor, reducing the tedious and difficult process of locating assets, game objects, settings, and even menu items for large projects. Learn more in the forum discussion.
  • Unity localization: This Experimental package includes Global Variables, which make it easier to work with Smart Strings. Global Variables trigger automatic updates when changed, which frees you from tracking individual UI values. Another feature is Custom Global Variables, which can be grouped and nested. Newly implemented fallback support allows you to set fallback locales so that when there is an untranslated string or asset, it will use a previously specified language. You can also extract character sets that can be used to generate TextMeshPro font assets. Learn more about this package in our forum.

In this beta webinar, the team offers a look at the new features and how they work.

Scripting and profiling

We’re focusing on improving your team’s productivity across the development lifecycle, from asset import, build and deployment to in-Editor iteration. The following features are ready to try in the 2021.1 beta.

  • IL2CPP: Further improvements reduce existing IL2CPP conversion and C++ compilation time. This collection of many small optimizations to parallel conversion incrementally improves project conversions.
  • C# Script Compilation: Both in-Editor and player-build compilation are now being performed on an incremental basis to reduce wait time.
  • Visual Studio: Integration support within the Unity Editor was moved to a package in 2019.2, but the built-in integration was retained in the main trunk through 2020. In 2021.1, this integration will be removed so users will rely on the package exclusively.
  • UnityLinker: Changes improve method body stripping, detection of C# reflection, and delegate stripping, all to reduce the amount of time IL2CPP spends converting the stripped assemblies to C++ and also the executable size.
  • Version Defines: Use the Assembly Definition Version Defines feature to write code that accommodates different versions of the packages implemented in a Unity project. This allows C# developers to provide backwards compatibility with older Unity versions while implementing newer features with confidence that the older builds will function as expected.
  • Precision-time API: A new precision-time API, Time.timeAsDouble, introduces a number of AsDouble properties and allows developers to use double precision time in their projects. Leveraging this API will be especially beneficial to users who have long-running applications such as dedicated game servers.
  • Code Coverage: Code Coverage is a Pre-Release package, aiming for Released status within this release cycle. The latest version includes some new features and improvements including path filtering, which allows you to specify folders and files to include or exclude in a coverage report; a new window location under Window > Analysis; a new CodeCoverage.VerbosityLevel API, which allows you to set the verbosity level of the Code Coverage log messages in the Editor and console logs; and new assemblyFilters aliases (<user>, <project> and <packages>) in batch mode, which are used to reference a group of assemblies to include or exclude. Also, any code that should not be contributing to the Code Coverage calculation can now be excluded by adding the ExcludeFromCoverage attribute.
  • Profiler: Updates include the ability to connect the profiler to a specific Player if multiple Players are running on one machine. The profiler sample selection workflow is now more reliable and persists. This allows developers to mark a section of their code to emit a profiler sample, which can be selected in the Profiler and see different visualizations and more easily follow its occurrences throughout the recording, including Timeline and Hierarchy.

  • Memory Profiler: Memory data reporting APIs were updated to ensure all relevant data for managed types, including multidimensional arrays, is being reported and can be inspected in the Experimental Memory Profiler package. Additional improvements were made to texture and mesh memory reporting and also better crawling of static reference data is now performed. Connect with us in the forum and tell us what you think. 

Artist tools

This release includes many improvements to our existing toolset, as well as several new features that will be particularly useful for our users working in the media and entertainment industry.

  • ProBuilder v5.0: This package brings tools to improve usability for level designers and greyboxing workflows. The new version features the point-to-point cut tool, which allows you to cut on the face of a ProBuilder mesh to create divisions of the original face in different sub-faces. This version also improves precision and accuracy when creating new shapes with the Shape Creation tool in your Scene.

  • Cinemachine v2.7: This package now offers full support for physical cameras, so users who work with physical cameras can now control all parameters from Cinemachine virtual cameras. The 2D camera confiner was improved, so cameras can be confined using complex boundaries. Timeline scrubbing is now supported, which makes it possible to cache procedural camera motion for deterministic results on the Timeline. The Cinemachine menu has moved under the GameObject menu to align with other forms of object creation. Let us know what you think in the forum post.
  • Timeline: Its latest package version includes quality and stability improvements with samples, multiple quality-of-life API changes for customizability, and Japanese translation.

The improved 2D camera confiner is capable of more complex set-ups.

  • FBX Exporter: This becomes a Released package in 2021.1 and includes stability improvements. The package exports a scene reference for animation, allowing users to interoperate with popular DCCs (such as Maya and Max). It’s also possible to record animations in-Editor, which lets users export references to Maya and Max so that they can re-key animations.
  • Unity Alembic: Now Released, the Unity Alembic package allows you to import (and export) Alembic files into your Unity Scenes, where you can playback and record animation directly in Unity. It brings in vertex cache data from 3D modeling software, such as facial animation (skinning) and cloth simulation (dynamics), allowing you to ensure that work looks exactly the same in Unity as it did in the DCC. In 2021.1, we added Unity Recorder integration (compatible with Unity Recorder 2.2.0 or newer). See the forum for more information.
  • Unity Recorder: This newly Released version includes bug fixes; learn more on the forum.
  • Python for Unity: This Experimental package includes a version of Python 3 that allows you to run Python tools in the Unity Editor, which is useful if your team needs to communicate with Python-based tools like Shotgun or TensorFlow, or in-house custom pipeline tools.

2D tools

This release includes usability and stability improvements for all the 2D tools introduced in recent years, with a focus on Sprite Swap workflows and 2D graphics for the end of this cycle.

  • Sprite Editor: Slicing options now allow you to slice sprite sheets that contain continuous neighboring isometric tiles. This helps to speed up the process of preparing isometric tilemaps if your art is done in one single image. Performance for slicing into a large number of textures was also improved.

Create isometric tile sprites from an original sprite sheet with continuous neighboring tiles. Art courtesy of Kenney.nl

  • Tiles and Tilemaps: This release includes several fixes and usability improvements to Tilemaps and the Tile Palette. You can toggle the visibility of the grid and gizmos from the Tile Palette and from Scene View in the Gizmos menu. The flood fill functionality has the option to paint over non-continuous tiles and dynamic batching for Tilemaps, which works with GameObjects that have secondary textures.
  • 2D Renderer: This now supports the material property BaseMap used in URP, making SpriteRenderer, TilemapRenderer and SpriteRenderer directly set the diffuse texture from shaders made in URP or with Shader Graph.
  • Camera Sorting Layers Texture in 2D Renderer: This texture can be accessed and manipulated in shaders. Applications for this include creating water or heat haze effects similar to the Opaque Texture in URP.
  • SpritePostProcess: This is now faster and uses less memory, especially when processing a large number of sprites. Learn more here.
  • Sprite Swap: This workflow is now part of the general sprite workflow (and not just for skinning within the Sprite Editor for 2D animation). The 2D Animation package now includes a centralized Sprite Library, which includes all the potential customizations that their characters, props, or other visual assets could require at any given moment.

The new UX moves the Sprite Swap tooling to the Inspector view. Here, you can see the asset file, component, and Sprite Resolver component in the Inspector.

  • 2D SpriteShape: This has a new tessellation method that was developed based on community feedback. It offers better performance by using jobs to avoid garbage collection, enabling you to more performantly generate or modify dynamic SpriteShape objects at runtime. This feature can also be beneficial when size and memory are important constraints for a project. You can enable this feature by installing the Burst package – learn more details in this forum discussion.

Platforms

Platform reach has always been at the heart of Unity, and that includes platform support and launch-day content for next-generation consoles, Apple Silicon, and continued optimization and support for mobile architecture and AR/VR platforms. In the Unity 2021.1 beta you will find:

  • Device Simulator: Previously available as a Preview package, this feature is now part of the Editor as a default feature. Device Simulator extends the traditional Unity Editor game window by simulating Screen and SystemInfo class behavior to give an accurate picture of how an app will look on a device. The transition changes how the APIs are simulated, and it now requires a new namespace UnityEngine.Device: to simulate the screen, application, and system information:

You can easily switch to the UnityEngine.Device by adding the following to each script you want to work with in the simulator:

The new namespace UnityEngine.Device will transition smoothly from the simulator (when in the Editor) to the actual device API with a runtime build.

  • Android: Starting with 2021.1, Unity requires Android NDK r21, installed by the Unity Hub.
  • AR Foundation: Version 4.1 includes updates across ARKit and ARCore, such as support for depth textures and expanded functionality for the AR Occlusion Manager like automatic environment occlusion.
  • XR Interaction Toolkit: With this Pre-Release package, you can add interactivity to your AR and VR experiences across our supported platforms – without having to code the interactions from scratch. In 2021.1 you’ll find major improvements to the XR Interaction Toolkit which includes smooth locomotion, support for the Unity Input System, keyboard/mouse simulation to simulate inputs without deploying to a device, improved layout for properties in the Inspector window, and new samples for URP. Learn more in the forum.

 

  • Platform support: Unity will continue supporting Xbox and PlayStation developers on next-generation platforms throughout the 2021 cycle and in the future.

The new package lifecycle

Starting in 2021.1, we are changing the way we publish, show and label packages in the Package Manager. This new iteration is meant to provide clearer guidance regarding a package’s stability, anticipated support level, Unity’s long-term commitment, and the expected release date. This new lifecycle is the result of many rounds of feedback with the community and should ultimately make the Package Manager experience better. You can read the details and comment in our forum thread.

This graph summarizes each phase of this new package lifecycle.

Beta users who want to discover and try Pre-release and Experimental packages can continue to do so by visiting the new dedicated forum space or by subscribing to our newsletter at the bottom of this blog post.

Want to know more about Unity 2021.1? Watch the beta webinar

Watch our 30-minute hands-on overview of some of the new features and improvements you might find interesting in this release. Hosted by Amel Negra and Ciro Continisio from the Creator Advocacy team.

 

Join the beta for a chance to win an ultrawide 34” IPS monitor

By participating in the 2021.1 beta, you can qualify for a chance to win one of four ultrawide 34” IPS 144 Hz Acer NitroXV0 monitors.

To enter the draw, all you have to do is identify and report at least one original bug in a 2021.1 version while the submission period is open. The contest opens at 00:01 am PT from January 27, 2021, and the submission period ends at 23:59 pm PT on March 18, 2021. 

An original bug is one that has not yet been reported at the time of submission and has been reproduced and acknowledged by Unity as a bug. Make sure to add #Beta2021Win_MONITOR in your bug report submission. Every additional valid submission increases your odds of winning, but no participant can win more than one prize.

No purchase necessary. Void where prohibited. See the full rules here. We will contact the winners directly.

Sign up for the beta newsletter

If you want to stay up to date with new Unity betas, Pre-Release packages, or other activities that we have lined up for the beta community, subscribe to our newsletter to get the latest information delivered directly to your inbox.




 

What’s next?

As always, we look forward to sharing more updates and digging deeper into the Unity 2021.1 features in blog posts, Unite Now talks, and more. If you want to learn about what our teams are working on and get a glimpse behind the scenes, check out our Road to 2021 dev diaries for 2D, performance optimization and quality of life enhancements, and stay tuned for an upcoming post on visual scripting, which will be the fourth in this series.

Both the Unity 2020 LTS and full release of Unity 2021.1 are scheduled for the spring. The second and last Tech Stream of the year, 2021.2, is expected to launch in autumn of 2021.

The following is intended for informational purposes only, and may not be incorporated into any contract. No purchasing decisions should be made based on the following materials. Unity is not committing to deliver any functionality, features or code.  The development, timing and release of all products, functionality and features are at the sole discretion of Unity, and are subject to change.

31 replies on “Unity 2021.1 beta is available for feedback”

Nice job focusing on maturing the render pipelines instead of new features. Although I would really like to hear about Enlighten’s replacement sometime soon ;)

Is there any update on when native Splines are coming to Unity? Splines like Bezier, Catmull Rom, KB Spline, Linear, BSpline, Hermite, etc.

Splines would be useful for terrain/world building, paths for animation/effects, virtual camera paths (i.e. cinemachine), procedural mesh generation, smooth movement along curves, etc.

It would also be interesting if splines could be automatically generated based on a gameobject’s contours (or even its shadows, which would be great for visual effects), for example to get the silhouette of an object as a spline.

Say I want to create a spline of an already generated terrain (which I can then use for virtual camera paths around the terrain, add particles and other effects on that path, create a cart/rollercoaster/movement on rails system, etc.).

Agreed. It’s so annoying that Cinemachine’s dolly track/cart system is the only official implementation of this so far. I mean like–why add the entire CM package if I only want to use splines?!

We are reenabling Enlighten real-time GI for HDRP and adding support to URP as well. Enlighten real-time GI will be available in HDRP, URP as well as the Built-in rendering pipeline (BiRP), as we want to ensure better transition experience for existing projects upgrading from BiRP to URP / HDRP. We will do a forum post update in the coming days to provide more details about our plans.

This is surprising (and welcome!) news, is this confirmed? It’s been a few weeks and this comment is the only indication I’ve seen that Enlighten will be coming back to Unity.

Would also like more details on «C# Script Compilation: Both in-Editor and player-build compilation are now being performed on an incremental basis to reduce wait time.»

Can you provide an example of what would happen previously and what happens that is better now, and report timings or something so that the results are quantified?

eg. This project with these scripts previously compiled in 10 seconds. Now it compiles in 8 seconds because of this reason etc

Nice job focusing on maturing the render pipelines instead of new features. Although I would really like to hear about Enlighten’s replacement sometime soon ;)

«Artists and designers can now get more done in the Editor without requiring help from programmers,»

That is so not true. Bolt requires an understanding about programming syntax and concepts. Being unfamiliar with how C# functions is not going to do you any favors and using plain logic will not get you anywhere.

Bolt both helps and «forces» you to learn programming which may be helpful for some people but definitely not so for people who were not interested in learning how to program in the first place. Which is the majority of artists and possibly even designers. Exactly the people who are supposed to be helped by a Visual Sxripting approach.

I immediately rushed to install the new version and test if domain reloading was any faster, but sadly no (even when changing scripts in their own assembly).

«C# Script Compilation: Both in-Editor and player-build compilation are now being performed on an incremental basis to reduce wait time.»

I immediately rushed to install the new Editor to see if domain reloading was any faster, but sadly no. I’m front-end trash so I was bound to get it wrong, but I’m curious to know what effects I can expect from this change.

The new build system helps with compilation, but not domain reloading. For regular iteration in the Editor you might not see much difference, but it should be more noticeable when doing things like building players or switching platforms.

You can read more about it in this forum thread.

«C# Script Compilation: Both in-Editor and player-build compilation are now being performed on an incremental basis to reduce wait time.»

I immediately rushed to install the new version and test if domain reloading was any faster, but sadly no (even when changing scripts in their own assembly). I’m just front-end trash so I was bound to get it wrong, but I’m curious as to what it affects.

Is DOTS not the way forward anymore? There seem to be 0 news about it, where are the remaining features like 2D physics, animations, navigation, audio etc. to use natively with DOTS?

Please add static shadows to URP they far more neded in URP than HDRP because URP try to fit low end devices where rerender of shadow map is huge waste of CPU and GPU resources

Agreed entirely, URP is supposed to be more optimal than HDRP, so it DEFINITELY needs static shadows!

Yes and no. HDRP exactly because it is more demanding it needs some clever tricks to lighten the load. URP is already super lightweight and although it would benefit from such a feature it would not make a huge impact.

Comments are closed.