Docs · Extensions · Unity

AI InputSystem

Input authoring — InputActionAssets, action maps, actions, bindings (incl. composites like WASD), and control schemes.

Last updated: 2026-10-17 View as Markdown

At a glance

Capabilities
4 capabilities
Version
2.0.0
Package id
com.ivanmurzak.unity.mcp.inputsystem
Engine
Unity · Unity 2022.3+
Wraps
com.unity.inputsystem
Repository

What the agent can do with it

Adds no MCP tools: it contributes an RQL module with the input source and adapters for InputActionAsset. That powers 4 capabilities the agent reaches through rql-query / rql-mutate. How RQL works →

  • Input action assets

    Create .inputactions assets and read their maps, actions, bindings and control schemes. Every change is validated, written to the file and undoable.

    input | call CreateAsset("Assets/Input/Player.inputactions", "Player")
  • Action maps & actions

    Add, rename and remove action maps and actions, and set action type, expected control, interactions and processors.

    unity.asset("Assets/Input/Player.inputactions") | get maps | where name == "Player" | call AddAction("Move", "Value", "Vector2")
  • Bindings & composites

    Bind actions to keys, buttons and sticks, build composites such as WASD, and change or remove bindings.

    unity.asset("Assets/Input/Player.inputactions") | get actions | where name == "Jump" | call AddBinding("<Keyboard>/space", "Keyboard&Mouse")
  • Control schemes

    Add control schemes such as Gamepad or Keyboard&Mouse and set the devices they require.

    unity.asset("Assets/Input/Player.inputactions") | call AddControlScheme("Gamepad", ["<Gamepad>"])

See it in the Unity catalog →

Install

Requires the base plugin com.ivanmurzak.unity.mcp. After installing, the RQL module loads with the package — the agent sees it in rql-schema.

OpenUPMopenupm add com.ivanmurzak.unity.mcp.inputsystem

When to ask the AI for it

Ask for player input setup — a movement action map, a jump binding, a gamepad scheme.

Not sure if it's installed? Ask the agent to run rql-schema — the input source only exists when the package is present.

Example prompts

Copy-pasteable first requests. Start with one, verify it in the editor, then build up.

  1. Create an InputActionAsset called `Player` with a `Move` Vector2 action bound to WASD.
  2. Add a `Jump` button action to the `Player` map bound to Space and the gamepad south button.

Keep going