Unity 2021.1 beta is available for feedback
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.
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.
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.
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.
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.
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.
- 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.
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.
- 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.
- 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.
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:
using Screen = UnityEngine.Device.Screen;
using Application = UnityEngine.Device.Application;
using SystemInfo = UnityEngine.Device.SystemInfo;
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.
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.
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.
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.
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.
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.