Data-oriented design Bootcamp

Tutorial

·

intermediate

·

+10XP

·

235 mins

·

(61)

Unity Technologies

Data-oriented design Bootcamp

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.


Optional Step

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



Optional Step

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.


Complete this tutorial