エンティティ・コンポーネント・システム
ECSアーキテクチャはとても安全に単純な方法で依存性を扱う。コンポーネントは単純なデータバケットなので、依存性が存在しない。各システムは一般的に、それが操作するエンティティが持っている必要があるコンポーネントを登録するだろう。例えば、ある描画システムはモデル、座標変換、ならびに描画可能コンポーネントへ登録するかも知れない。システムがエンティティにそのロジックを実行するとき、各エンティティがそれに必要なコンポーネントを持っているか確かめる。もし持ってないなら、そのエンティティはただスキップされる。複雑な依存性ツリーは必要ない。
特に、Martinのブログは「システム」がファースト・クラスの要素であるとし、「エンティティをIDとして扱う」、「コンポーネントを生のデータとする」、ならびに「コードはシステムに置かれる(コンポーネントやエンティティでなく)」との考えを普及させた。
2008年から2010年にかけて、人気という点で巨大な成長を遂げたUnity ゲームエンジンは、エンティティとコンポーネントを異なる手法で使用し、その手法は有名になり、広く使用された。しかし、Unityは彼らの手法について公式に説明しておらず、「ECS」という単語は、通常は但し書きがない限り2002年のBilasの手法を意味すると仮定される。
2015年、AppleはiOS、macOS、tvOSでゲーム開発用に GameplayKit フレームワークでECSを実装。SpriteKit、SceneKit、XcodeのScene Editorで便利に使用できるよう統合されているが、グラフィックスエンジンとは別に実装されているためゲーム以外でも使用できる。
2018年、Unity 2018でコンポーネント志向とは異なるECSが実装された。