Browse Source

Merge pull request #4697 from Calinou/faq-ecs

Add a FAQ item about Godot's lack of ECS
Rémi Verschelde 4 years ago
parent
commit
6fb9055652
1 changed files with 14 additions and 0 deletions
  1. 14 0
      about/faq.rst

+ 14 - 0
about/faq.rst

@@ -380,6 +380,20 @@ Godot provides its own type-casting system, which can optionally use RTTI
 internally. Disabling RTTI in Godot means considerably smaller binary sizes can
 internally. Disabling RTTI in Godot means considerably smaller binary sizes can
 be achieved, at a little performance cost.
 be achieved, at a little performance cost.
 
 
+Does Godot use an ECS (Entity Component System)?
+------------------------------------------------
+
+Godot does **not** use an ECS and relies on inheritance instead. While there
+is no universally better approach, we found that using an inheritance-based approach
+resulted in better usability while still being fast enough for most use cases.
+
+That said, nothing prevents you from making use of composition in your project
+by creating child Nodes with individual scripts. These nodes can then be added and
+removed at run-time to dynamically add and remove behaviors.
+
+More information about Godot's design choices can be found in
+`this article <https://godotengine.org/article/why-isnt-godot-ecs-based-game-engine>`__.
+
 Why does Godot not force users to implement DoD (Data oriented Design)?
 Why does Godot not force users to implement DoD (Data oriented Design)?
 -----------------------------------------------------------------------
 -----------------------------------------------------------------------