Agent skill
uloop-replay-input
Replay recorded input during PlayMode with frame-precise injection. Use when you need to: (1) Reproduce recorded gameplay exactly, (2) Run E2E tests from recorded input, (3) Generate demo videos with consistent input.
Install this agent skill to your Project
npx add-skill https://github.com/hatayama/unity-cli-loop/tree/main/.claude/skills/uloop-replay-input
SKILL.md
uloop replay-input
Replay recorded keyboard and mouse input during PlayMode. Loads a JSON recording and injects input frame-by-frame via Input System with zero CLI overhead. Supports looping and progress monitoring.
Usage
# Start replay (auto-detect latest recording)
uloop replay-input --action Start
# Start replay with specific file
uloop replay-input --action Start --input-path scripts/my-play.json
# Start replay with looping
uloop replay-input --action Start --loop true
# Check replay progress
uloop replay-input --action Status
# Stop replay
uloop replay-input --action Stop
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--action |
enum | Start |
Start, Stop, Status |
--input-path |
string | auto | JSON path. Auto-detects latest in .uloop/outputs/InputRecordings/ |
--show-overlay |
boolean | true |
Show replay progress overlay |
--loop |
boolean | false |
Loop continuously |
Deterministic Replay
Replay injects the exact same input frame-by-frame, but the game must also be deterministic to produce identical results. See the "Design Guidelines for Deterministic Replay" section in the record-input skill for the full list of patterns to avoid (Time.deltaTime, Random.Range, physics, etc.) and their deterministic alternatives.
Output
Returns JSON with:
Success: Whether the operation succeededMessage: Status messageInputPath: Path to recording file (Start only)CurrentFrame: Current replay frameTotalFrames: Total frames in recordingProgress: Replay progress (0.0 - 1.0)IsReplaying: Whether replay is active
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
uloop-simulate-mouse-ui
Simulate mouse click, long-press, and drag on PlayMode UI elements via EventSystem screen coordinates. Use when you need to: (1) Click buttons or interactive UI elements during PlayMode testing, (2) Drag UI elements from one position to another, (3) Hold a drag at a position for inspection before releasing, (4) Long-press UI elements that respond to sustained pointer-down. For game logic that reads Input System (e.g. WasPressedThisFrame), use simulate-mouse-input instead.
uloop-execute-menu-item
Execute Unity Editor menu commands programmatically. Use when you need to: (1) Trigger menu commands like save, build, or refresh, (2) Automate editor actions via menu paths, (3) Run custom menu items defined in project scripts.
uloop-find-game-objects
Find GameObjects in the active scene by various criteria. Use when you need to: (1) Search for objects by name, regex, or path, (2) Find objects with specific components, tags, or layers, (3) Get currently selected GameObjects in Unity Editor. Returns matching GameObjects with hierarchy paths and components.
uloop-simulate-keyboard
Simulate keyboard key input in PlayMode via Input System. Use when you need to: (1) Press game control keys like WASD, Space, or Shift during PlayMode, (2) Hold keys down for continuous movement or actions, (3) Combine multiple held keys for complex input like Shift+W for sprint.
uloop-run-tests
Execute Unity Test Runner and get detailed results. Use when you need to: (1) Run EditMode or PlayMode unit tests, (2) Verify code changes pass all tests, (3) Diagnose test failures with error messages and stack traces. Auto-saves NUnit XML results on failure.
uloop-control-play-mode
Control Unity Editor play mode (play/stop/pause). Use when you need to: (1) Start play mode to test game behavior, (2) Stop play mode to return to edit mode, (3) Pause play mode for frame-by-frame inspection.
Didn't find tool you were looking for?