Skip to content
This repository was archived by the owner on Mar 25, 2020. It is now read-only.

ECS framework

pointcache edited this page Jan 15, 2017 · 10 revisions

ECS stands for Entity-Component-System. There are several interpretations of this paradigm and this is what URSA thinks it is:

  • Entities are mere identifiers for a collection of Components.
  • Components only hold data, and simple properties (like converters, getters)
  • Systems don't communicate with each other, communicating through components.

Layman explanation in context of Unity:

Unity looks like an ECS, because it has "Entities"(gameObjects) and "Components"(MonoBehaviors), however the way they did it, is far from pure ECS approach. First of all to have a pure Entity, all the components must belong to it, in Unity that is not the case. Unity tends to use a vast amount of GameObjects to represent an entity, if its a player rig, there are a lot of bones that each is a separate entity. This leaves the burden to identify the "root" entity on the developer, forcing him to create special root accessor scripts/controllers that gather references and make sense out of underlying hierarchy.

Clone this wiki locally