unity-debug について
unity-debug は、Unity Editor のエラー調査と診断情報の収集に使うスキル群です。エディターの状態、コンソールログ、コンパイル状況、システム情報をまとめて確認できます。
主な機能
- 01エディターの状態を集約
- 02コンソールログとエラーの絞り込み
- 03コンパイル状況と結果の確認
- 04スタック・アセンブリ・システム情報の取得
- 05再コンパイル要求と定義シンボル設定
活用シーン
- 01変更後のコンソールエラー確認
- 02スクリプトのコンパイル失敗の診断
- 03Unity 環境情報の収集
- 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
ログエントリーのインデックスを指定して、スタックトレースを取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| entryIndex | int | はい | - | スタックトレースを取得するログエントリーのインデックス |
戻り値: { index, message, stackTrace }
debug_get_assembly_info
プロジェクトのアセンブリ情報を取得します。
パラメーター: なし。
戻り値: { success, count, assemblies }
debug_get_defines
現在のプラットフォームのスクリプティング定義シンボルを取得します。
パラメーター: なし。
戻り値: { success, buildTargetGroup, defines }
debug_set_defines
現在のプラットフォームのスクリプティング定義シンボルを設定します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| defines | string | はい | - | 設定するスクリプティング定義シンボル |
戻り値: { success, buildTargetGroup, defines, serverAvailability }
debug_get_memory_info
メモリ使用量の情報を取得します。
パラメーター: なし。
戻り値: { success, totalAllocatedMB, totalReservedMB, totalUnusedReservedMB, monoUsedSizeMB, monoHeapSizeMB }
正確なシグネチャ
正確な名前、パラメーター、デフォルト値、戻り値は、このファイルではなく、GET /skills/schema または unity_skills.get_skill_schema() で定義されています。