Performance by default

Take full advantage of today’s multicore processors with Unity’s new high-performance, multithreaded Data-Oriented Technology Stack (DOTS). Create richer user experiences and iterate faster with C# code that’s easier to read and reuse across other projects.

Rebuilding Unity’s core

We’re rebuilding the core of Unity with the Data-Oriented Technology Stack. DOTS makes great games run faster on multicore processors without the heavy programming headache. The stack consists of a growing number of packages.

 

Write highly performant C# code

DOTS provides programmers with a convenient sandbox to write safe multithreaded code for massive performance gains, while also optimizing thermal control and battery life on players’ mobile devices. By moving from object-oriented to data-oriented design, it will also be easier for you to reuse your code and for others to understand and work on it.

Create more complex worlds faster

Harness the power of DOTS while using the workflows you already know. 

The new Conversion Workflow converts your GameObjects to entities with one click. At runtime, check the new Entity Preview Inspector to see how DOTS turns your GameObjects into entities. You’ll get the hyper-optimized, streamable data you need while using GameObjects as you know them today. 

Our new experimental Unity Live Link feature also allows you to iterate instantly in Play Mode without creating a new build every time. You can test the game experience on the target device in real-time and iterate even faster.

Megacity demo built on DOTS

Megacity demo built on DOTS

DOTS packages

While some of the DOTS packages are in Preview, they can still make a huge impact in performance-critical areas of your projects today. As we’re rebuilding the core of Unity with DOTS, we’re continuously adding new packages to the stack, and more packages are becoming verified as production-ready.

Sample projects using DOTS

We’ve created several tech demos for you to try that include both source code and assets.

DOTS Sample

Check out the DOTS Sample, an internal test project that combines all current DOTS components, including Unity Physics, Animation, Netcode, and Conversion Workflow.

Megacity

At Unite Los Angeles, we presented this futuristic cityscape, alive with flying vehicles and a fascinating soundscape, to showcase some of the exciting possibilities with DOTS.

Megacity features 4.5M mesh renderers, 200k unique building objects, 100k unique audio sources, and 5000 dynamic vehicles flying on spline-based traffic lanes.

Massive battle in the Spellsouls Universe

As part of the Preview release of the Entity Component System, we worked with our friends from Nordeus to create a demo for our Unite Austin 2017 keynote. A cut-down version of the project is available on GitHub.

Getting started with DOTS

Eager to get your hands on DOTS, but don’t know how to start? Not sure if it’s the right solution for your project? Check out these resources and start experimenting!

DOTS packages

The DOTS stack consists of a growing number of packages. To get started with DOTS, check out our overview of the different components you can install from the Package Manager.

List of DOTS packages

Documentation & samples

Get started with the C# Job System documentation. As well, be sure to consult the documentation for packages available via the Package Manager.

 

C# Job System manual
Entity Component System samples
Pong in DOTS tutorial project

Watch Unite Copenhagen 2019 talks on DOTS

Learn how innovative game studios use DOTS to make great games faster, and how all the DOTS components, including Unity Physics, the new Conversion Workflow, and the Burst Compiler, work together.

Watch talks

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