Skip to content
cccskills
FreePublished on GitHub

unity-remote-control

Unity ゲームに DebugManager + McpRemoteControl を実装し、エージェント(Claude Code / MCP)が Play Mode 中のゲーム状態を自動制御できるようにする。God モード、画面遷移、スコア操作を MCP から直接実行し、受け入れテストを人手なしで自動化する。

「デバッグ」「DebugManager」「God モード」「MCP リモート制御」「自動テスト」「受け入れテスト自動化」といったリクエスト時、または dev-game スキルの Phase 6(DebugManager 実装)・Phase 7(テスト検証)から参照されて使用。

The English summary is being prepared. Showing the original description.

See how to install

Files included (3)

  • SKILL.md6.5 KB
  • references/debug-manager-template.md6.0 KB
  • references/mcp-remote-control-template.md2.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Unity DebugManager + MCP Remote Control

目的

Unity MCP は UI ボタンクリックやキー入力をシミュレートできない。そのため、エージェントが Play Mode 中にゲーム状態を自動制御し、受け入れテストを人手なしで完了するための仕組みが必要になる。

DebugManager + McpRemoteControl はこの制約を解消し、エージェントによる以下の自動化を可能にする:

  • 画面遷移(タイトル→ゲーム→ゲームオーバー→リトライ)
  • God モードによるゲームオーバー回避(長時間プレイの自動検証)
  • 各画面のスクリーンショット取得と目視確認
  • コンソールログによるランタイムエラー検出

アーキテクチャ

[Claude Code / MCP]
  │
  ├─ execute_menu_item("MCP/StartGame")   ← Play Mode 中にメニュー経由で制御(推奨)
  │     ↓
  │  McpRemoteControl.cs (Editor スクリプト、[MenuItem] 属性)
  │     ↓
  │  GameManager.Instance.StartGame()
  │
  └─ manage_components → DebugManager.mcpCommand = "god_on"  ← Inspector 経由で制御(代替)
        ↓
     DebugManager.cs (ランタイムスクリプト)
        ↓
     ProcessMcpCommand() → 各機能実行

2 つの制御経路:

  1. McpRemoteControl(推奨): execute_menu_item で直接呼び出し。レスポンスが速い
  2. mcpCommand フィールド: manage_components で文字列を設定。次フレームで実行される

実装手順

1. GameManager にデバッグ用メソッドを追加

ゲームの状態管理に応じて以下のようなメソッドを追加する:

// 例: 状態遷移
public void ForceReturnToTitle() { ChangeState(GameState.Title); }
// 例: タイマー制御(タイマーのあるゲーム)
public void SetRemainingTime(float time) { RemainingTime = time; }
// 例: スコア制御
public void SetScore(int score) { Score = score; OnScoreChanged?.Invoke(Score); }

2. DebugManager を作成

テンプレート: debug-manager-template.md

共通キーバインド(手動テスト用の補助。エージェント自動テストでは McpRemoteControl を使う):

キー機能有効条件
F1デバッグ情報オーバーレイ常時
GGod モード ON/OFF常時
Sゲーム開始Title 時
Rタイトルへ帰還Title 以外
N強制ゲームオーバーPlaying 時
SpaceリトライGameOver 時

3. McpRemoteControl を作成(Editor スクリプト)

テンプレート: mcp-remote-control-template.md

Assets/Scripts/Editor/McpRemoteControl.cs に配置。execute_menu_item から呼び出す。

4. God モードを設計・実装

God モードの目的は エージェントがゲームオーバーにならずにプレイを継続し、各種機能を自動検証できるようにする こと。

実装はゲームのジャンルやメカニクスに応じて設計する:

ゲームジャンルGod モードで無効化する要素実装例
ランゲーム障害物との衝突死Physics2D.IgnoreLayerCollision + isInvincible
シューティング被弾ダメージisDamageable = false
パズル制限時間切れtimerFrozen = true
アクション体力減少・落下死hp = Mathf.Infinity + 落下判定スキップ
もぐらたたき(God モード不要)タイマー操作で代替

設計原則:

  • ゲームオーバー条件を無効化する — ゲームが何で終了するかを特定し、その条件をバイパスする
  • ゲームプレイは維持する — スコア加算、コイン取得、レベル進行などは通常どおり動作させる
  • ON/OFF を切り替えられる — God モード OFF でゲームオーバー遷移もテストできるようにする

エージェント自動テスト手順

画面遷移テスト

