シングルトンコンポーネント
ワールド全体にただ一つだけ存在するECSのコンポーネントで、特定のエンティティに属さないグローバルな状態を保持する。
この名前を広めたのは、ティモシー・フォードによるGDC 2017の『オーバーウォッチ』のゲームプレイアーキテクチャに関する講演だ。厳密なエンティティコンポーネントシステムでは、システム自身はデータを持たない。それでも、キーボード入力、カメラの状態、処理待ちのネットワークパケットのキューなどは、どこかに保持しなければならない。そこで、これらの状態を一つの無名エンティティに付けたコンポーネントに入れ、システムが他のあらゆるデータと同じ方法でアクセスできるようにした。
狙いはグローバル状態を避けることではなく、見えるようにすることだ。どのシステムがどのシングルトンを読み書きするかを、静的変数に潜ませず、検索して把握できる。Bevyでは同じものを「リソース」と呼び、Unity DOTSにはシングルトンエンティティがある。中身はやはりシングルトンで、ラベルが少し正直になっただけである。