← ClaudeAtlas

input-systemslisted

Structuring player input - separating raw device events from game actions, supporting multiple device types and rebinding, handling context switches between gameplay and UI, and input buffering and responsiveness. Use when setting up input for a project, adding controller or touch support, implementing rebinding, or when controls feel unresponsive or fire in the wrong context.
ibrohim1234567881717/game-dev-ai-skills · ★ 0 · AI & Automation · score 71
Install: claude install-skill ibrohim1234567881717/game-dev-ai-skills
# Input Systems ## Purpose Input is where players touch the game, and it is routinely built as the most throwaway part of a codebase: raw key checks scattered through gameplay code. That structure makes controller support a rewrite, rebinding impossible, and context bugs — the pause menu accepting a jump input — inevitable. The fix is one idea: **gameplay code responds to *actions*, never to devices.** ## When to use - Setting up input at the start of a project. - Adding controller, touch, or a second device type to something built for one. - Implementing rebinding or accessibility options. - Controls feel unresponsive, or inputs are dropped. - Input fires in the wrong context — gameplay reacting while a menu is open. ## When NOT to use - Camera control specifically, beyond input reading. That is a gameplay and feel problem in its own right. - Networked input transmission. Use `multiplayer-networking`; a client sends input as a request, and the server validates it. - Engine-specific configuration. Use the platform skill — `unreal-enhanced-input`, `unity-input-system`, `godot-project-conventions`, `roblox-character-systems`. ## Required context | Fact | Why it matters | |---|---| | Which devices must be supported | Keyboard, gamepad, touch and motion have different shapes | | Whether rebinding is required | If yes, the action layer is mandatory rather than merely wise | | Platform certification requirements | Consoles have mandatory input and accessibility req