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
 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)?
 -----------------------------------------------------------------------