1. manage_editor(action="play")
2. sleep 2秒(初期化待ち)
3. manage_camera(action="screenshot", include_image=true)  → タイトル画面確認
4. execute_menu_item("MCP/StartGame")
5. sleep 1秒
6. manage_camera(action="screenshot", include_image=true)  → ゲーム画面確認
7. execute_menu_item("MCP/ForceGameOver")
8. sleep 2秒(ゲームオーバー演出待ち)
9. manage_camera(action="screenshot", include_image=true)  → ゲームオーバー画面確認
10. execute_menu_item("MCP/RetryGame")
11. sleep 1秒
12. manage_camera(action="screenshot", include_image=true) → リトライ後確認
13. execute_menu_item("MCP/ReturnToTitle")
14. manage_camera(action="screenshot", include_image=true) → タイトル復帰確認
15. manage_editor(action="stop")

ゲームプレイ長時間テスト(God モード使用)

1. manage_editor(action="play")
2. execute_menu_item("MCP/StartGame")
3. execute_menu_item("MCP/GodMode")         → ゲームオーバーを防ぐ
4. sleep 30-70秒(難易度上昇・スコア蓄積を待つ)
5. manage_camera(action="screenshot", include_image=true)  → プレイ中確認
6. read_console(types=["error"])             → ランタイムエラー確認
7. execute_menu_item("MCP/GodModeOff")      → God モード解除
8. sleep 数秒(ゲームオーバーを待つ)
9. manage_camera(action="screenshot", include_image=true)  → ゲームオーバー確認
10. manage_editor(action="stop")

注意事項

  • McpRemoteControl は Assets/Scripts/Editor/ に配置(ビルドに含まれない)
  • DebugManager は #if UNITY_EDITOR || DEVELOPMENT_BUILD で囲む(リリースビルドに含めない)
  • God モード解除時は状態を確実に元に戻す(物理レイヤー設定等)

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Unity カジュアルゲームを仕様駆動開発(Specification-Driven Development)で作成する。仕様を先に確定させ、設計・実装・テストを行うことで手戻りを最小化する。「ゲームを作って」「仕様駆動開発」「SDD」「ゲーム企画書」「機能仕様書」「技術仕様書」「テスト仕様書」「タスクリスト」「Unityゲーム開発」「カジュアルゲーム」といったリクエスト時に使用。Phase 1(企画書)からPhase 8(リリース)まで段階的にドキュメントを作成し、仕様に基づいて実装・テスト・検証を行う。

The English summary is being prepared. Showing the original description.

umezy/hcg-workflows6Updated Mar 18, 2026

ゲーム画面全てのスクリーンショットを撮影し、スクショとコードベースを分析して改善提案を行う。「レビュー」「改善提案」「ゲームレビュー」「スクショして改善」「画面チェック」「ビジュアルレビュー」「UI改善」「UX改善」「フィードバック」といったリクエスト時に使用。

The English summary is being prepared. Showing the original description.

umezy/hcg-workflows6Updated Mar 18, 2026

WebGL ビルド成果物を StatiCrypt で暗号化し、GitHub Pages にデプロイする。「デプロイ」「GitHub Pages」「公開して」「アップロード」といったリクエスト時に使用。パスワードは Build/ 内で管理し、リポジトリ作成からプッシュまでを自動化する。

The English summary is being prepared. Showing the original description.

umezy/hcg-workflows6Updated Mar 18, 2026

Unity プロジェクト向けにプロシージャル音声(SE・BGM)を C# Editor スクリプトで生成する。「音声を生成」「SEを作って」「BGMを作って」「サウンドアセット」「AudioGenerator」「効果音」「プロシージャルオーディオ」といったリクエスト時に使用。WAV ファイル(44100Hz/16bit/Mono)を Assets フォルダに直接出力し、外部ツール不要で完結する。

The English summary is being prepared. Showing the original description.

umezy/hcg-workflows6Updated Mar 18, 2026

Unity MCP を使った実装検証スキル。コンパイルエラー確認(L1)、Play Mode 動作確認(L2)、スクリーンショット目視確認(L3)の3段階で検証する。「検証して」「動作確認」「Play Mode で確認」「スクリーンショットで確認」「エラーチェック」といったリクエスト時、または他スキル(dev-game 等)から参照されて使用。

The English summary is being prepared. Showing the original description.

umezy/hcg-workflows6Updated Mar 18, 2026

Unity MCPのセットアップと接続を行う。Unity EditorとClaude Codeの間でMCP接続を確立するための手順を実行する。「Unity MCP セットアップ」「MCP接続」「Unity MCP設定」「UnityMCP」「MCP For Unity」「MCPが繋がらない」「Unity Editorと接続」といったリクエスト時に使用。新規セットアップとトラブルシューティングの両方に対応。

The English summary is being prepared. Showing the original description.

umezy/hcg-workflows6Updated Mar 18, 2026

See all skills by umezy

Report a problem with this skill