← Back to PlayCanvas Engine · project planning pack

Skill · Version 1.0.0

Unity input rebinding

Lets players change Unity controls without losing essential actions or another player's bindings. Handles cancellation, device changes and saved overrides as a complete input lifecycle.

unity-input-rebinding

Agents using this skill

See how it helps

When is it useful?

Use it when customizable controls lose Pause, capture the wrong key or stop working after device changes.

What does it help you do?

  • Distinguishes press edges, held input and completed interactions.
  • Treats rebinding as a cancellable transaction with restored action state.
  • Persists validated overrides and respects per-player device pairing.

Try asking this

Add a Unity controls screen that rebinds one movement direction and the dodge action. Let the player cancel capture, reject unsuitable bindings and keep Pause available. Save and reload the result, then switch controller and test a second local player to verify that their independent controls remain intact.

Detailed documentation

Read the skill’s original instructions, examples and checks in their authored language.

Details…Show less

Input Actions and Rebinding

Inspect the installed Input System version, action assets, PlayerInput setup and update mode. Keep keyboard, gamepad, touch and local-player ownership consistent with the project.

  • Distinguish a physical press edge, held state and an interaction completing: WasPressedThisFrame, IsPressed and performed/triggered answer different questions. Hold/Tap interactions can change completion timing. Buffer one-shot intent if physics consumes it later.
  • Make Gameplay/UI/Vehicle map transitions explicit. Preserve shared Pause/Cancel actions and clear stale held input on focus loss, disable or device disconnect.
  • Rebinding is a transaction: remember enabled state, disable the target action, bind the selected device group/part, provide explicit cancel/timeout, then restore the previous state on completion, cancellation and screen destruction. Dispose the operation, including error paths.
  • Rebind composite parts individually; do not capture a new path on the composite root. Define duplicate-binding policy and prevent navigation input from accidentally becoming the new binding.
  • Persist binding overrides with the installed package's supported JSON APIs, validate data, restore after the action asset exists and provide reset-to-default. Refresh displayed binding labels after scheme or override changes.
  • With local multiplayer, use the player's own action asset/device pairing; a shared global action reference can route another player's input.

Verify press versus hold, cancellation, composite direction, duplicate handling, reload/reset, device reconnect and switching maps while an action is held. Use InputTestFixture when installed; distinguish simulated-input tests from real-device checks.

Versioned reference: Input bindings. Match the documentation to the installed package.

Included files 2

  • LICENSE.txt
  • SKILL.md