Извлечено из замороженного 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-тест карт.