Entity Component System (ECS)

Entity Component System (ECS) is an [architectural pattern] that is widely used in game development.

ECS follows the [composition-over-inheritance] principle. Every object in a game’s scene is an entity – enemies, weapons, bullets, buildings, etc. – and each entity is [composed] from components that determine the entity’s behavior, functionality, and other characteristics.

The behavior of an entity can be changed at runtime by adding or removing components. Thus, the system runs continuously and performs global actions on every entity.

ECS architecture is often combined with [data-oriented design] techniques.