Blog Post

View of An Entity

Installing Entities Package

Installing Entities Graphics

Entity Example

Entity Representation

LEARNING UNITY ECS

ON JANUARY 19, 2026 / GAME DEVELOPMENT

In the context of Unity, ECS stands for Entity Component System. As the core part of Unity’s Data-Oriented Technology Stack (DOTS), ECS shifts the focus to how data is laid out in memory. It takes full advantage of modern CPU cache architectures and multi-threading.

How it works:

In a traditional Unity setup, we are using the Object-Oriented Programming (OOP), whereas in ECS, we shift to Data-Oriented Design (DOD). This means separation of the “what” (data) from the “how” (logic).

The primary goal of ECS is performance by default. With the help of ECS the CPU can process thousands of objects much faster than the standart “GameObject”.

In order to achieve the performance boost, ECS breaks a game down into three distinct parts:

 

  1. Entities: Does not contain data or logic itself and simply groups components together (Like a box). It is an identifier 

  2. Components: They do not contain code but are pure data containers (Structs), holding the variables like Position, Velocity, Health… 

  3. Systems: The logic. Systems query for entities that have a specific set of components and perform operations on them in bulk.

With this seperation Unity can pack data into memory more efficiently, allowing the CPU to process it at very high speeds.

The C# Job System:

When we speak about CPU process we have to mention the Job System. While ECS organizes our data, the Job System is what allows us to use every single core of a player’s CPU. In traditional Unity, Update() runs on one thread. With the Job System, we can split the logic into “Jobs” that run in parallel (multithreading).

How to implement:

When using the modern ECS (Unity 2022.2+), we don’t have to give up the Unity Editor. We use a process called Baking. Here is the architectural flow:

The Data (The Component)

We define a simple struct. No methods, just variables.

The Bridge (The Baker)

The Baker takes a standard GameObject and “bakes” it into an Entity when the game starts.

The Logic (The System)

Instead of e.g. 1,000 scripts on GameObjects running 1,000 Update() calls, a single System queries and handles the logic.

Code Examples

LEARNING UNITY ECS

ON JANUARY 19, 2026 / GAME DEVELOPMENT

In the context of Unity, ECS stands for Entity Component System. As the core part of Unity’s Data-Oriented Technology Stack (DOTS), ECS shifts the focus to how data is laid out in memory. It takes full advantage of modern CPU cache architectures and multi-threading.

 

How it works:

In a traditional Unity setup, we are using the Object-Oriented Programming (OOP), whereas in ECS, we shift to Data-Oriented Design (DOD). This means separation of the “what” (data) from the “how” (logic).

The primary goal of ECS is performance by default. With the help of ECS the CPU can process thousands of objects much faster than the standart “GameObject”.

In order to achieve the performance boost, ECS breaks a game down into three distinct parts:

 

  1. Entities: Does not contain data or logic itself and simply groups components together (Like a box). It is an identifier 

  2. Components: They do not contain code but are pure data containers (Structs), holding the variables like Position, Velocity, Health… 

  3. Systems: The logic. Systems query for entities that have a specific set of components and perform operations on them in bulk.

With this seperation Unity can pack data into memory more efficiently, allowing the CPU to process it at very high speeds.

 

The C# Job System:

When we speak about CPU process we have to mention the Job System. While ECS organizes our data, the Job System is what allows us to use every single core of a player’s CPU. In traditional Unity, Update() runs on one thread. With the Job System, we can split the logic into “Jobs” that run in parallel (multithreading).

 

How to implement:

When using the modern ECS (Unity 2022.2+), we don’t have to give up the Unity Editor. We use a process called Baking. Here is the architectural flow:

The Data (The Component)

We define a simple struct. No methods, just variables.

The Bridge (The Baker)

The Baker takes a standard GameObject and “bakes” it into an Entity when the game starts.

The Logic (The System)

Instead of e.g. 1,000 scripts on GameObjects running 1,000 Update() calls, a single System queries and handles the logic.

View Of An Entity

Installing Entities Package

Installing Entities Graphics

Entity Example

Code Examples

ECS_Code_1
ECS_Code_2
ECS_Code_3