Description
Course info
Rating
(10)
Level
Advanced
Updated
Feb 1, 2019
Duration
1h 28m
Description

Unity is fully embracing Data-driven programming with the new Entity Component System. This new paradigm will fundamentally change the way you work with Unity and the benefits are undeniable. Introduction to the Entity Component System in Unity gives you a solid understanding of what ECS is as well as hands-on experience with its core features and benefits. By the end of this course, you will have a solid foundation of ECS and the knowledge with the confidence necessary to create performant and efficient code for your games in Unity.

About the author
About the author

Marc is an accomplished technologist with extensive experience bringing the best of web, mobile, and traditional architectures to some of the largest firms in the world. Marc brings a unique combination of professionalism and passion to every venture and there are few things he's more passionate about than game development.

More from the author
C# Scripting in Unity: Beyond the Basics
Intermediate
2h 33m
May 20, 2019
Swords and Shovels: Closing the Loop
Intermediate
2h 40m
Sep 17, 2018
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hello everyone. My name is Marc Gilbert. and welcome to our Introduction to the Entity Component System in Unity course, here at Pluralsight. I'm the owner and lead developer at FrivolousTwist, LLC. We're a small studio dedicated to building our own games. We also provide Unity consulting services to larger firms. Unity is fully embracing data-driven programming with the Entity component system. This new paradigm will fundamentally change the way you work with Unity and the benefits are undeniable. Unity is rebuilding the very core of their engine to provide what they are calling performance by default. As a Unity developer, this is great news. Whether your goal is to build an RTS with thousands of units or a small mobile game with extremely battery consumption, ESC and its related technologies are for you. Throughout this course, you'll learn not only the what and why of ECS, you'll learn how to leverage it along with the C# job system and Burst compiler to create richer and more performant gaming experiences for your players. I hope you'll join me as we explore these new ways of building games in the Introduction to the Entity Component System in Unity course, here at Pluralsight.

ECS Paradigms & Burst Compiling
In this module, we'll conclude our Introduction to the Entity Component System in Unity. We'll begin with a review of ECS paradigms by taking a closer look at entities, components, and systems. Along the way, you'll be introduced to some new concepts like archetypes, the IComponentData Interface, and JobComponentSystems. Then we'll put these pieces together by creating a Pure ECS implementation of our game scene. When that's done, we'll take a detailed look at the performance impact of shifting to this new way of coding and conclude with a discussion of the Burst Compiler and high-performance C#. You were introduced to the core elements of ECS earlier in the course. We looked at high-level definitions of entities, components, and systems. Let's dig a little deeper into each now starting with entities. An entity is simply a unique identifier or ID number. A single entity can be associated with any number of component types and the set of component types that an entity is associated with is called an archetype. Earlier, you saw the components were sets of related data. In practice, a component is a struct that implements the IComponentData Interface. The members of a component cannot be reference types. As you saw in our hybrid example, a system is a class that inherits from ComponentSystem. A system has an OnUpdate method that runs once per frame and systems are designed to work or iterate over multiple entities. In the next clip, we'll begin a Pure implementation of our game scene and start seeing these concepts in action.