Unity MCPビルトインツール完全リファレンス — 51個のパラメータ・有効化ガイド

Unity AI完全マスターシリーズ
第1回 — Unity AI Assistant入門:Ask・Plan・Agentモード完全解説
第2回 — Unity MCP完全ガイド:Claude Code・Codex・Gemini・CursorをUnity Editorに接続する
第3回 — Unity MCPカスタムツールの作り方:McpTool Deep Diveと4つの登録方式
第4回 — Unity SkillsシステムでAIワークフローを自動化する:SKILL.md完全ガイド
Appendix — Unity MCPビルトインツール完全リファレンス:51個のツールパラメータ・有効化ガイド (この記事)
第5回 — Unity AI AssistantのProject Overview自動生成:AIがプロジェクトを理解するようにする方法
第6回 — Unity AI Assistant × Profiler:性能ボトルネックを自然言語で診断する実践ガイド

Claude CodeやCursorがUnity Editorに接続したとき、実際にどのツールを呼び出せるのか — 公式ドキュメントには全リストが存在しません。本記事はcom.unity.ai.assistant @2.7(Unity 6.3)のパッケージソースを直接解析し、ビルトインMCPツール51個すべてのパラメータ・型・デフォルト値・有効化方法をまとめた開発者向けリファレンスです。Unity 6.3を基準に解説します。

TL;DR
– Unity MCPのビルトインツールは計53個(ソース確認済み51個)、Core・Assets・Assistant・Debug & Diagnostics・Editor 5グループで構成されます。
– デフォルト有効(EnabledByDefault = true)なツールは7個のみ。残りはProject Settingsで手動で有効化する必要があります。
– 登録メカニズムは2種類:[McpTool]属性による直接宣言 vs AgentToolMcpAdapterによるブリッジング。
– AssetGenerationツール群はUnity Creditsを消費し、Profilerツール群はProfilerウィンドウにキャプチャデータが存在する場合のみ動作します。
– カスタムツールの作成方法はMcpTool Deep Diveを参照してください。

目次


ツールの有効化方法

Unity MCPビルトインツールは2つの状態に分類されます。

状態 意味
デフォルト有効EnabledByDefault = true MCP接続直後からすぐに使用可能
手動有効化が必要EnabledByDefault = false 以下の手順で有効化する必要あり

手動有効化の手順:

  1. Unity Editor上部メニューの Edit > Project Settings を開く
  2. 左側リストから AI > Unity MCP を選択
  3. Tools タブをクリック
  4. 有効化したいツールのチェックボックスをオンにする
  5. 外部AIクライアント(Claude Code、Cursorなど)でMCP接続を再起動する

デフォルト有効な7個のツール:

ツールID グループ
Unity.RunCommand Core
Unity.GetConsoleLogs Debug & Diagnostics
Unity.Camera.Capture Editor
Unity.SceneView.Capture2DScene Editor
Unity.SceneView.CaptureMultiAngleSceneView Editor
Unity.AssetGeneration.GenerateAsset Assets
Unity.AssetGeneration.GetModels Assets

この7個はUnity MCPセットアップ直後から即座に使用可能で、最も汎用的に利用されるツールです。残りの44個は用途に応じて選択的に有効化するオプトイン方式です。

AssetGeneration注意: GenerateAssetGetModelsはデフォルト有効ですが、AI生成機能はUnity Creditsを消費します。
Profiler注意: Profilerツール群は、Unity Profilerウィンドウにキャプチャされたデータがある場合のみ有効な結果を返します。


全ツールクイックリファレンス

