| name | uloop-replay-input |
| description | Replay recorded PlayMode keyboard and mouse input. Use for exact gameplay reproduction, E2E runs, or consistent demos from JSON recordings. |
npx --yes uloop-cli@2.2.0 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
npx --yes uloop-cli@2.2.0 replay-input --action Start
npx --yes uloop-cli@2.2.0 replay-input --action Start --input-path scripts/my-play.json
npx --yes uloop-cli@2.2.0 replay-input --action Start --loop true
npx --yes uloop-cli@2.2.0 replay-input --action Status
npx --yes uloop-cli@2.2.0 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. If replay output must be compared across runs, read references/deterministic-replay.md before interpreting failures.
Prerequisites
- Unity must be in PlayMode
- Input System package must be installed (
com.unity.inputsystem)
- Use this only when the project already uses the New Input System.
Output
Returns JSON with:
Success: Whether the operation succeeded
Message: Status message
Action: Echoes which action was executed (Start, Stop, or Status)
InputPath: Path to recording file (nullable string; populated on Start only)
CurrentFrame: Current replay frame index (nullable int)
TotalFrames: Total frames in the recording (nullable int)
Progress: Replay progress (nullable float in 0.0 – 1.0)
IsReplaying: Whether replay is currently active (nullable bool)
These are the only eight fields. There is no LoopCount, ElapsedSeconds, OverlayVisible, or per-frame inspection data in the response.