タグコンポーネント
データを持たず、エンティティに付いているかどうかだけが役目のコンポーネント。
ECSでは、システムはどのコンポーネントを持つかでエンティティを選ぶ。したがって Enemy や Dead のような空の型があれば、どのシステムがそのエンティティを扱うかを決められる。フィールドもフラグも要らず、あるかないかだけだ。EnTT、Flecs、Unity DOTSはいずれもこうした型を特別扱いし、記憶領域を割り当てない。
落とし穴はアーキタイプ型のエンジンにある。タグを付け外しするとエンティティのアーキタイプが変わり、データ全体が別のメモリチャンクへ移動する。毎フレーム何千ものエンティティにタグを付けたり外したりすると、理論上は最も安いはずのものが、実際には最も高くつくとわかる。Unityは、何も移動せずに有効・無効を切り替えられるコンポーネントを用意して対応した。スパースセット型のエンジンは、もともと影響が小さい。