Wire player input in Unity 6.3 LTS with the Input System package: Input Actions, action maps, the PlayerInput component, and reading values via callbacks or polling.

Apache-2.0Auto-check passedGame Development

Install Unity Input System

skills CLI
$ npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unity-input-system -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gamedev-skills/awesome-gamedev-agent-skills unity-input-system --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gamedev-skills/awesome-gamedev-agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/unity/unity-input-system .claude/skills/unity-input-system && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unity-input-system
GitHub stars
1.4k
Token cost
~1.5k tokens
SKILL.md length
484 words
Files
2 (incl. references)
Skills in repo
53
Repo updated
First seen
Licence
Apache-2.0

At a glance

Wire player input in Unity 6.3 LTS with the Input System package: Input Actions, action maps, the PlayerInput component, and reading values via callbacks or polling.

  • Works in 3 steps: PlayerInput with "Send Messages"… → Reading an action directly in code… → Event callbacks + switching action maps…
  • The project has a .inputactions asset
  • SKILL.md covers When to use, Core workflow, Patterns and Pitfalls, plus 2 more sections
  • Reaches docs.unity3d.com

What it does

Unity Input System is an agent skill from gamedev-skills/awesome-gamedev-agent-skills. Wire player input in Unity 6.3 LTS with the Input System package: Input Actions, action maps, the PlayerInput component, and reading values via callbacks or polling. Use when the project has a .inputactions asset or com.unity.inputsystem, or when the user mentions the Unity Input System, InputAction, action maps, PlayerInput, control schemes, or rebinding.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/rebinding.md`).

It sits in Game Development, covering Game development. The repository describes itself as: 74 game-dev skills for AI coding agents — Godot, Unity, Unreal, Phaser, PixiJS, three.js, Bevy, pygame, LÖVE, Roblox. Portable SKILL.md Agent Skills (the format Anthropic… The licence is Apache-2.0.

When your agent uses it

  • The project has a .inputactions asset
  • Com.unity.inputsystem
  • The user mentions the Unity Input System
  • Control schemes

Example prompts

  • “/unity-input-system”

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. PlayerInput with "Send Messages" (handlers on the same GameObject)
  2. Reading an action directly in code (polling a value)
  3. Event callbacks + switching action maps (gameplay ↔ UI)

What it can do on your machine

Read from SKILL.md and the folder at commit d4b0e35. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are csharp).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • docs.unity3d.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Unity Input System loads about 1.5k tokens when it runs, and up to ~2.4k if it reads all its reference files. Until then it costs about 94 tokens; SKILL.md has 484 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from gamedev-skills/awesome-gamedev-agent-skills at commit d4b0e35, republished under its Apache-2.0 licence (© gamedev-skills). 484 words, ~1,529 tokens.

Download SKILL.mdSave it as .claude/skills/unity-input-system/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
unity-input-system
description
Wire player input in Unity 6.3 LTS with the Input System package: Input Actions, action maps, the PlayerInput component, and reading values via callbacks or polling. Use when the project has a .inputactions asset or com.unity.inputsystem, or when the user mentions the Unity Input System, InputAction, action maps, PlayerInput, control schemes, or rebinding.

Unity Input System (new)

Read input through Unity's Input System package (com.unity.inputsystem, 1.x) — action-based, device-agnostic, rebindable. Targets Unity 6.3 LTS. This is the modern replacement for the legacy Input.GetAxis/Input.GetKey Input Manager.

When to use

  • Use when setting up movement/jump/fire input, defining an .inputactions asset with action maps and control schemes, wiring a PlayerInput component, reading a Vector2 stick/WASD value, or handling gamepad + keyboard + touch from one set of actions.
  • Use when Packages/manifest.json contains com.unity.inputsystem or the project has an *.inputactions asset.

When not to use: rebindable-control architecture across engines → input-systems (this skill is the Unity-specific API). Moving the character once you have the input vector → unity-physics / unity-csharp-scripting.

Core workflow

  1. Check Active Input Handling (Project Settings → Player). The package only receives input when this is Input System Package (New) or Both. Both is required if any old Input.GetAxis code remains.
  2. Create an .inputactions asset. Add an action map (e.g. Gameplay), add actions (Move = Value/Vector2, Jump = Button, Fire = Button), and bind them to controls and composite bindings (WASD = 2D Vector composite).
  3. Choose how to read it:
    • PlayerInput component (designer-friendly) — drop it on the player, point it at the asset, pick a Behavior (Send Messages / Broadcast / Invoke Unity Events / Invoke C# Events). Best for single/local-coop players.
    • Direct in code (InputActionReference / InputActionAsset) — most control; you Enable() actions and read them. Best for systems and tools.
  4. Enable the actions/maps you read. PlayerInput enables its default map automatically; actions you reference yourself must be .Enable()d (and disabled on teardown).
  5. Switch action maps for context (gameplay ↔ UI/menu) instead of guarding every handler.
  6. Verify with the Input Debugger (Window → Analysis → Input Debugger) to confirm devices and that actions fire.

Patterns

1. PlayerInput with "Send Messages" (handlers on the same GameObject)
csharp
using UnityEngine;
using UnityEngine.InputSystem;

// PlayerInput (Behavior = Send Messages) calls On<ActionName>(InputValue) by name.
public class PlayerInputReceiver : MonoBehaviour
{
    private Vector2 _move;

    private void OnMove(InputValue value) => _move = value.Get<Vector2>();   // Move action
    private void OnJump(InputValue value) { if (value.isPressed) Jump(); }   // Button action

    private void Update() { /* drive movement from _move */ }
    private void Jump() { }
}
Show full SKILL.md (196 more words)Show less
2. Reading an action directly in code (polling a value)
csharp
using UnityEngine;
using UnityEngine.InputSystem;

public class DirectMover : MonoBehaviour
{
    [SerializeField] private InputActionReference moveAction;  // assign the Move action

    private void OnEnable()  => moveAction.action.Enable();    // REQUIRED or it reads zero
    private void OnDisable() => moveAction.action.Disable();

    private void Update()
    {
        Vector2 move = moveAction.action.ReadValue<Vector2>(); // continuous value
        transform.Translate(new Vector3(move.x, 0, move.y) * (5f * Time.deltaTime));
    }
}
3. Event callbacks + switching action maps (gameplay ↔ UI)
csharp
[SerializeField] private InputActionAsset actions;

private void OnEnable()
{
    actions.FindAction("Gameplay/Fire").performed += OnFire;  // edge event: fires once
    actions.FindActionMap("Gameplay").Enable();
}
private void OnDisable() => actions.FindAction("Gameplay/Fire").performed -= OnFire;

private void OnFire(InputAction.CallbackContext ctx) => Shoot();  // ctx.ReadValue<T>() if needed

private void OpenPauseMenu()                       // change context, don't sprinkle if-checks
{
    actions.FindActionMap("Gameplay").Disable();
    actions.FindActionMap("UI").Enable();
}
private void Shoot() { }

Pitfalls

  • No input at all → either Active Input Handling is still Input Manager (Old), or you forgot to Enable() the action/map. PlayerInput auto-enables; raw InputActions do not.
  • InvalidOperationException about the old input backend → some script still calls Input.GetAxis/Input.GetKey while Active Input Handling is New. Port it or set Both.
  • Buttons read as 0 with ReadValue → button presses are edge events; use the performed callback (or WasPressedThisFrame()), not per-frame ReadValue for triggers.
  • Send Messages handlers never fire → the receiving script must be on the same GameObject as the PlayerInput; Broadcast Messages reaches children too.
  • Leaking subscriptions → unsubscribe (-=) in OnDisable; re-subscribing in OnEnable without unsubscribing doubles up handlers.
  • Touch/gamepad not detected → enable the matching control scheme and confirm the device in the Input Debugger; the Vector2 composite needs all four bindings set.

References

  • For interactive control rebinding (PerformInteractiveRebinding), saving/loading bindings as JSON, and local multiplayer with PlayerInputManager, read references/rebinding.md.
  • Primary docs: Unity Manual "Input System" (https://docs.unity3d.com/Manual/com.unity.inputsystem.html).
  • input-systems — engine-agnostic input architecture (rebinding, buffering, multi-device).
  • unity-csharp-scripting — the MonoBehaviour these handlers live in.
  • unity-physics — applying the input vector to a Rigidbody.

© gamedev-skills, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/unity/unity-input-system of gamedev-skills/awesome-gamedev-agent-skills.

  • SKILL.md
  • references/rebinding.md

Open the folder on GitHubat commit d4b0e35

Compare with similar skills

Unity Input System next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unity Input System compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unity Input System this skillgamedev-skills/awesome-gamedev-agent-skills1.4k—~1.5kAutomated safety check: PassApache-2.0
Godot Gdscript Patterns925236118/AlphaAgent10310 repos~5kAutomated safety check: PassMIT
Sprite Genaldegad/sprite-gen2.6k—~4.5kAutomated safety check: PassApache-2.0
2D Map and Scene Generator0x0funky/agent-sprite-forge4.3k—~2.9kAutomated safety check: PassMIT
Fantasy Framework Development Guideqq362946/Fantasy1.4k—~5.8kAutomated safety check: PassCustom licence
Package AddIvanMurzak/Unity-MCP4.4k1 repos~665Automated safety check: PassApache-2.0

Similar skills

  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 10 repos~5k tokens
    Game DevelopmentAuto-check passed
  • Sprite Gen

    aldegad/sprite-gen

    Generates images and game sprites through GPT or Grok with guided provider choices, separate saved defaults, automatic cleanup and optional curation.

    2.6k GitHub stars~4.5k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • 2D Map and Scene Generator

    0x0funky/agent-sprite-forge

    Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.

    4.3k GitHub stars~2.9k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Development and review guide for the Fantasy C# distributed game server framework: ECS, FTask, routing, service discovery, config and databases.

    1.4k GitHub stars~5.8k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed
  • Package Add

    IvanMurzak/Unity-MCP

    Install a Unity package from the registry, a Git URL, or a local path.

    4.4k GitHub starsUsed in 1 repo~665 tokens
    Game DevelopmentAuto-check passed
  • Plays an authorized Game Boy or Game Boy Color ROM in one persistent headless Coffee GB session, inspecting frames and keeping an action trace for replay or tests.

    1.2k GitHub stars~1.3k tokensUpdated 7 days ago
    Game DevelopmentAuto-check passed

More from gamedev-skills/awesome-gamedev-agent-skills

All 53 skills in this repo
  • Create Game Assets

    gamedev-skills/awesome-gamedev-agent-skills

    Plan, generate, source, normalize, and validate cohesive visual game assets.

    1.4k GitHub stars~2k tokensUpdated 12 days ago
    Auto-check passed
  • Roblox UI

    gamedev-skills/awesome-gamedev-agent-skills

    Build production Roblox interfaces with ScreenGui/PlayerGui lifecycle, responsive UDim2 layouts, safe insets, reusable editable Instances, cross-device input and selection, restrained motion…

    1.4k GitHub stars~2.9k tokensUpdated 12 days ago
    Auto-check passed
  • AI Behavior Trees Utility AI

    gamedev-skills/awesome-gamedev-agent-skills

    Build a production behavior-tree runtime (Blackboard, action/condition leaves, sequence/selector/parallel composites, decorators) and a Utility AI system (response curves — linear, exponential…

    1.4k GitHub stars~2k tokensUpdated 12 days ago
    Auto-check passed
  • Bevy Ecs

    gamedev-skills/awesome-gamedev-agent-skills

    Structure a Bevy app around its Entity Component System: build the App with plugins, define Component/Resource types, write systems with Query/Res/Commands, filter and order systems, and use the…

    1.4k GitHub stars~2k tokensUpdated 12 days ago
    Auto-check passed
  • Card Game

    gamedev-skills/awesome-gamedev-agent-skills

    Build a card game: card data, deck/hand/discard zones, draw/shuffle/reshuffle, a turn structure, costs, and effect resolution.

    1.4k GitHub stars~1.6k tokensUpdated 12 days ago
    Auto-check passed
  • Fps Shooter

    gamedev-skills/awesome-gamedev-agent-skills

    Build a first-person shooter: move+mouse-look controller, hitscan or projectile shooting, weapons, health, and enemy AI.

    1.4k GitHub stars~1.5k tokensUpdated 12 days ago
    Auto-check passed

Questions about Unity Input System

What does Unity Input System do?

Wire player input in Unity 6.3 LTS with the Input System package: Input Actions, action maps, the PlayerInput component, and reading values via callbacks or polling. Unity Input System is an agent skill from gamedev-skills/awesome-gamedev-agent-skills.3 LTS with the Input System package: Input Actions, action maps, the PlayerInput component, and reading values via callbacks or polling.

When should I use Unity Input System?

Unity Input System fits situations like: the project has a .inputactions asset; com.unity.inputsystem; the user mentions the Unity Input System; control schemes.

How do I install Unity Input System in Claude Code?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unity-input-system -a claude-code`. Or copy the skill folder (skills/unity/unity-input-system in gamedev-skills/awesome-gamedev-agent-skills) into .claude/skills/unity-input-system in your project. Claude Code loads it when a task matches its description.

