Thursday, July 23rd, 2020 Posted by Jim Thacker

Discover five key features for CG artists in Unity 2020.1

Originally posted on 18 March 2020. Scroll down for news of the final release.

Unity Technologies has released the first public beta of Unity 2020.1, the first of two scheduled updates to its game engine and game development environment this year.

As usual, the update includes a wide range of features, but below, we’ve picked out five highlights for CG artists as opposed to developers, including changes to character rigging, animation, lighting and rendering.

Updated 23 July 2020: Unity 2020.1 is shipping. We’ve updated the story with details of the final release.

1. Ray traced character animation (HDRP only, Preview)

Hardware-accelerated ray tracing on Nvidia’s current-gen RTX graphics cards was introduced in preview in Unity 2019.3, though the initial implementation was aimed primarily at visualisation work.

As Epic Games had done in Unreal Engine, it introduced both a hybrid ray tracing/rasterisation pipeline, intended for real-time work, and a full path tracer, intended here for progressive rendering.

Features supported in the hybrid pipeline include ray traced reflections, shadows, GI, AO and SSS.

Unity 2020.1 takes an important step for making real-time ray tracing viable for entertainment work, adding support for ray tracing in the Skinned Mesh Renderer component used for character animation.

Ray tracing is also supported for blend shapes and Alembic caches, making it possible to generate ray traced renders of animations or simulations generated in other DCC software.

2. Camera stacking in the Universal Render Pipeline (URP only)

Although RTX-accelerated ray tracing is only available in the High Definition Render Pipeline (HDRP), intended for consoles and desktop systems, its counterpart for mobiles and web apps also gets an update.

Formerly known as the Lightweight Render Pipeline, the Universal Render Pipeline (URP) now supports Camera Stacking, enabling users to layer the output of multiple cameras in rendered output.

Rather than being intended as a full-blown real-time compositing system, suggested use cases include layering a 2D UI over a 3D scene.

In the initial implementation, Camera Stacking is not supported by the 2D Renderer or the VR Multi Pass mode: something that Unity Technologies says will be added in “upcoming versions” of the URP.

3. Russian Roulette GI

New lighting features in Unity 2020.1 include support for Russian Roulette as an option for terminating bounced light rays when calculating global illumination, instead of setting a fixed maximum bounce count.

The system takes into account how meaningful each light path is to the GI, with the chances of the path terminating early increasing each time the ray bounces off a dark surface.

The method reduces GI baking times, as you can see in the demo image above, although Unity Technologies warns that “aggressive” Russian Roulette values may introduce noise into lightmaps.

Other lighting changes include the separation of lighting settings from the main Unity scene file, making it possible to reuse them between projects.

The GPU Lightmapper, originally introduced in Unity 2018.3, is also still inching closer towards feature parity with its CPU counterpart, and now supports A-Trous filtering, baked LODs, and sky occlusion baking.

Updated 23 July 2020: Unity has posted a detailed summary of the new lighting features in Unity 2020.1.

Other changes include improved sampling in both the CPU and GPU Lightmapper, better packing of UVs when unwrapping geometry to bake lightmaps, and support for cookies (gobos) in baked lighting.

4. Bidirectional motion transfer (Preview)

Character riggers and animators get Bidirectional Motion Transfer, an interesting new preview package that enables artists to transfer existing motion onto active constraints, and vice versa.

Sadly, we can’t find a demo of it in action, although you can find a more detailed description of the workflow on the Unity beta forum.

Suggested use cases include baking the motion generated by a constraint system – for example, secondary motion of clothing or props – onto the skeletal motion of a character.

The constraint itself could then be removed in the runtime, retaining the secondary motion but improving real-time performance.

Updated 23 July 2020: Another interesting new animation technology is available as a preview package in the final release: Kinematica.

The machine-learning-based system uses raw animation clips or motion capture data to generate character poses automatically based on descriptions of the intended movement.

You can find more details in this recording of a session from Unity’s Unite 2020 conference.

5. Better 2D physics

Unity 2020.1 also includes a number of updates to the engine’s 2D physics system.

Those shown in the video above include improvements to the position constraings for Rigidbody2D components, making a rigid body “completely solid under any force [at] almost zero runtime cost”.

In addition, EdgeCollider2D now lets users control the start and end points, making it possible to overlap edges with other colliders to maintain a continuous collision surface.

The video also shows improvements to the 2D Distance Joint in simulating chains, and “basic” soft bodies.

Unity Technologies has also introduced per-frame auto-simulation, enabling a game’s physics system to refresh in sync with the rendering cycle, generating smoother motion.

Updated 23 July 2020: Unity has posted a detailed summary of the new 2D tools in Unity 2020.1.

As well as the features covered above, performance has been improved for meshes with high bone counts. Sprite mesh deformation performance at runtime can be further improved by installing the Burst Compiler.

Other artist changes: updates to particles, sprite packing and workflow in the editor
Other changes in Unity 2020.1 relevant to game artists include an update to the Sprite Packer, making it possible to create a sprite atlas from textures or sprites using the experimental Scripted Importer workflow.

The particle system will also get a new Freeform Stretching mode and Lifetime by Emitter speed module, “useful for effects such as liquid drops or moving fire”.

There are also a number of more general workflow improvements to the Unity editor, including the option to edit prefabs in the Scene view, and to apply only a partial set of properties when using presets.

Changes to file import and export include support for custom Sketchfab attributes in FBX files, and the option to ignore gamma correction when importing PNG files.

Updated 23 July 2020: The final release also adds another important new feature: virtual texturing.

Supported only in the HDRP, and still officially in preview, it splits textures into tiles and streams them into GPU memory only when needed, making it possible to use much larger textures in a scene.

Other new features: improvements to scripting and profiling, better support for HDR displays
Non-art-related changes include new options for performance profiling games, and the ability to extract human-readable information from the reports Unity saves when building a project.

In keeping with Unity’s new modular software design philosophy, support for Microsoft’s Visual Studio IDE has now been moved from the core engine to a separate package, currently in preview.

Unity 2020.1 also expands support for HDR displays, both in-editor and in games themselves; and the Device Simulator used to preview how a game will display on mobile phones has been expanded.

Updated 23 July 2020: Unity has bought the Bolt visual scripting system from original developer Ludiq.

The add-on is now available to download free from the Unity Asset Store, including for users with free subscriptions. You can read Unity’s FAQs about future development plans here.

Pricing and system requirements
Unity 2020.1 is available for Windows 7+, Ubuntu 16.04/18.04 and CentOS 7 Linux, and macOS 10.12+.

The software is available on a rental-only basis: free Personal subscriptions have a non-removable splash screen and can be used by anyone with revenue of up to $100,000/year.

The cost of paid Plus and Pro plans have now risen to $40/seat/month and $150/seat/month for an annual subscription paid monthly, up from $35/seat/month and $125/seat/month.

Read an overview of the new features in Unity 2020.1 on Unity Technologies’ blog

Read a full list of changes in Unity 2020.1 in the online release notes