Самое смешное что в юнитёвой ECS есть то что ты хочешь, но у нас в проекте мы запрещаем автосоздание всех систем и создаём их вручную рутинными строчками кода. Но у нас есть особенности что иногда мы хотим уничтожать и создавать системы динамически, что не в каждом проекте нужно. С другой стороны, это как раз пример того что макросом не сделаешь. А ещё ты можешь хотеть для отдельных стадий (скажем, стадия боя и стадия меты) создавать вообще отдельный World. Очень быстро твой макрос обрастёт такими подробностями что ещё десять раз пожалеешь о своей затее)