Borrowing it
Nothing to install: this file belongs to hatayama/unity-cli-loop. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/hatayama/unity-cli-loop/main/.agents/skills/uloop-simulate-mouse-input/SKILL.mdgit clone --depth 1 https://github.com/hatayama/unity-cli-loopWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/hatayama/unity-cli-loop/uloop-simulate-mouse-input)<a href="https://agentmods.dev/skills/hatayama/unity-cli-loop/uloop-simulate-mouse-input"><img src="https://agentmods.dev/badge/skills/hatayama/unity-cli-loop/uloop-simulate-mouse-input/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/hatayama/unity-cli-loop/uloop-simulate-mouse-input"><img src="https://agentmods.dev/badge/skills/hatayama/unity-cli-loop/uloop-simulate-mouse-input.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00055 | $0.01934 |
| Opus 5.5 | $0.00022 | $0.00774 |
| Sonnet 5.5 | $0.00011 | $0.00387 |
| Haiku 4.5 | $0.00006 | $0.00193 |
Grade A, and why
uloop-simulate-mouse-input scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 14d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 131 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Task
Simulate mouse input via Input System in Unity PlayMode, or dry-run a Game View coordinate against 3D physics without injecting input.
Workflow
- When checking what a screenshot coordinate would hit in 3D physics before clicking, run
uloop simulate-mouse-input --dry-run --x <x> --y <y>first (EditMode is fine; no Input System required) - Ensure Unity is in PlayMode (use
uloop control-play-mode --action Playif not) before injecting real mouse input. Real input requires the Input System package and Active Input Handling set to 'Input System Package (New)' or 'Both' - For Click/LongPress: determine the target Game View input position from annotated
SimX/SimY, raycast-gridInputX/InputY, or raw image pixels converted withScreenshotToInputFormula - Execute the needed
uloop simulate-mouse-inputcommands - Inspect the result with the lightest useful evidence: runtime state, logs, or a screenshot
- When this input verifies a state transition, use Pause Point inspection from the section below as the standard frame proof
- Report what happened and which evidence was used
Two rules while verifying:
- Do not touch the physical mouse or keyboard, and keep the OS pointer off the Unity window — real device input mixes into the same
Mouse.currentstate this tool injects. - Read the starting values you will assert against immediately before firing the input; a value measured earlier in the session may have changed.
Tool Reference
uloop simulate-mouse-input --action <action> [options]
uloop simulate-mouse-input --dry-run --x <x> --y <y> [--layer-mask <mask>] [--max-distance <distance>]
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
--action |
enum | Click |
Click - inject button press+release, LongPress - inject button hold for --duration seconds, MoveDelta - inject mouse delta (one-shot), SmoothDelta - inject mouse delta smoothly over --duration seconds, Scroll - inject scroll wheel |
--x |
number | 0 |
Target X position in Game View pixels (origin: top-left). Used by Click, LongPress, and --dry-run. Use AnnotatedElements[].SimX, or raw image pixels converted with ScreenshotToInputFormula. |
--y |
number | 0 |
Target Y position in Game View pixels (origin: top-left). Used by Click, LongPress, and --dry-run. Use AnnotatedElements[].SimY, or raw image pixels converted with ScreenshotToInputFormula. |
--button |
enum | Left |
Mouse button: Left, Right, Middle. Used by Click and LongPress. |
--duration |
number | 0 |
Hold duration for LongPress, or interpolation duration for SmoothDelta (seconds, max 30). For Click, 0 = one-shot tap. |
--delta-x |
number | 0 |
Delta X in pixels for MoveDelta/SmoothDelta. Positive = right. |
--delta-y |
number | 0 |
Delta Y in pixels for MoveDelta/SmoothDelta. Positive = up. |
--scroll-x |
number | 0 |
Horizontal scroll delta for Scroll action. |
--scroll-y |
number | 0 |
Vertical scroll delta for Scroll action. Positive = up, negative = down. Typically 120 per notch. |
--dry-run |
flag | - | Query 3D physics at --x/--y without injecting mouse input. Works in EditMode and without the Input System package. Skips PlayMode / Input System preflight. |
--layer-mask |
number | Unity default raycast layers | Physics layer mask used by the raycast. Effective only with --dry-run. |
--max-distance |
number | 1000 |
Maximum raycast distance in world units. Effective only with --dry-run. |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 14d ago Changed a568126f9d2d
- 28d ago Changed · -58 tokens per session 2c041c886138
- 1mo ago Changed 398d746d7309
- 1mo ago Changed · +2 lines · +69 tokens per session 7cd9ad35eddb
- 2mo ago First seen · 129 lines · 44 tokens per session scan A 9fe5c18d2371
uloop-simulate-mouse-input is a skill published in the GitHub repository hatayama/unity-cli-loop (586 stars, last pushed 2d ago), licensed MIT. It adds 55 tokens to every session and 1,934 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
unity-ui
A Unity user-interface development and testing workflow for UI Toolkit and uGUI, Unity's two main UI systems.
unity-verify
A Unity Editor verification workflow that refreshes the project, waits for compilation, checks errors, and can run tests.
test-designing-guide
Provides test design methodology for Unity projects. Use this skill whenever designing test cases from requirements or specifications, including selecting test techniques, deriving test cases, and formatting them. Even for small features, load this skill to ensure test design rigor.
test-writing-guide
Provides guidelines for writing test code for Unity projects. Make sure to use this skill whenever writing, creating, editing, or modifying test code files (files under Tests/). This includes implementing new tests, fixing test failures, adding test cases, or any task that results in test code changes. Even for small…
asp-ft-player-builds
Build and run release players of Aspid.FastTools on macOS in one command - Mac Mono, Mac IL2CPP (Managed Stripping Level Minimal and High) and the iOS Simulator - and check that SerializableType resolves its stored names and that ENABLEPROFILER is off. Covers the "player builds" items of the release checklist. …
run-tests
Provides guidelines for running Unity tests using the rununitytests tool. Make sure to use this skill whenever running, executing, or re-running tests in the Unity Editor. This includes verifying implementations, debugging test failures, running specific test assemblies, or any task that involves the rununitytests…