ツールID グループ 機能概要 デフォルト
Unity.ManageScript Core レガシースクリプト操作ルーター(create/read/delete)
Unity.ManageScript_capabilities Core ManageScriptのサポート操作・制限情報照会
Unity.CreateScript Core 指定パスにC#スクリプトを新規作成
Unity.DeleteScript Core URIまたはパスでC#スクリプトを削除
Unity.GetSha Core ファイルのSHA256ハッシュとメタデータを取得
Unity.ApplyTextEdits Core 正確な座標に基づくファイルテキスト編集
Unity.ScriptApplyEdits Core メソッド・クラス単位の構造的C#編集
Unity.ValidateScript Core C#スクリプトの構文・パフォーマンス診断
Unity.RunCommand Core C#コードをEditorで即時コンパイル・実行
Unity.ListResources Core プロジェクト内のファイルURIリストを照会
Unity.ReadResource Core ファイル内容を読み取り(スライシング対応)
Unity.FindInFile Core ファイル内の正規表現パターン検索
Unity.ManageGameObject Core GameObjectの作成・変更・削除・コンポーネント操作
Unity.ManageScene Core シーンのロード・保存・作成・階層構造照会
Unity.ManageEditor Core Editorの再生・一時停止・状態制御
Unity.ManageMenuItem Core Editorメニュー項目の実行・検索
Unity.ManageAsset Core アセットのインポート・作成・変更・削除・検索
Unity.ImportExternalModel Core 外部URLのFBXをインポート・シーン配置・プレハブ保存
Unity.ManageShader Assets シェーダースクリプトの作成・読み取り・更新・削除
Unity.AssetGeneration.GenerateAsset Assets AIでスプライト・画像・3Dモデル・サウンドを生成
Unity.AssetGeneration.GetModels Assets アセット生成に使用可能なAIモデルリストを照会
Unity.AssetGeneration.GetCompositionPatterns Assets マテリアル・TerrainLayer生成用パターンを照会
Unity.AssetGeneration.ManageInterrupted Assets 中断されたアセット生成ジョブの確認・再開
Unity.AssetGeneration.ConvertToMaterial Assets テクスチャ → Material変換(非生成型)
Unity.AssetGeneration.ConvertToTerrainLayer Assets テクスチャ → TerrainLayer変換(非生成型)
Unity.AssetGeneration.ConvertSpriteSheetToAnimationClip Assets スプライトシート → AnimationClip変換
Unity.AssetGeneration.CreateAnimatorControllerFromClip Assets AnimationClip → AnimatorController作成
Unity.AssetGeneration.EditAnimationClipTool Assets ヒューマノイドAnimationClipの編集
Unity.AudioClip.Edit Assets オーディオクリップの無音除去・トリミング・音量・ループ編集
Unity.FindProjectAssets Assets 名前マッチング+視覚的意味論的アセット検索
Unity.Grep Assistant ripgrepでファイル内容・パス検索
Unity.ReadConsole Debug コンソールメッセージの照会・フィルタ・クリア
Unity.GetConsoleLogs Debug スタックトレース付きコンソールログを照会
Unity.Profiler.GetFrameRangeTopTimeSummary Debug 複数フレーム区間の上位時間サマリー
Unity.Profiler.GetFrameTopTimeSamplesSummary Debug 特定フレームの総時間基準上位サンプルサマリー
Unity.Profiler.GetFrameSelfTimeSamplesSummary Debug 特定フレームの自己時間基準上位サンプルサマリー
Unity.Profiler.GetSampleTimeSummary Debug 特定プロファイラーサンプルの時間サマリー
Unity.Profiler.GetBottomUpSampleTimeSummary Debug ボトムアップ分析基準のサンプル時間サマリー
Unity.Profiler.GetSampleTimeSummaryByMarkerPath Debug Marker IDパス基準のサンプル時間サマリー
Unity.Profiler.GetRelatedSamplesTimeSummary Debug 同時実行中の他スレッド関連サンプルサマリー
Unity.Profiler.GetOverallGcAllocationsSummary Debug 全プロファイリングデータのGCアロケーションサマリー
Unity.Profiler.GetFrameGcAllocationsSummary Debug 特定フレームの上位GCアロケーションサンプルサマリー
Unity.Profiler.GetFrameRangeGcAllocationsSummary Debug 複数フレーム区間のGCアロケーションサマリー
Unity.Profiler.GetSampleGcAllocationSummary Debug 特定サンプルのGCアロケーションサマリー
Unity.GetUserGuidelines Editor プロジェクトのコーディング規約・フォルダ構造コンテキストを読み込む
Unity.GetProjectData Editor プロジェクト概要データを照会
Unity.PackageManager.GetPackageData Editor パッケージ情報を照会
Unity.PackageManager.PackageManagerExecuteAction Editor パッケージの追加・削除・サンプルインストール
Unity.Camera.Capture Editor 特定カメラまたはシーンビューの画像キャプチャ
Unity.SceneView.Capture2DScene Editor 2Dシーンの特定領域を正射影でキャプチャ
Unity.SceneView.CaptureMultiAngleSceneView Editor 3Dシーンの4方向マルチアングルキャプチャ

