mcpField
U
unity-debug

unity-debug

github.com/besty0728開発1.9k83 回インストール今日更新
リポジトリ

unity-debug について

unity-debug は、Unity Editor のエラー調査と診断情報の収集に使うスキル群です。エディターの状態、コンソールログ、コンパイル状況、システム情報をまとめて確認できます。

主な機能

  1. 01エディターの状態を集約
  2. 02コンソールログとエラーの絞り込み
  3. 03コンパイル状況と結果の確認
  4. 04スタック・アセンブリ・システム情報の取得
  5. 05再コンパイル要求と定義シンボル設定

活用シーン

  1. 01変更後のコンソールエラー確認
  2. 02スクリプトのコンパイル失敗の診断
  3. 03Unity 環境情報の収集
  4. 04ログ項目のスタックトレース確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/besty0728/unity-skills --skill unity-debug

インストール後、Claude Code で/unity-debugを入力して読み込まれたか確認します。

詳細

このモジュールのスキルを呼び出す前に: 名前や説明からパラメーターを推測してスキルを呼び出そうとしている場合は、いったん停止し、先にこのファイルを読むか、GET /skills/recommend?includeSchema=true でスキーマを取得してください。recommend/schema からすでにパラメーター定義を得ている場合は、そのまま dryRun に進めます。

トリガー

  • コンパイル失敗の診断
  • 変更後のエラー確認
  • 強制的な再コンパイル
  • システム診断情報の収集
  • コンパイル失敗の診断、変更後のエラー確認、強制的な再コンパイル、システム診断情報の収集

デバッグスキル

エラー確認と診断のためのデバッグユーティリティです。

動作モード

  • 承認:読み取り専用のスキル(unity_diagnose / debug_get_errors / debug_get_logs / debug_check_compilation / debug_get_system_info / debug_get_stack_trace / debug_get_assembly_info / debug_get_defines / debug_get_memory_info。すべて SkillMode.SemiAuto としてマークされています)は直接実行されます。debug_force_recompile / debug_set_defines はデフォルトで SkillMode.FullAuto であり、ユーザーによる許可が必要です。許可後は1ステップで実行され、結果が返されます。
  • 自動/バイパス:直接実行されます。
  • このモジュールには Reload を伴う高リスクのスキルがあります:debug_force_recompile(MayTriggerReload=true としてマークされています)は必ず Domain Reload を発生させます。debug_set_defines で PlayerSettings の scripting defines を変更した場合も、再コンパイルが発生します。これらのスキルは承認/自動モードでは IsForbiddenInSemi により自動的にブロックされ、バイパスまたは Allowlist に該当する場合にのみ実行できます。呼び出し後、サーバーは一時的に利用できなくなります。

禁止事項(よくある誤認):

  • debug_compile / debug_recompile は存在しません → debug_force_recompile を使用してください
  • debug_run は存在しません → editor モジュールの editor_play を使用してください
  • debug_clear は存在しません → console モジュールの console_clear を使用してください
  • debug_set_defines は Domain Reload を発生させるため、サーバーは一時的に利用できなくなります

ルーティング:

  • ランタイムのコンソールログ → console モジュールの console_get_logs / console_start_capture を使用してください
  • プレイモードの制御 → editor モジュールを使用してください
  • スクリプトのコンパイル結果 → script モジュールの script_get_compile_feedback を使用してください

スキル

unity_diagnose

Editor の状態をまとめて確認するスナップショットです。問題のトリアージでは、最初に呼び出してください。 コンソールエラー、コンパイル状態、最近のワークフロータスク、最近のジョブ、サーバー統計を1回の応答にまとめます。個別のスキルを4~5回連続して呼び出す必要がありません。

パラメーター:

  • errorLimit(int、任意、デフォルト20、範囲1~200):返すコンソールエントリーの最大数です。
  • includeWarnings(bool、任意、デフォルトtrue):警告を含めます(falseの場合はエラーのみ)。
  • includeRecentJobs(bool、任意、デフォルトtrue):最近の非同期ジョブを最大10件含めます。

戻り値: { summary: { healthy, consoleErrorCount, consoleWarningCount, isCompiling, serverRunning, hint }, compile, console, workflow, server, recentJobs }

debug_get_logs

種類と内容でフィルターしたコンソールログを取得します。 パラメーター:

  • type(string、任意):種類でフィルターします(Error/Warning/Log/All、大文字と小文字を区別しません。いずれにも該当しない値を指定すると SEMANTIC_INVALID で拒否されます)。デフォルト:Error。
  • filter(string、任意):内容でフィルターします。
  • limit(int、任意):エントリーの最大数です。デフォルト:50。
debug_get_errors

コンソールから有効なエラーと例外のみを取得します。 パラメーター:

  • limit(int、任意):エントリーの最大数です。デフォルト:50。
debug_check_compilation

Unity が現在コンパイル中かどうか、および最後に完了したコンパイルが成功したかどうかを確認します。 パラメーター: なし。 戻り値: {isCompiling, isUpdating, lastCompilation: {succeeded, errorCount, finishedAtUtc, errors: [{file, line, message}]}} — lastCompilation は、この Editor セッションでコンパイルが完了するまでは null です。isCompiling: false だけでは、最後のコンパイルが成功したことを意味しません。コンパイルに失敗した後も、Unity は以前のアセンブリを引き続き実行します。

debug_force_recompile

クリーンなスクリプトコンパイルを要求し、status:"accepted"、jobId、waitUrl を返します。ジョブを GET して、対応するサイクルでアセンブリが正常にコンパイルされ、新しいドメインが読み込まれたこと(resultData.compilation.compiled、success、domainLoaded)を確認してください。Unity の CleanBuildCache を要求しただけでは、アセンブリがコンパイルされた証拠にはなりません。要求したサイクルでコンパイルが行われなければ、no_compilation で失敗します。変更したスクリプトを検証する場合は、実際にスクリプトを変更した際のコンパイルジョブを使用してください。Unity は Play Mode の終了まで要求を保留する場合があります。また、ジョブによって Play Mode が自動的に終了することはありません。 パラメーター: なし。

debug_get_system_info

システムおよび Unity 環境の情報を取得します。 パラメーター: なし。

debug_get_stack_trace

ログエントリーのインデックスを指定して、スタックトレースを取得します。

パラメーター型必須デフォルト説明
entryIndexintはい-スタックトレースを取得するログエントリーのインデックス

戻り値: { index, message, stackTrace }

debug_get_assembly_info

プロジェクトのアセンブリ情報を取得します。

パラメーター: なし。

戻り値: { success, count, assemblies }

debug_get_defines

現在のプラットフォームのスクリプティング定義シンボルを取得します。

パラメーター: なし。

戻り値: { success, buildTargetGroup, defines }

debug_set_defines

現在のプラットフォームのスクリプティング定義シンボルを設定します。

パラメーター型必須デフォルト説明
definesstringはい-設定するスクリプティング定義シンボル

戻り値: { success, buildTargetGroup, defines, serverAvailability }

debug_get_memory_info

メモリ使用量の情報を取得します。

パラメーター: なし。

戻り値: { success, totalAllocatedMB, totalReservedMB, totalUnusedReservedMB, monoUsedSizeMB, monoHeapSizeMB }


正確なシグネチャ

正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。

コメント