Search Unity

Connect the DOTS

The latest resources on the new core foundation of Unity

Last updated: July 2019

The core foundation of Unity is being rebuilt on the high-performance multithreaded Data-Oriented Technology Stack (DOTS), which comprises the C# Job System, the Entity Component System, and the Burst Compiler. If you are a new user to Unity and would like to learn more about DOTS, please see this page that provides a helpful introductory overview and the DOTS forum. Learn about the Megacity ECS demo here.

Once you have a basic understanding of DOTS continue learning with the additional resources listed on this page.

Converting your game to DOTS

Converting your game to DOTS

Unity evangelist Mike Geig shows you what’s involved in migrating existing game code to DOTS. He advises developers to implement DOTS incrementally, to integrate it carefully into existing projects and keep up to date on the Unity roadmap, because the technology is constantly evolving.

Watch it

Understanding data-oriented design for entity component systems

data-oriented design

Elizabeth Baumel, a DOTS Software Engineer, looks at some of the best ways to approach designing your game systems to take advantage of the new high-performance ECS features. Data. As she says in her talk, data-oriented design is certainly different from object-oriented programming, but not intrinsically more complicated.

She looks at some of the limitations with object-oriented programming or design (OOP), starting with an overview of its five pillars: Encapsulation, or information hiding, Classes, Inheritance, Polymorphism, and Interfaces. Then she takes a nicely detailed dive into how the different approaches affect hardware and memory, specifically the cache. She also provides some handy Dos and Dont’s for designing your data with ECS.

Watch it

More of the latest sessions on DOTS

See these sessions from GDC 2019:

Megacity on mobile

Leveraging DOTS-powered physics

Getting started with the Megacity demo

Project Tiny: Built on DOTS

Project Tiny

Project Tiny is a new runtime and editor mode designed to build experiences that load instantly and without install. A new Preview of Project Tiny that uses C# as the programming language is now available. The Preview is fully integrated with DOTS. You can find out more about it on the dedicated forum.

If you want to know more about Project Tiny, watch this session by Technical Evangelist Arturo Nunez.

Lucas Meijer blogs on DOTS

blogs on DOTS

Earlier this Spring Unity technical director Lucas Meijer wrote a couple of in-depth blog posts that you can read here:

On DOTS: C++ and C#

On DOTS: Entity Component System

More resources

We just gotta know! Did you like this content?

Yes. Keep it coming Meh. Could be better