hira1010/2nd-brain/uloop-simulate-mouse-input
Claude Code and agent skill by hira1010/2nd-brain
- community
Checking that the SKILL.md file is still in the repository.
Simulate Mouse.current input in PlayMode through Unity Input System. Use for gameplay clicks, mouse delta, or scroll; use simulate-mouse-ui for EventSystem UI elements.
Install
npx vskill@latest install hira1010/2nd-brain/uloop-simulate-mouse-inputSKILL.md
The same SKILL.md was published earlier as styly-dev/styly-netsync/uloop-simulate-mouse-input.
Task
Simulate mouse input via Input System in Unity PlayMode: $ARGUMENTS
Workflow
- Ensure Unity is in PlayMode (use
npx --yes uloop-cli@2.2.0 control-play-mode --action Playif not) - For Click/LongPress: determine the target screen position (use
npx --yes uloop-cli@2.2.0 screenshotto find coordinates) - Execute the appropriate
npx --yes uloop-cli@2.2.0 simulate-mouse-inputcommand - Take a screenshot to verify the result:
npx --yes uloop-cli@2.2.0 screenshot --capture-mode rendering - Report what happened
Tool Reference
Parameters
| Parameter | Type | Default | Description | |
|---|---|---|---|---|
--action | enum | Click | Click, LongPress, MoveDelta, SmoothDelta, Scroll | |
--x | number | 0 | Target X position (origin: top-left). Used by Click and LongPress. | |
--y | number | 0 | Target Y position (origin: top-left). Used by Click and LongPress. | |
--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). 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. Typically 120 per notch. |
Actions
| Action | What it injects | Description | |
|---|---|---|---|
Click | Mouse.current button press → release | Inject a button click so game logic detects wasPressedThisFrame | |
LongPress | Mouse.current button press → hold → release | Hold a button for --duration seconds | |
MoveDelta | Mouse.current.delta | Inject mouse movement delta one-shot (e.g. for FPS camera look) | |
SmoothDelta | Mouse.current.delta (per-frame) | Inject mouse delta smoothly over --duration seconds (human-like camera pan) | |
Scroll | Mouse.current.scroll | Inject scroll wheel input (e.g. for hotbar or zoom) |
Global Options (optional)
| Option | Description | |
|---|---|---|
--project-path <path> | Optional. Use only when the target Unity project is not the current directory. |
When to use this vs simulate-mouse-ui
| Scenario | Tool | |
|---|---|---|
| Click a Unity UI Button (IPointerClickHandler) | simulate-mouse-ui | |
Destroy a block in Minecraft (reads Mouse.current.leftButton) | simulate-mouse-input when the project uses the New Input System | |
| Place a block with right-click | simulate-mouse-input --button Right when the project uses the New Input System | |
| Drag a UI slider | simulate-mouse-ui --action Drag | |
| Look around with mouse (FPS camera) | simulate-mouse-input --action MoveDelta when the project uses the New Input System | |
| Scroll hotbar slots | simulate-mouse-input --action Scroll when the project uses the New Input System |
Examples
Prerequisites
- Unity must be in PlayMode
- Input System package must be installed (
com.unity.inputsystem) - Game code must read input via Input System API (e.g.
Mouse.current.leftButton.wasPressedThisFrame) - Use this only when the project already uses the New Input System.
Output
Returns JSON with:
Success: Whether the operation succeededMessage: Status messageAction: Echoes which action was executed (Click,LongPress,MoveDelta,SmoothDelta, orScroll)Button: Which button was used (nullable string; populated forClick/LongPress, null otherwise)PositionX: Target X coordinate (nullable float; populated forClick/LongPress)PositionY: Target Y coordinate (nullable float; populated forClick/LongPress)
These are the only six fields. There is no DeltaX, DeltaY, ScrollX, ScrollY, Duration, or hit-element field in the response — only the issued action, button, and target position are echoed back. Verify visual outcome with a follow-up screenshot.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking13_Unity/.codex/skills/uloop-simulate-mouse-input/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/hira1010/2nd-brain/uloop-simulate-mouse-input)