-
Notifications
You must be signed in to change notification settings - Fork 5
ECS framework
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.