input-module

Wrap Unity Input System with reactive properties and observable events.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/punkfuncgames/tetris-clone --skill input-module
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: input-module
Source: https://github.com/punkfuncgames/tetris-clone/tree/main/.claude/skills/input-module
Command: npx skills add https://github.com/punkfuncgames/tetris-clone --skill input-module

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

InputModule provides a lightweight wrapper around Unity's Input System, exposing reactive properties and observables to simplify input handling across gameplay and UI contexts.

Core Features & Use Cases

  • Reactive properties for common inputs (movement, look, and button presses) and ReadOnlyReactiveProperty types.
  • Observables for primary/secondary actions, interact, pause, and cancel events to drive game logic and UI flows.
  • Switchable action maps (Player / UI) to cleanly separate gameplay controls from UI navigation.
  • Global enable/disable with automatic value resets to ensure predictable behavior.
  • Built-in support for gamepad haptics via Vibrate(...) to enhance feedback.

Quick Start

Install the InputModule and inject IInputService to start consuming input in your gameplay systems.

Frequently Asked Questions about input-module

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I handle Unity input reactively with action maps?▼

Handle Unity input reactively by wrapping the Input System to expose ReadOnlyReactiveProperty inputs and observables, enabling action-map switching between Player and UI contexts for clean gameplay and menu control.

How do I switch between Player and UI action maps in Unity?▼

Switch between Player and UI action maps in Unity by using the wrapper's built-in context switching, cleanly separating gameplay controls from UI navigation and ensuring predictable input routing across menus.

Why use reactive properties for Unity input handling?▼

Reactive properties for Unity input handling expose movement and look values as ReadOnlyReactiveProperty streams, allowing game logic to subscribe to continuous axis changes and discrete button press events without manual polling.

Can I disable global input and reset values during gameplay?▼

You can disable global input and reset values during gameplay using the wrapper's enable/disable control, which automatically resets reactive properties to ensure predictable behavior when input is paused or suspended.

How do I trigger gamepad haptics using the Unity Input System?▼

Trigger gamepad haptics using the Unity Input System by calling the wrapper's Vibrate method, enhancing player feedback during gameplay interactions, collisions, or context switches.