unity config_error ai_generated true

无效操作异常:在输入操作资源'Controls'中未找到输入操作映射'Gameplay'。

InvalidOperationException: InputActionMap 'Gameplay' not found in InputActionAsset 'Controls'.

ID: unity/input-system-action-map-not-found

其他格式: JSON · Markdown 中文 · English
95%修复率
89%置信度
1证据数
2024-03-22首次发现

版本兼容性

版本状态引入弃用备注
1.4 active — — —
1.5 active — — —
1.6 active — — —
1.7 active — — —

根因分析

代码引用了一个在分配的输入操作资源中不存在的输入操作映射名称。

English

Code references an InputActionMap name that does not exist in the assigned InputActionAsset asset.

generic

官方文档

https://docs.unity3d.com/Packages/[email protected]/manual/ActionAssets.html

解决方案

  1. Open the InputActionAsset (e.g., 'Controls.inputactions') in the editor, verify the map name is 'Gameplay', and correct the code: InputActionMap gameplayMap = inputAsset.FindActionMap("Gameplay"); If the map is named differently, update the string.
  2. Use FindActionMap with a fallback: var map = inputAsset.FindActionMap("Gameplay") ?? inputAsset.FindActionMap("Default"); This prevents crashes but may not bind the correct actions.
  3. Regenerate the InputActionAsset from a template that includes the missing map: right-click > Create > Input Actions, then copy the map structure from the old asset.

无效尝试

常见但无效的做法:

  1. 90% 失败

    Random names never match the asset; the name must exactly match the one in the .inputactions file.

  2. 40% 失败

    This loses all existing bindings and requires reconfiguring controls, which is overkill for a missing map name.

  3. 70% 失败

    ListEnabledActions returns actions, not maps; it does not help locate the correct map name.