Cyber week

Get a gift with purchase. Limited time only. Ends December 4
Get a gift with purchase. Limited time only. Ends December 4

Unity 2019.3 release

DOTS Sample and new features now available

Learn what’s new for DOTS-based projects in Unity 2019.3, including DOTS-powered animation, FPS NetCode, Conversion Workflow, Unity Live Link and more.

What’s new

Here’s an overview of some of the key updates to our Data-Oriented Technology Stack (DOTS). As we’re rebuilding the core of Unity with DOTS, we’re continuously adding new packages to the stack. Install DOTS packages from the Unity Package Manager to get started.

DOTS Sample project now available

At Unite Copenhagen 2019 we revealed the DOTS Sample project, a whitebox, third-person shooter demo showcasing the various new DOTS technologies in action together (including Unity Physics, NetCode, Hybrid Renderer, and Conversion Workflow). 

The DOTS Sample is a simple environment that demonstrates how the DOTS packages work together in a multiplayer shooter game in Unity 2019.3. While we designed it to be an internal test project, feel free to download and experiment with it. It’s available on GitHub and includes all source code and assets.

Get the project

Conversion Workflow (Experimental)

The new DOTS Conversion Workflow enables you to convert your GameObjects to the DOTS-based entities with one click then take advantage of DOTS for your existing workflows. For example, you can use GameObjects for rapid level-design iterations and then simply convert them to entity representation at runtime. The new Entity Preview Inspector lets you see how your GameObjects turn into DOTS entities.

This conversion process enables you to easily translate GameObjects and the classic authoring workflow concepts into runtime data that is efficient and streamable. You get the best of both worlds: rapid, intuitive workflows when working with your game world in the Editor, combined with the hyper-ECS-optimized and streamable run-time data that provides massive performance gains.

Install Entities (Preview) and DOTS Editor (Preview) from the Package Manager to try out the new workflow.

Learn more

Unity Animation (Experimental)

The new animation system for DOTS-based projects offers the core animation functionality such as animation blending, IK, root motion, layers and masking, with more features coming. It’s now available as an experimental package through our DOTS Sample project.

Get additional samples

DOTS game code updates (Preview)

With this DOTS release, programmers don’t have to write as much boilerplate code. You can replace custom authoring components with a simple [GenerateAuthoringComponent] attribute, and replace those verbose IJobForEach and IJobForEachWithEntity constructs with the simpler-but-just-as-fast Entities.ForEach(), which now uses the Burst Compiler and the C# Job System

Install the Entities package (Preview) from the Package Manager to get started writing DOTS code the new way.

Learn more

Unity Physics

The DOTS Sample project leverages the new stateless Unity Physics system for collision detection and spatial queries. The engine is written in C# / HPC# and demonstrates what can be achieved with the Burst Compiler. Thanks to the new Physics engine we’re able to do fast and accurate collision detection for players, environments, and projectiles, as well as resolve hit detection. Unity Physics also powers the character controller in the sample and use cases such as the precise and performant foot-placement system in the DOTS Sample project.

Learn more

Netcode

The FPS NetCode used in the DOTS Sample is built on top of DOTS and makes it easy to create networked games with similar architecture. It provides client-side prediction, authoritative server, and interpolation thanks to the network-friendly data protocol. Get an introduction to FPS NetCode from Tim Johansson’s Unite talk.

Install the Unity Transport and Unity NetCode packages from the Package Manager to get started.

Learn more

DSPGraph updates

We’re also continuing to work on the audio mixing and rendering system for DOTS. Specifically, we’ve rewritten DSPGraph, our new low-level audio engine, for higher performance and added the ability to execute subgraphs that don’t contribute to the graph output. That means that you can, for example, plug a node into the middle of an audio graph that’s counting beats per minute, but it won’t affect the audio signal.

Join the DOTS audio discussion forum to ask questions or share your audio needs with us.

Learn more

Download Unity 2019.3 now

Get access to all of the above and much more today.

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it