Core(18個)

[McpTool]属性で直接登録されます。ソースパス:Modules/Unity.AI.MCP.Editor/Tools/


Unity.ManageScript

レガシースクリプト操作の互換性ルーターです。ファイルの直接読み取りにはresources/read、編集にはUnity.ApplyTextEditsまたはUnity.ScriptApplyEditsの使用を推奨します。

パラメータ 必須 デフォルト 説明
action 文字列 'create' | 'read' | 'delete'
name 文字列 スクリプト名(.csを除く)
path 文字列 "Assets/" アセットパス
contents 文字列 create/update時のC#コード
script_type 文字列 型ヒント(例:'MonoBehaviour'
namespace 文字列 スクリプトの名前空間

戻り値:{ success, message, data }


Unity.ManageScript_capabilities

Unity.ManageScriptがサポートする操作・制限・ガード設定情報を照会します。

パラメータなし

戻り値:{ ops, text_ops, max_edit_payload_bytes, guards }


Unity.CreateScript

指定したパスに新しいC#スクリプトを作成します。パスはAssets/配下である必要があり、コンテンツはBase64エンコードされて転送されます。

パラメータ 必須 デフォルト 説明
path 文字列 アセットパス(例:'Assets/Scripts/My.cs'
contents 文字列 C#コード
script_type 文字列 型ヒント(例:'MonoBehaviour'
namespace 文字列 名前空間

Unity.DeleteScript

URIまたはAssetsの相対パスでC#スクリプトを削除します。対象はAssets/配下である必要があります。

パラメータ 必須 デフォルト 説明
uri 文字列 unity://path/... | file://... | Assets/...

Unity.GetSha

ファイルの内容は返さず、SHA256ハッシュと基本メタデータのみを照会します。Unity.ApplyTextEditsprecondition_sha256と組み合わせることで、同時編集による競合を防ぐことができます。

パラメータ 必須 デフォルト 説明
uri 文字列 対象ファイルのURI

戻り値:{ sha256, metadata }


Unity.ApplyTextEdits

URIで識別されるファイルの正確な文字位置を置換します。行・列番号はすべて1始まりで、タブは1文字としてカウントします。

推奨ワークフローUnity.ReadResourceUnity.FindInFileUnity.ApplyTextEdits

パラメータ 必須 デフォルト 説明
uri 文字列 編集するファイルのURI
edits 配列 編集項目のリスト。各項目:{ startLine, startCol, endLine, endCol, newText }
precondition_sha256 文字列 現在のファイルSHA256。同時編集競合防止用

Unity.ScriptApplyEdits

メソッド・クラス単位の構造的なC#編集です。生のテキスト置換より安全なため、優先的に使用することを推奨します。

パラメータ 必須 デフォルト 説明
op 文字列 replace_method | insert_method | delete_method | anchor_insert | anchor_delete | anchor_replace
className 文字列 nameフィールド 対象クラス名
methodName 文字列 条件付き replace_methoddelete_method時に必須
replacement 文字列 条件付き replace_methodinsert_method時に必須
position 文字列 insert_method専用:start | end | after | before
afterMethodName 文字列 条件付き position='after'時に必須
beforeMethodName 文字列 条件付き position='before'時に必須
anchor 文字列 条件付き anchor_*操作用の正規表現
text 文字列 条件付き anchor_insertanchor_replace時に挿入するテキスト
options.validate 文字列 'standard'(構造検査) | 'relaxed'(内部専用編集)

Unity.ValidateScript

C#スクリプトの構文エラーとパフォーマンスヒントを診断します。

パラメータ 必須 デフォルト 説明
uri 文字列 検証するスクリプトのURI
level 文字列 'basic' 'basic'(高速構文チェック) | 'standard'(パフォーマンスヒント含む)
include_diagnostics ブール値 false trueの場合、完全な診断とサマリーを返す

Unity.RunCommand ★ デフォルト有効

Unity EditorでC#コードを即時コンパイルして実行します。物理・入力・グラフィクス・ゲームプレイ・パッケージ管理など、Editorのほぼすべての機能をプログラムで制御できる最も強力なツールです。

パラメータ 必須 デフォルト 説明
code 文字列 実行するC#コード。クラス名は必ずCommandScriptにする必要があります
title 文字列 操作タイトル(ログ識別用)

戻り値:{ compilationStatus, executionStatus, logs, results }

ゴールデンテンプレート(この形式から外れると実行に失敗します):

internal class CommandScript
{
    [UnityEditor.MenuItem("Tools/RunCommand", false, 0)]
    public static void Execute()
    {
        var result = new System.Collections.Generic.Dictionary<string, object>();
        // ここにコードを記述
        UnityEngine.Debug.Log(Newtonsoft.Json.JsonConvert.SerializeObject(result));
    }
}

Unity.ListResources

指定フォルダ配下のファイルURIリストを返します。

パラメータ 必須 デフォルト 説明
Pattern 文字列 "*" ファイルフィルタリング用Globパターン
Under 文字列 "Assets" 検索するルートサブフォルダ
Limit 整数 200 最大返却数
ProjectRoot 文字列 プロジェクトルートパスの上書き

戻り値:{ success, data: { uris, count }, error? }


Unity.ReadResource

unity://path/... URIでファイルの内容を読み取ります。行・バイト単位のスライシングをサポートします。

パラメータ 必須 デフォルト 説明
Uri 文字列 読み取るファイルのURI(Assets/配下)
StartLine 整数 開始行番号(1始まり)
LineCount 整数 読み取る行数
HeadBytes 整数 ファイル先頭から読み取るバイト数
TailLines 整数 ファイル末尾から読み取る行数
Request 文字列 自然言語リクエスト(例:'最後の120行''MethodName周辺40行'
ProjectRoot 文字列 プロジェクトルートパスの上書き

戻り値:{ success, data: { text, metadata }, error? }


Unity.FindInFile

正規表現パターンでファイル内を検索し、行番号と抜粋を返します。リネームや編集対象を見つける際に最適です。

パラメータ 必須 デフォルト 説明
Uri 文字列 検索するファイルのURI
Pattern 文字列 正規表現検索パターン
IgnoreCase ブール値 true 大文字小文字を無視するか
MaxResults 整数 200 最大返却結果数
ProjectRoot 文字列 プロジェクトルートパスの上書き

戻り値:{ success, data: { matches, count }, error? }


Unity.ManageGameObject

GameObjectの作成・変更・削除・検索、およびコンポーネント操作を行います。

パラメータ 必須 デフォルト 説明
action 文字列 'create' | 'modify' | 'find' | 'add_component' | 'remove_component' | 'set_component_property' | 'get_components' | 'get_component'
target 文字列 条件付き GameObjectの名前または階層パス。modify/delete/コンポーネント操作時に必須
properties オブジェクト create/modify時のプロパティ(positionrotationscaleparentなど)
component_type 文字列 条件付き コンポーネント操作時の型名(例:'Rigidbody'
component_properties オブジェクト 条件付き set_component_property時の{ プロパティ名: 値 }
search_inactive ブール値 false find時に非アクティブなGameObjectを含めるか

戻り値:{ success, message, data }


Unity.ManageScene

Unityシーンのロード・保存・作成、および階層構造の照会を行います。

パラメータ 必須 デフォルト 説明
Action 文字列 'Load' | 'Save' | 'Create' | 'GetHierarchy'(他多数)
Name 文字列 条件付き create/load/save対象のシーン名(拡張子なし)
Path 文字列 "Assets/" シーンアセットパス
BuildIndex 整数 load/ビルド設定操作用のビルドインデックス

戻り値:{ success, message, data }


Unity.ManageEditor

Unity Editorの再生状態・アクティブツール・タグ・レイヤーなどを制御・照会します。

パラメータ 必須 デフォルト 説明
Action 文字列 'Play' | 'Pause' | 'Stop' | 'GetState' | 'SetActiveTool' | 'AddTag' | 'AddLayer'(他多数)
WaitForCompletion ブール値 trueの場合、一部の操作の完了を待機する
ToolName 文字列 条件付き SetActiveTool時のツール名
TagName 文字列 条件付き AddTag時のタグ名
LayerName 文字列 条件付き AddLayer時のレイヤー名

戻り値:{ success, message, data }


Unity.ManageMenuItem

Unity Editorのメニュー項目を実行・検索・存在確認します。メニューパスがわからない場合は、まず'List'で探索することをお勧めします。

パラメータ 必須 デフォルト 説明
Action 文字列 'Execute' | 'List' | 'Exists' | 'Refresh'
MenuPath 文字列 条件付き Execute/Exists時に必須(例:'File/Save Project'
Search 文字列 List時の大文字小文字を無視したフィルタ文字列
Refresh ブール値 操作前にメニューキャッシュを強制更新する

戻り値:{ success, message, data }


Unity.ManageAsset

インポート・作成・変更・削除・移動・リネーム・検索など、幅広いアセット操作を行います。

パラメータ 必須 デフォルト 説明
Action 文字列 'Import' | 'Create' | 'Modify' | 'Delete' | 'Duplicate' | 'Move' | 'Rename' | 'Search' | 'GetInfo' | 'CreateFolder' | 'GetComponents'
Path 文字列 条件付き アセットパスまたは検索スコープ
AssetType 文字列 条件付き Create時に必須(例:'Material''Folder'
Properties オブジェクト Create/Modify時のプロパティ辞書
Destination 文字列 条件付き Duplicate/Move時の移動先パス
SearchPattern 文字列 検索パターン(例:'*.prefab'
Page 整数 検索結果のページネーション

戻り値:{ success, data, error }


Unity.ImportExternalModel

URLからFBXをダウンロードしてプロジェクトにインポートし、シーンに配置してプレハブとして保存します。

パラメータ 必須 デフォルト 説明
name 文字列 アセット名(単一の単語/ID、スペース不可)
fbx_url 文字列 FBXファイルのURL(ローカルファイル、URL、FBXを含むzip対応)
height 浮動小数点 シーン上での希望の高さ
albedo_texture_url 文字列 アルベドテクスチャファイルのURL

戻り値:{ success, data: { sceneGameObject, prefab }, error }


Assets(12個)

Unity.ManageShader[McpTool]で直接登録、残り11個はAgentToolMcpAdapterを介してブリッジングされます。


Unity.ManageShader

シェーダースクリプトを作成・読み取り・更新・削除します。

パラメータ 必須 デフォルト 説明
Action 文字列 'Create' | 'Read' | 'Update' | 'Delete'
Name 文字列 シェーダー名(.shader拡張子を除く)
Path 文字列 "Assets/" アセットパス
Contents 文字列 条件付き Create/Update時のシェーダーコード

戻り値:{ success, message, data }


Unity.AssetGeneration.GenerateAsset ★ デフォルト有効

commandパラメータ1つで、スプライト・画像・3Dモデル・サウンド・マテリアルなど様々なアセットをAIで生成します。Unity Creditsを消費します。

パラメータ 必須 デフォルト 説明
command 文字列 以下のサポートコマンドリスト参照
modelId 文字列 条件付き 生成コマンド時に必須。GetModelsで有効なIDを確認
prompt 文字列 条件付き 生成する内容の説明。音声生成時は発話テキストのみ入力
targetAssetPath 文字列 条件付き 編集・アップスケール・変換コマンド時の対象アセットパス
referenceImageInstanceId 文字列 再着色時のカラーパレット画像ID
referenceImageInstanceIds 配列 マルチビュー3Dモデル生成時の参照画像IDリスト
referenceImageLabels 配列 マルチビュー画像のビューラベル(例:['front', 'back', 'left']
voiceName 文字列 音声生成時のボイス選択
durationInSeconds 整数 サウンドの長さ(1〜10秒)
loop ブール値 シームレスループを生成するか

サポートするcommandリスト:

command 説明
GenerateSprite スプライトを生成(その後RemoveImageBackgroundの呼び出しを推奨)
GenerateImage 画像を生成(ポートレート、背景など)
RemoveImageBackground 既存スプライト/画像の背景を除去
UpscaleImage / UpscaleSprite 画像/スプライトをアップスケール
RecolorImage / RecolorSprite カラーパレット画像を基準に再着色
EditSpriteWithPrompt / EditImageWithPrompt プロンプトでスプライト/画像を編集
GenerateSpritesheet プロンプトからスプライトシートを生成
GenerateCubemap / UpscaleCubemap キューブマップを生成/アップスケール
GenerateMaterial / AddPbrToMaterial マテリアルを生成 / PBRマップを追加
GenerateTerrainLayer / AddPbrToTerrainLayer TerrainLayerを生成 / PBRマップを追加
GenerateSound 効果音または音声を生成
GenerateMesh 3Dモデル(プレハブ)を生成
RetopologyMesh 既存メッシュをリトポロジー
TextureMesh 既存メッシュにテクスチャを追加
RigMesh 既存メッシュにリギングを追加

Unity.AssetGeneration.GetModels ★ デフォルト有効

アセット生成に使用可能なAIモデルのリストを照会します。GenerateAssetを呼び出す前にmodelIdの確認に使用します。

パラメータなし

戻り値:モデルリスト(各エントリにModelId GUIDを含む)


Unity.AssetGeneration.GetCompositionPatterns

マテリアルやTerrainLayer生成時に参照画像として使用できるコンポジションパターンのリストを照会します。GenerateMaterialGenerateTerrainLayerを呼び出す前に照会することを推奨します。

パラメータなし


Unity.AssetGeneration.ManageInterrupted

中断されたアセット生成ジョブの確認・再開を行います。

パラメータの詳細はソースで確認できませんでした。


Unity.AssetGeneration.ConvertToMaterial

既存のTexture2DまたはCubemapアセットからMaterialを作成します。生成型AIは使用しません。

パラメータ 必須 デフォルト 説明
targetAssetPath 文字列 Texture2DまたはCubemapアセットのパス
savePath 文字列 生成する.matファイルの保存パス

Unity.AssetGeneration.ConvertToTerrainLayer

既存のTexture2DアセットからTerrainLayerを作成します。生成型AIは使用しません。

パラメータ 必須 デフォルト 説明
referenceImagePath 文字列 Texture2Dアセットのパス
savePath 文字列 生成する.terrainlayerファイルの保存パス

Unity.AssetGeneration.ConvertSpriteSheetToAnimationClip

あらかじめスライスされたTexture2Dスプライトシートから AnimationClipを作成します。

パラメータ 必須 デフォルト 説明
referenceImagePath 文字列 スライス済みTexture2Dアセットのパス
savePath 文字列 生成する.animファイルの保存パス

Unity.AssetGeneration.CreateAnimatorControllerFromClip

既存のAnimationClipからAnimatorControllerを作成し、そのクリップをデフォルト状態として設定します。

パラメータ 必須 デフォルト 説明
animationClipPath 文字列 既存の.animアセットのパス
savePath 文字列 生成する.controllerファイルの保存パス

Unity.AssetGeneration.EditAnimationClipTool

Unityのヒューマノイド AnimationClipを編集します。ヒューマノイドクリップのみサポートします。

パラメータ 必須 デフォルト 説明
command 文字列 'MakeStationary'(ルートモーション除去) | 'TrimToBestLoop'(最適ループ区間のトリミング)
targetAssetPath 文字列 対象の.animファイルパス

Unity.AudioClip.Edit

AudioClipアセットの無音除去・トリミング・音量調整・ループ作成を行います。自然なループを得るには、LoopSoundの前にTrimSilenceで無音を先に除去することを推奨します。

パラメータ 必須 デフォルト 説明
command 文字列 'TrimSilence' | 'TrimSound' | 'ChangeVolume' | 'LoopSound'
targetAssetPath 文字列 対象のAudio Clipアセットパス
startTime 浮動小数点 条件付き TrimSound時のトリミング開始時間(秒)
endTime 浮動小数点 条件付き TrimSound時のトリミング終了時間(秒)
volume 浮動小数点 条件付き ChangeVolume時の音量値

Unity.FindProjectAssets

名前マッチングと視覚的意味論的検索を組み合わせてプロジェクトアセットを検索します。

パラメータ 必須 デフォルト 説明
query 文字列 検索クエリ。以下のプレフィックス構文をサポート

クエリプレフィックス構文:

プレフィックス 意味
t:<type> アセット型フィルタ t:Texture2Dt:Prefab
dir:<path> 検索ディレクトリ制限 dir:Assets/Characters
l:<label> アセットラベルフィルタ l:Environment
k:<keyword> キーワード検索 k:fire particle

返り値にはResponseGuidanceフィールドが含まれており、結果を表示する際は、この指示に従ってください。


Assistant(1個)


Unity.Grep

ripgrep(rg)でプロジェクトのファイル内容を検索したり、パスパターンでファイルを一覧表示したりします。デフォルトでは.csファイルのみが対象です。

パラメータ 必須 デフォルト 説明
args 文字列 ripgrepの引数文字列。検索パターンを含みます。--glob/--typeでファイル型を指定し、-lでファイルパスのみ出力
path 文字列 検索範囲ディレクトリ(指定するとそのフォルダに限定)

使用例:
– 全.csファイルでNavMeshAgentを検索:args="NavMeshAgent"
– JSONファイルを検索:args="--type json \"someKey\""
– ファイルパスのみを出力:args="-l \"TODO\""


Debug & Diagnostics(14個)

Unity.ReadConsole[McpTool]で直接登録、Unity.GetConsoleLogsとProfilerツール11個はAgentToolMcpAdapterによるブリッジングです。

Profilerの前提条件:Profilerツール群はUnity Profilerウィンドウにキャプチャされたデータが存在する場合のみ動作します。データなしで呼び出すと空の結果が返されます。


Unity.ReadConsole

Unity Editorのコンソールメッセージを照会またはクリアします。Unity.GetConsoleLogsよりも細かいフィルタリング(型・タイムスタンプ・フォーマット)をサポートしています。

パラメータ 必須 デフォルト 説明
Action 文字列 'Get' | 'Clear'
Types 文字列 'All' 'Error' | 'Warning' | 'Log' | 'All'
Count 整数 返却するメッセージの最大数
FilterText 文字列 メッセージテキストフィルタ
SinceTimestamp 文字列 この時刻以降のメッセージのみ照会(ISO 8601)
Format 文字列 'Plain' 'Plain' | 'Detailed' | 'Json'
IncludeStacktrace ブール値 スタックトレースを含めるか

戻り値:{ success, data: { messages } }


Unity.GetConsoleLogs ★ デフォルト有効

スタックトレースを含むUnityコンソールログを手軽に照会します。素早いデバッグにはこのツールが、細かいフィルタリングが必要な場合はUnity.ReadConsoleが適しています。

パラメータ 必須 デフォルト 説明
maxEntries 整数 50 最大エントリ数
includeStackTrace ブール値 true スタックトレースを含めるか
logTypes 文字列 "info,warning,error" 照会するログタイプ(カンマ区切り)

Profilerツール(11個)

ProfilerツールはすべてProfilingSummaryTools.csMcpAvailability.Availableとして登録されています。パラメータの詳細はソースコードを直接参照してください。

ツールID 主な入力 説明
Unity.Profiler.GetFrameRangeTopTimeSummary フレーム範囲 複数フレーム区間の上位時間サマリー
Unity.Profiler.GetFrameTopTimeSamplesSummary フレーム番号 特定フレームの総時間基準上位サンプル
Unity.Profiler.GetFrameSelfTimeSamplesSummary フレーム番号 特定フレームの自己時間基準上位サンプル
Unity.Profiler.GetSampleTimeSummary サンプル識別子 特定サンプルの時間サマリー
Unity.Profiler.GetBottomUpSampleTimeSummary サンプル識別子 ボトムアップ分析基準のサンプル時間
Unity.Profiler.GetSampleTimeSummaryByMarkerPath Marker IDパス Markerパス基準のサンプル時間
Unity.Profiler.GetRelatedSamplesTimeSummary サンプル識別子 同時実行中の他スレッド関連サンプル
Unity.Profiler.GetOverallGcAllocationsSummary (なし) 全データのGCアロケーションサマリー
Unity.Profiler.GetFrameGcAllocationsSummary フレーム番号 特定フレームの上位GCアロケーションサンプル
Unity.Profiler.GetFrameRangeGcAllocationsSummary フレーム範囲 複数フレーム区間のGCアロケーションサマリー
Unity.Profiler.GetSampleGcAllocationSummary サンプル識別子 特定サンプルのGCアロケーションサマリー

Editor(7個)

すべてAgentToolMcpAdapterを介してブリッジングされます。


Unity.GetUserGuidelines

プロジェクトのコーディング規約・フォルダ構造・命名規則などのコンテキストを読み込みます。ファイルの作成・編集・分析の前に呼び出すことで、既存のプロジェクトスタイルに合った結果を得られます。

パラメータなし


Unity.GetProjectData

プロジェクト概要のMarkdown生成に必要な基本プロジェクトデータを返します。

パラメータなし


Unity.PackageManager.GetPackageData

Unityパッケージの説明・バージョン・依存関係情報を照会します。パッケージのインストールには使用できません。

パラメータ 必須 デフォルト 説明
packageName 文字列 パッケージ名(例:com.unity.addressables

※ パラメータ名はソースから直接確認できなかったため、実際の名前と異なる場合があります。


Unity.PackageManager.PackageManagerExecuteAction

Unityパッケージの追加・削除、またはサンプルのインストールを行います。

パラメータ 必須 デフォルト 説明
action 文字列 'Add' | 'Remove' | 'InstallSample'(推定)
packageName 文字列 パッケージ名

※ パラメータ名はソースから直接確認できなかったため、実際の名前と異なる場合があります。


Unity.Camera.Capture ★ デフォルト有効

シーンの特定カメラまたは現在のシーンビューを画像でキャプチャします。計算コストが高いため、シーンビューコンテキストが必ず必要な場合のみ使用してください。

パラメータ 必須 デフォルト 説明
instanceId 整数 Cameraコンポーネントを持つGameObjectのインスタンスID。省略時は現在のシーンビューをキャプチャ

Unity.SceneView.Capture2DScene ★ デフォルト有効

2Dシーンの特定矩形領域を正射影(トップダウン)でキャプチャします。

パラメータ 必須 デフォルト 説明
x 浮動小数点 キャプチャ領域の中心ワールドX座標
y 浮動小数点 キャプチャ領域の中心ワールドY座標
width 浮動小数点 キャプチャ領域のワールド幅
height 浮動小数点 キャプチャ領域のワールド高さ
pixelsPerUnit 浮動小数点 解像度(高いほど詳細だが画像サイズが増大)

Unity.SceneView.CaptureMultiAngleSceneView ★ デフォルト有効

3Dシーンをアイソメトリック・正面・上部・右側の4方向でキャプチャし、2×2グリッドで返します。3Dシーン専用であり、2DシーンにはUnity.SceneView.Capture2DSceneを使用してください。

パラメータ 必須 デフォルト 説明
focusObjectIds 整数配列 フレームを合わせるGameObjectのインスタンスIDリスト。省略時はシーン全体のオブジェクトにフレームを合わせる

実際によく使う組み合わせ

リファレンスをひと通り確認すると、どのツールを組み合わせるか感覚がつかめてきます。実務で繰り返し登場するパターンをいくつか整理しておきます。

スクリプト編集フロー: Unity.GetShaUnity.ReadResourceUnity.FindInFileUnity.ApplyTextEditsの順が安全です。事前にSHAを取得しておくと、同時編集の競合を防げます。構造的な変更の場合は、Unity.ScriptApplyEditsを先に検討してください。

AIアセット生成フロー: Unity.AssetGeneration.GetModelsで有効なmodelIdを確認してからGenerateAssetを呼び出すのが基本です。スプライトの場合、生成直後にRemoveImageBackgroundを続けて呼び出すことをUnity公式ソースでも推奨しています。

Profiler分析フロー: Unity Profilerウィンドウにキャプチャデータがなければ、Profilerツール11個はすべて空の結果を返します。まずデータをキャプチャしてから、GetFrameRangeTopTimeSummaryでボトルネック区間を絞り込み、GetSampleTimeSummaryで特定のサンプルを深掘りする順序が効率的です。


合わせて読みたいポスト


← 前の記事: 第4回 — Unity Skillsシステムでワークフローを自動化する

コメントする