Skip to content

Latest commit

 

History

History
11 lines (6 loc) · 1.41 KB

File metadata and controls

11 lines (6 loc) · 1.41 KB

ECS

A general computing term that is also used in Unity.

An entity-component-system (ECS) is a new model to write performant code by default. Instead of using Object-Oriented Design (OOD), ECS takes advantage of another paradigm called Data-Oriented Design. This separates out the data from the logic so you can apply instructions to a large batch of items in parallel. The Entity-component-system gurantees linear data layout when iterating over entities in chunks. Managing data this way is quicker because you read from continuous blocks of memory, rather than random blocks assigned all over the place. Knowing exactly where each bit of data is, and by packing it tightly together, allows us to manage memory with little overhead. This is a critical part of the performance gains provided by ECS.

Note: Unity's ECS is a fairly standard entity-component-system, although the naming is tweaked somewhat to avoid clashes with existing concepts within Unity. (See ECS concepts for more information.)

See also: Entity, ComponentData, and ComponentSystem.

Back to Capsicum reference