unity config_error ai_generated true

InputSystem: Conflict detected: Multiple actions bound to same control 'Keyboard/space'

ID: unity/input-system-duplicate-binding

Also available as: JSON · Markdown · 中文
88%Fix Rate
85%Confidence
1Evidence
2023-06-15First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
Unity 2022.3 active
Unity 2023.1 active
Input System 1.5.0 active
Input System 1.7.0 active

Root Cause

Multiple input actions in the same Input Action Asset are bound to the same physical control, causing ambiguous input handling.

generic

中文

同一输入操作资源中的多个输入操作绑定到同一物理控件,导致输入处理歧义。

Official Documentation

https://docs.unity3d.com/Packages/[email protected]/manual/ActionBindings.html#conflicts

Workarounds

  1. 90% success In the Input Actions window, select the action with the duplicate binding, expand its bindings, and delete the one that maps to 'Keyboard/space' or change its path to a different key.
    In the Input Actions window, select the action with the duplicate binding, expand its bindings, and delete the one that maps to 'Keyboard/space' or change its path to a different key.
  2. 85% success Select the conflicting binding in the Input Actions editor, click 'Add Interaction' and choose 'Hold' (set hold time to 0.5s). This allows the same key to trigger different actions based on press duration.
    Select the conflicting binding in the Input Actions editor, click 'Add Interaction' and choose 'Hold' (set hold time to 0.5s). This allows the same key to trigger different actions based on press duration.
  3. 92% success In the Input Actions editor, create a new action map (e.g., 'Menu'), move the conflicting action there, and in code enable only one map at a time: 'playerInput.actions.FindActionMap("Gameplay").Enable(); playerInput.actions.FindActionMap("Menu").Disable();'
    In the Input Actions editor, create a new action map (e.g., 'Menu'), move the conflicting action there, and in code enable only one map at a time: 'playerInput.actions.FindActionMap("Gameplay").Enable(); playerInput.actions.FindActionMap("Menu").Disable();'

中文步骤

  1. In the Input Actions window, select the action with the duplicate binding, expand its bindings, and delete the one that maps to 'Keyboard/space' or change its path to a different key.
  2. Select the conflicting binding in the Input Actions editor, click 'Add Interaction' and choose 'Hold' (set hold time to 0.5s). This allows the same key to trigger different actions based on press duration.
  3. In the Input Actions editor, create a new action map (e.g., 'Menu'), move the conflicting action there, and in code enable only one map at a time: 'playerInput.actions.FindActionMap("Gameplay").Enable(); playerInput.actions.FindActionMap("Menu").Disable();'

Dead Ends

Common approaches that don't work:

  1. Deleting the entire Input Action Asset and recreating it from scratch. 90% fail

    The conflict arises from binding assignments, not asset corruption; recreating the asset without adjusting bindings reproduces the same conflict.

  2. Setting InputSystem.settings.ignoreConflictResolution = true in code or project settings. 70% fail

    This suppresses the warning but does not resolve the underlying ambiguity, potentially causing unpredictable input behavior at runtime.

  3. Renaming the actions to different names without changing bindings. 95% fail

    Conflicts are based on control paths, not action names; renaming does not alter which controls are bound.