Singleton-компонент
Компонент ECS, существующий в мире ровно в одном экземпляре и хранящий глобальное состояние, не принадлежащее никакой конкретной сущности.
Название придумал Тимоти Форд в докладе на GDC 2017 об архитектуре геймплея Overwatch. В строгой ECS у систем нет собственных данных, но что-то же должно хранить ввод с клавиатуры, состояние камеры или очередь сетевых пакетов. Решение — держать это состояние в компонентах одной безымянной сущности, чтобы системы обращались к нему так же, как ко всему остальному.
Смысл не в том, чтобы избавиться от глобального состояния, а в том, чтобы сделать его видимым: какие системы читают и пишут какой синглтон, можно увидеть и найти поиском, а не гадать о статических переменных. В Bevy то же самое называется ресурсами, а в Unity DOTS есть сущности-синглтоны. По сути это по-прежнему одиночка, только с более честной вывеской.