The Unity Data-Oriented Tech Stack has three main pieces: the Unity Entity-Component-System (ECS), the Unity C# Job System, and the Unity Burst compiler.
ECS offers an approach to game design that allows you to concentrate on the actual problems you are solving: the data and behavior that make up your game. ECS takes advantage of the C# Job System and the Burst compiler to fully utilize today's multicore processors.
In addition to better utilizing modern CPUs, the data-oriented design underlying ECS avoids the pitfalls of object-oriented that can plague complex projects like games, especially when trying to eek out the last few FPS to reach your release target. Data-oriented design can also make it easier for you to reuse and evolve your code and for others to understand and work on it. For more information, see:
The C# Job System takes advantage of the multiple cores in today's computers. It’s designed to open this approach up to C# user scripts and allows users to write safe, fast, jobified code while protecting against some of the pitfalls of multithreading such as race conditions.
- C# Job System manual
- Low-level overview - creating containers & custom job types
- Scheduling a job from a job - why not?
Burst is a new LLVM based backend compiler technology that makes things easier for you. It takes C# jobs and produces highly-optimized machine code taking advantage of the particular capabilities of your platform. So you get a lot of the benefits of hand tuned assembler code, across multiple platforms, without all the hard work. The Burst compiler can be used to increase performance of jobs written for the C# Job System.