本文へ移動
cccskills
無料GitHub で公開

uloop-simulate-mouse-input

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.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md6.5 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Task

Simulate mouse input via Input System in Unity PlayMode: $ARGUMENTS

Workflow

  1. Ensure Unity is in PlayMode (use npx --yes uloop-cli@2.2.0 control-play-mode --action Play if not)
  2. For Click/LongPress: determine the target Game View input position from annotated SimX/SimY, raycast-grid InputX/InputY, or raw image pixels converted with ScreenshotToInputFormula
  3. Execute the appropriate npx --yes uloop-cli@2.2.0 simulate-mouse-input command
  4. Take a screenshot to verify the result: npx --yes uloop-cli@2.2.0 screenshot --capture-mode rendering
  5. Report what happened

Tool Reference

npx --yes uloop-cli@2.2.0 simulate-mouse-input --action <action> [options]

Parameters

ParameterTypeDefaultDescription
--actionenumClickClick, LongPress, MoveDelta, SmoothDelta, Scroll
--xnumber0Target X position in Game View pixels (origin: top-left). Used by Click and LongPress. Use AnnotatedElements[].SimX, RaycastGridPoints[].InputX, or raw image pixels converted with ScreenshotToInputFormula.
--ynumber0Target Y position in Game View pixels (origin: top-left). Used by Click and LongPress. Use AnnotatedElements[].SimY, RaycastGridPoints[].InputY, or raw image pixels converted with ScreenshotToInputFormula.
--buttonenumLeftMouse button: Left, Right, Middle. Used by Click and LongPress.
--durationnumber0Hold duration for LongPress, or interpolation duration for SmoothDelta (seconds). For Click, 0 = one-shot tap.
--delta-xnumber0Delta X in pixels for MoveDelta/SmoothDelta. Positive = right.
--delta-ynumber0Delta Y in pixels for MoveDelta/SmoothDelta. Positive = up.
--scroll-xnumber0Horizontal scroll delta for Scroll action.
--scroll-ynumber0Vertical scroll delta for Scroll action. Typically 120 per notch.

Actions

ActionWhat it injectsDescription
ClickMouse.current button press → releaseInject a button click so game logic detects wasPressedThisFrame
LongPressMouse.current button press → hold → releaseHold a button for --duration seconds
MoveDeltaMouse.current.deltaInject mouse movement delta one-shot (e.g. for FPS camera look)
SmoothDeltaMouse.current.delta (per-frame)Inject mouse delta smoothly over --duration seconds (human-like camera pan)
ScrollMouse.current.scrollInject scroll wheel input (e.g. for hotbar or zoom)

Global Options (optional)

OptionDescription
--project-path <path>Optional. Use only when the target Unity project is not the current directory.

When to use this vs simulate-mouse-ui

ScenarioTool
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-clicksimulate-mouse-input --button Right when the project uses the New Input System
Drag a UI slidersimulate-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 slotssimulate-mouse-input --action Scroll when the project uses the New Input System

Examples

# Left-click at the Game View center (for game logic)
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action Click --x 400 --y 300

# Right-click at screen center (e.g. place block)
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action Click --x 400 --y 300 --button Right

# Hold left-click for 2 seconds (e.g. mine block)
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action LongPress --x 400 --y 300 --duration 2.0

# Look right (FPS camera)
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action MoveDelta --delta-x 100 --delta-y 0

# Scroll up (e.g. previous hotbar slot)
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action Scroll --scroll-y 120

# Scroll down (e.g. next hotbar slot)
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action Scroll --scroll-y -120

# Smooth camera pan right over 0.5 seconds
npx --yes uloop-cli@2.2.0 simulate-mouse-input --action SmoothDelta --delta-x 300 --delta-y 0 --duration 0.5

Coordinate System

  • --x / --y use top-left Game View coordinates.
  • Raw image pixels from npx --yes uloop-cli@2.2.0 screenshot --capture-mode rendering must be converted with ScreenshotToInputFormula.
  • AnnotatedElements[].SimX/SimY and RaycastGridPoints[].InputX/InputY can be passed directly to this tool.
  • Do not flip Y in the caller. The tool converts internally for Unity Input System:
unity_x = input_x
unity_y = gameViewHeight - input_y
  • Mouse.current.position uses bottom-left Unity coordinates, so the value read inside Unity may show the converted Y.

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 succeeded
  • Message: Status message
  • Action: Echoes which action was executed (Click, LongPress, MoveDelta, SmoothDelta, or Scroll)
  • Button: Which button was used (nullable string; populated for Click / LongPress, null otherwise)
  • PositionX / PositionY: Target top-left Game View coordinates (nullable float; populated for Click / LongPress)
  • InputCoordinateSystem: "top-left-game-view" for click/long-press coordinates
  • UnityCoordinateSystem: "bottom-left-game-view" for the injected Mouse.current.position
  • GameViewWidth / GameViewHeight: Game View size used for conversion
  • InputPositionX / InputPositionY: Coordinates received from the caller
  • InjectedUnityPositionX / InjectedUnityPositionY: Coordinates injected into Mouse.current.position
  • CoordinateConversionFormula: Conversion formula used by the tool

Verify visual outcome with a follow-up screenshot.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

figma-make-prompt

無料日本語概要

Unityゲーム画面用のFigma Make(Figma AI)投入プロンプトを壁打ちで設計・生成する。UI Toolkit(UXML/USS)への変換を見据えた制約込み。ユーザーが「Figma用のプロンプトを作りたい」「画面デザインの壁打ちをしたい」と言ったら使う。

41h0-siro/cedec2026-lt-ai-ui-workflow42026年7月23日 更新

uitk-import

無料日本語概要

デザイン(Figma MCP出力・HTML/CSS・デザイン仕様)からUI Toolkit用UXML/USSを生成し、Unityへのインポート・シーン配置・コンパイル・スクショ検証・ゲームロジック結線検証まで自動で行う。「この画面をUnityに取り込んで」「UXML/USSにして」で使う。

41h0-siro/cedec2026-lt-ai-ui-workflow42026年7月23日 更新

Clear Unity Console entries. Use before compile, tests, or debugging when stale logs would hide the current result.

日本語の概要は準備中です。原文の説明を表示しています。

41h0-siro/cedec2026-lt-ai-ui-workflow42026年7月23日 更新

Compile the Unity project and report errors/warnings. Use after C# edits or when a full Domain Reload compile is needed.

日本語の概要は準備中です。原文の説明を表示しています。

41h0-siro/cedec2026-lt-ai-ui-workflow42026年7月23日 更新

Control Unity Editor Play Mode. Use to start, stop, or pause Play Mode for runtime behavior checks and frame inspection.

日本語の概要は準備中です。原文の説明を表示しています。

41h0-siro/cedec2026-lt-ai-ui-workflow42026年7月23日 更新

Execute C# with Unity APIs when existing uloop tools cannot inspect or edit enough. Use for scene, prefab, SerializedObject, AssetDatabase refresh/.meta generation, menu, or PlayMode automation.

日本語の概要は準備中です。原文の説明を表示しています。

41h0-siro/cedec2026-lt-ai-ui-workflow42026年7月23日 更新

41h0-siro のスキルをすべて見る

このスキルの問題を報告する