How do I install Unity Input System in Codex?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unity-input-system -a codex`. Or copy the skill folder (skills/unity/unity-input-system in gamedev-skills/awesome-gamedev-agent-skills) into .agents/skills/unity-input-system in your project. Codex loads it when a task matches its description.

Can I use Unity Input System in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill unity-input-system -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unity-input-system, .gemini/skills/unity-input-system, .github/skills/unity-input-system and .opencode/skills/unity-input-system in your project.

What does Unity Input System need to run?

SKILL.md names no scripts, command-line tools or credentials: Unity Input System is instructions for the agent only.

Does Unity Input System access the network?

SKILL.md names 1 domain. In commands or code: docs.unity3d.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Unity Input System safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Unity Input System use?

Unity Input System is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unity Input System use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 851 tokens, read only when the agent opens those files.

What are the alternatives to Unity Input System?

Skills that share tags, products or a category with Unity Input System: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), Sprite Gen (aldegad/sprite-gen, 2.6k stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.3k stars) and Fantasy Framework Development Guide (qq362946/Fantasy, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unity Input System?

gamedev-skills (a GitHub organization) maintains it in gamedev-skills/awesome-gamedev-agent-skills, which has 1,356 GitHub stars. The repository holds 53 skills in this directory. The repository was last updated on September 27, 2026.

Source: gamedev-skills/awesome-gamedev-agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.