npx skills add smithery/hatayama --skill uloop-control-play-mode
hatayama/unity-cli-loop
uloop-control-play-mode
Control Unity Editor Play Mode. Use to Play (or Resume, its alias), Stop, Pause, or Step Play Mode, or query Status without side effects, for runtime behavior checks and frame inspection.
Installation
npx skills add hatayama/unity-cli-loop --skill uloop-control-play-mode
Similar popular skills
Related neighbors and high-traction skills in the same topics — useful to compare before installing.
Configures AWS Application Recovery Controller (ARC) for operational resilience: routing contro…
2.3K installsAnalyzes Axiom query patterns to find unused data, then builds dashboards and monitors for cost…
1.7K installsBuild a safe recommendation plan for PlanetScale Postgres Database Traffic Control budgets and …
12 installsPose-conditioned generation on RunComfy via the `runcomfy` CLI. Routes across Kling 2-6 Motion …
354.3K installsControl mouse, keyboard, and screen for desktop automation tasks
4K installsExpert UI/UX design guidance for unique, accessible interfaces. Use for visual decisions, color…
3.9K installsAlso in this package
Other skills from hatayama/unity-cli-loop · top by installs.
npx skills add hatayama/unity-cli-loop
More details
Agent compatibility
Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.
Also listed on
Alternate registries and mirrors of this skill.
Repository health
main
Package contents
Files included with this skill beyond the listing page.
-
skill md
SKILL.md5,032 B -
docs
SUMMARY.md218 B
History
- First seen on skills.sh
- First recorded snapshot · 40 installs
SKILL.md
uloop control-play-mode
Control Unity Editor play mode (play/stop/pause/step) or query its state without side effects (status).
Usage
uloop control-play-mode [options]
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--action |
string | Play |
Play - start Play Mode, Stop - stop Play Mode, Pause - pause Play Mode, Step - advance one frame while paused, Status - report current state without changing anything, Resume - alias of Play in every state, including starting Play Mode when stopped |
--timeout-seconds |
integer | 180 |
Maximum seconds to wait for the requested play mode state |
Output
Returns JSON with the current play mode state:
IsPlaying: Whether Unity is currently in play modeIsPaused: Whether play mode is pausedChanged: Whether the requested action changed the current play mode stateWasAlreadyStopped: WhetherStopwas requested while Play Mode was already stoppedResumedFromPause: WhetherPlayresumed a paused Play Mode session instead of starting a new oneMessage: Description of the action performedWarning(string, optional): Set when the action carries a caveat. A freshPlaystart always notes that the session started from Edit-time scene state; additionally, when active hot-reload patches or enabled pause points exist and Domain Reload is enabled, it reports how many of them the Play-entry domain reload will discard.Statusalso reports when Play Mode is running while the Unity Editor is unfocused, because progress may be throttled; runuloop focus-window, or use thepause-point --await/--triggerflow instead of polling for progress.StoppedBy(string, optional): Why Play Mode last stopped:cli-control-play-mode,cli-compile-stop-setting,cli-run-tests-cancel,script-compilation, orunknown. Present onStopwhen Play Mode was already stopped, and onStatuswhen Play Mode is not running. Omitted when this Editor session has no confirmed stop.StoppedAt(string, optional): UTC ISO 8601 timestamp of that stop. Omitted together withStoppedBywhen no stop is recorded.
Notes
- Stop on an already-stopped Editor sets
Changed: false,WasAlreadyStopped: true Playon an Editor that is already playing is a no-op: it setsChanged: falseand leaves the current session (its accumulated state, spawned objects, progress) untouched instead of restarting it. If you need a clean state for verification, explicitlyStopthenPlayrather than relying onPlayalone to reset anything.Playwhile Play Mode is paused resumes the same session: it setsChanged: true,ResumedFromPause: true, andMessage: "Play mode resumed"— the session is not restarted.Resumeis an alias ofPlayand behaves identically in every state, including starting Play Mode when stopped.Stepadvances exactly one frame and leaves PlayMode paused (the Editor's Next Frame button); it is independent ofTime.timeScaleand requires PlayMode to be running- The command waits for the requested state before returning. Increase
--timeout-secondsfor projects with slow PlayMode entry. - Before relying on PlayMode behavior as verification evidence, check
uloop get-logs --log-type Errorfor pre-existing errors. An error already present when PlayMode starts can otherwise be mistaken for one caused by the action under test. Statusreads the current state with no side effects:Changedis alwaysfalse, no waiting, no scene saving, and it is never rejected by compile errors. It reports whether compile errors would currently blockPlay(BlockedByCompileErrorswith theCompileErrorslist), read from the last compile result without triggering a new compile. It does not predict unsaved-changes blocking:BlockedByUnsavedChangesdescribes a failed save attempt during aPlayrequest, andStatusnever attempts one.Playfails immediately with aCONTROLPLAYMODEUNSAVEDCHANGESerror when unsaved changes cannot be saved quietly — most commonly an Untitled scene, which has no path to save to. The error message lists exactly which scenes or prefab stages blocked it; save the Untitled scene to an explicit path (or discard the changes), then retry.Playfrom Edit mode triggers a domain reload (unless Enter Play Mode Options disable it), which discards all active hot-reload patches and enabled pause points. The responseWarningreports the counts being dropped. Edits that were only hot-reloaded are not part of the compiled assemblies, so the new session runs the last compiled code — runuloop compilebeforePlayto keep them, or re-applyuloop hot-reloadafter Play Mode starts.