Извлечено из замороженного
10-reference/input-camera.CLAUDE.mdфиксирует сам факт («карты действий строятся в коде»), но не причину и не цену.
Решили: карты действий строятся в коде внутри InputService, а не хэндовым ассетом
.inputactions с генерацией C#-обёртки.
Почему: на момент реализации хрупкость ручного .meta-импортёра и нестабильный мост Unity делали
код-дефайн надёжнее: он компилируется детерминированно и проверяется в EditMode-тесте. Ассет же —
бинарно-подобный артефакт, который ломается тихо и правится только через редактор.
Цена, названная сразу: нет GUI-редактирования биндов и нет UI-ребиндинга «из коробки».
Когда пересматривать: и то и другое — чистая миграция поверх той же таблицы биндов (завести
.inputactions, сгенерировать обёртку, оставить IInputService как есть). То есть решение не запирает
дверь: фасад тот же, меняется только способ объявления карт. Пересматривать, когда игроку понадобится
ребиндинг, а не раньше.
Грабли: dev-хоткеи (F5, R) читают Keyboard.current напрямую в GuildmasterCommands, минуя
IInputService. Это осознанно — dev-инструмент не должен зависеть от игровых контекстов ввода, — но
копировать этот приём в игровой код нельзя.
Владелец правды: Assets/_Project/Scripts/Core/Input/ (IInputService, InputService) и
EditMode-тест карт.