Data-oriented design Bootcamp
Tutorial
·
intermediate
·
+10XP
·
235 mins
·
(61)
Unity Technologies

Hearing about DOTS hype? Wondering if it's for you? Be part of the Data-oriented design Bootcamp and find out.
We know finding the time for professional development and keeping up with training is hard, but we’re going to challenge you to dedicate 4 hours over the course of the week alongside your fellow professional developers around the world. As a community, you’ll learn ways to improve your game’s performance, resulting in better framerates, more objects in the scene, and more performance benefits using DOTS.
To enlist in the Data-oriented design Bootcamp, register here.
Languages available:
1. Bootcamp Overview
In this DOTS Bootcamp, you'll learn how a gameObject project called Firefighters can unlock better performance using key DOTS concepts. This sample project can be downloaded through this GitHub repo, and throughout the week of March 5th, we will walk through the sample to help you understand the code behind it. Over a span of 4 sessions, each upwards of an 1 hour long, throughout the week. The training will be covering:
- C# Job System and Burst Compiler: These DOTS capabilities have been available for a couple of years now, but some developers haven’t used them because they are uncertain about the best way to implement them. Learn how simple it is to implement these into your existing game to increase its performance.
- Entity Component System (ECS): You’ll also build on that by discovering the power of Entities in Unity, allowing you to create a data-based approach within the elements in your game that will accelerate your ability to deliver large and seamless worlds, fast-paced gameplay, optimal scaling in multiplayer, and more.
Unity experts will also be available live during sessions to help answer questions. Even for those that can’t join live, the sessions will be made available on-demand.
How much performance do you think you can get out of your project? Let's find out!
2. Registration & Prerequisites
To enlist in the Data-oriented design Bootcamp, register here.
Recommended prerequisites:
Make sure that you have Unity 2022 LTS installed.
Please note that the C# Job System, Burst Compiler and Entities do require prior programming experience, and this bootcamp is not recommended for beginners.
3. Get ready for the DOTS Bootcamp!
Before the bootcamp begins, join us on Unity's Twitch channel on March 4th at 9:30am PST / 12:30pm EST for an overview of what exactly DOTS is, how it compares to Object-oriented Programming (OOP), and when to use DOTS instead of OOP. We'll also work through Basics of DOTS: Jobs and Entities together, in a live setting to help you prepare for the upcoming bootcamp!
DOTS Learning Challenge with Unity | Let's Dev
4. Day 1: Starting with Entities
In this introduction to the Data-oriented design Bootcamp, we'll start with a feature of Entities called “baking” to spawn the elements that make up the Firefighters tutorial.
Day 1: DOTS Bootcamp
Resources:
5. Day 2: Game code – Simulating a spreading fire
In this session, we'll use DOTS collections and dynamic buffer components to begin simulating a spreading fire.
Day 2: DOTS Bootcamp
Resources:
6. Day 3: Optimizing with the C# Job System
Building on the previous session, we'll make the fire simulation code multithreaded using the C# Job System.
Day 3: DOTS Bootcamp
Resources:
7. Day 4: Game code: Bot behavior
In this last lesson, we'll implement the behavior of the firefighter bots using a state machine.
Day 4: DOTS Bootcamp
Resources:
8. Bonus Session: Adding Animation and UI
In this bonus session, learn how to sync entities and GameObjects for animation and UI purposes.
Bonus: DOTS Bootcamp
9. Next Steps & Resources
Now that you've completed the Data-oriented design Bootcamp, check out some of these additional resources we have available for you to take your DOTS knowledge to the next level!
Basics of DOTS: Learn the fundamentals of Unity's Data-Oriented Technology Stack (DOTS), which lets you implement data-oriented design to create higher-performing applications. You'll follow three sample scripts to help you get started.
DOTS Best Practices: This two-hour advanced course focuses on ECS. Learn how to improve runtime performance in code written using the DOTS packages.
Physics for ECS: Understand how and when to use Havok Physics for Unity versus Unity Physics, our two Entities-based physics solutions.
DOTS Bootcamp Blog: This blog houses a ton of resources for you to continue your DOTS learning.