mcpField
U
unity-console

unity-console

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

unity-console について

Unity Console の履歴を調査、管理する Unity Skills モジュールです。タイムスタンプ付きログのページ取得、絞り込み、統計、エクスポート、設定に対応します。

主な機能

  1. 01保持されたコンソールログの取得
  2. 02種類・文字列・時刻による絞り込み
  3. 03固定スナップショットのページ取得
  4. 04ログ統計の確認
  5. 05履歴のエクスポートと設定

活用シーン

  1. 01テスト実行後のエラー確認
  2. 02文字列に一致する警告の検索
  3. 03調査用ログのエクスポート

インストール

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

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

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

詳細

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

トリガー

  • コンソール出力の確認
  • エラーや警告のフィルタリング
  • ログメッセージの出力
  • コンソールの設定
  • コンソール出力の確認、エラーや警告のフィルタリング、ログの出力、コンソールの設定

Unity コンソールスキル

Unity コンソールを操作して、ログの取得、メッセージの書き込み、プロジェクトのデバッグを行います。

動作モード

  • 承認:読み取り専用のスキル(console_get_logs / console_get_stats、SkillMode.SemiAuto に設定)はそのまま実行します。それ以外のスキル(console_start_capture / console_stop_capture / console_clear / console_log / console_export / console_set_pause_on_error / console_set_collapse / console_set_clear_on_play、デフォルトの SkillMode.FullAuto)にはユーザーの grant が必要です。grant 後は 1 ステップで実行し、結果を返します。
  • 自動 / バイパス:そのまま実行します。
  • このモジュールには Delete / PlayMode / Reload / RiskLevel=high に該当するスキルはありません —— IsForbiddenInSemi によるブロックはなく、実行に Bypass が必要な高リスク操作もありません。

次の操作は行わないでください(よくある誤認):

  • console_filter は存在しません → filter パラメーターを指定して console_get_logs を使用します
  • console_read は存在しません → console_get_logs を使用します
  • console_write は存在しません → console_log を使用します
  • debug_get_logs と混同しないでください。console_get_logs は永続的なタイムスタンプ付き履歴 API であり、debug_get_logs はネイティブ Console 互換の読み取り機能です

振り分け:

  • コンパイルエラーに特化した処理 → debug モジュールの debug_check_compilation を使用します
  • エラーのスタックトレース → debug モジュールの debug_get_stack_trace を使用します
  • コンソール設定(折りたたみ、再生時にクリア)→ このモジュールの console_set_collapse / console_set_clear_on_play を使用します

スキルの概要

スキル説明
console_start_captureログの取得を開始します
console_stop_captureログの取得を停止します
console_get_logs固定スナップショット方式のページネーションで、永続的なタイムスタンプ付きログを取得します
console_clearコンソールをクリアします
console_logログメッセージを書き込みます
console_set_pause_on_errorPlay モードでの Error Pause を有効または無効にします
console_exportコンソールログをファイルにエクスポートします
console_get_statsログ統計(種類別の件数)を取得します
console_set_collapseコンソールログの折りたたみモードを設定します
console_set_clear_on_play再生時にクリアするモードを設定します

スキル

console_start_capture

互換キャプチャセッションを開始します。管理対象のログ履歴は常に収集されるため、この操作ではセッションカーソルを記録し、以前のバックグラウンド履歴が消去されることはありません。

パラメーターはありません。

console_stop_capture

互換キャプチャセッションを停止します。保持された履歴は破棄されません。

パラメーターはありません。

console_get_logs

保持されている Unity Console のログを取得します。デフォルトでは、完全一致する (type, message, stackTrace) レコードを 1 つのグループにまとめます。この読み取り設定は、Unity Console の UI の「Collapse」切り替えとは独立しています。

パラメーター型必須デフォルト説明
typestringいいえ"All"All / Error / Warning / Log(大文字と小文字を区別しません。いずれにも該当しない値を指定すると SEMANTIC_INVALID で拒否されます)
filterstringいいえnull完全なメッセージまたはスタックトレース内の、大文字と小文字を区別しない部分文字列
limitintいいえ1001 ページあたりの結果数(1~1000)
collapseboolいいえtrue個々のレコードではなく、安定した重複グループを返します
fromUtcstringいいえnullISO-8601 UTC の開始境界(含む)(...Z またはゼロオフセット)
toUtcstringいいえnullISO-8601 UTC の終了境界(含まない)。範囲は [fromUtc, toUtc) です
groupIdstringいいえnull折りたたまれたレスポンスで返された 1 つのグループ ID に絞り込みます
cursorstringいいえnull前回のレスポンスで返された、不透明な固定スナップショットのページカーソル。console_clear によって無効になります
includeStackTraceboolいいえfalse返されるレコード/グループに完全なスタックトレースを含めます

戻り値: {count, logs, source, cursor, nextCursor, totalMatched, hasMore, complete, dropped, coverage}。個々のレコードには {seq, type, message, stackTrace?, utc, timeKnown, sessionId, source} が含まれます。折りたたまれた行には {groupId, type, message, stackTrace?, count, countKnown, firstUtc, lastUtc, firstSeq, lastSeq} が含まれます。groupId は完全な (type, message, stackTrace) タプルに対して安定しています。cursor は以降の各ページの最終シーケンス番号を固定するため、新しいログがそのページシーケンスに入ることはありません。complete:false または dropped>0 は、保持期間、クリア履歴、破損、永続化の問題、または古いネイティブログにより、完全であると断言できないことを意味します。このサービスより前のネイティブログでは utc:null および timeKnown:false となり、タイムスタンプが捏造されることはありません。Unity の古い Console リフレクションでは折りたたまれていない発生数を取得できないため、ネイティブログの count は null で、countKnown:false です。ネイティブメッセージは Unity のリフレクションによって切り詰められることがあるため、全文検索が保証されるのはマネージドレコードのみです。coverage は、この情報、保持件数の上限、永続化の健全性、利用可能な Editor.log のパスを報告します。Editor.log はカーソル履歴には取り込まれず、手動での代替手段としてのみ利用できます。

console_clear

Unity コンソールをクリアします。

パラメーターはありません。

console_log

カスタムログメッセージを書き込みます。

パラメーター型必須デフォルト説明
messagestringはい-ログメッセージ
typestringいいえ"Log"Log/Warning/Error
console_set_pause_on_error

Play モードでの Error Pause を有効または無効にします。

パラメーター型必須デフォルト説明
enabledboolいいえtrueエラーポーズを有効または無効にします

戻り値: { success, enabled }

console_export

保持されているコンソール履歴をファイルにエクスポートします。利用可能な UTC タイムスタンプと完全なスタックトレースも含まれます。

パラメーター型必須デフォルト説明
savePathstringいいえ"Assets/console_log.txt"ログの保存先ファイルパス

戻り値: { success, path, count, source, complete, dropped, truncated }。エクスポートを完全な証拠として扱う前に、truncated を確認してください。

console_get_stats

保持されているログ履歴の統計情報を取得します。

パラメーターはありません。

戻り値: {success, total, source, logs, warnings, errors, exceptions, asserts, complete, dropped, truncated}。エラー数がゼロであることをクリーンな実行の証拠として扱う前に、truncated を確認してください。

console_set_collapse

コンソールログの折りたたみモードを設定します。

パラメーター型必須デフォルト説明
enabledboolはい-折りたたみモードを有効または無効にします

戻り値: { success, setting, enabled }

console_set_clear_on_play

再生時にクリアするモードを設定します。

パラメーター型必須デフォルト説明
enabledboolはい-再生時のクリアを有効または無効にします

戻り値: { success, setting, enabled }


使用例

import unity_skills

# History starts automatically. The first response fixes a snapshot; later pages do not admit new logs.
page = unity_skills.call_skill("console_get_logs", type="Error", includeStackTrace=True)
while page["hasMore"]:
    page = unity_skills.call_skill("console_get_logs", type="Error", includeStackTrace=True,
                                  cursor=page["nextCursor"])

# For occurrence-level evidence instead of duplicate groups, opt out of collapse and constrain time.
logs = unity_skills.call_skill("console_get_logs", collapse=False,
    fromUtc="2026-10-10T00:00:00Z", toUtc="2026-10-11T00:00:00Z")

# Write custom log
unity_skills.call_skill("console_log",
    message="AI Agent: Task completed",
    type="Log"
)

# Write warning
unity_skills.call_skill("console_log",
    message="AI Agent: Performance issue detected",
    type="Warning"
)

# Clear invalidates every old cursor and deletes retained history. A capture session is optional
# and limits reads/exports/stats to records created after its start without deleting background history.
unity_skills.call_skill("console_start_capture")
unity_skills.call_skill("console_clear")
unity_skills.call_skill("console_stop_capture")

ベストプラクティス

  1. まずエラーグループを折りたたんだ状態で開始し、個々の発生箇所が重要な場合にのみ、collapse:false と groupId または時間範囲を指定してリクエストします。
  2. hasMore:false になるまで nextCursor をたどります。最初のページで固定されたスナップショットを保持し、complete:false の場合は結果を拒否します。
  3. dropped、coverage.corruptRows、または coverage.durabilityIssue は、証拠が不完全であることを示すものとして扱います。保持上限は50,000件、64 MiBです。
  4. console_start_capture は互換性セッションの範囲を区切る場合にのみ使用します。自動管理のキャプチャはすでに実行中であり、キャプチャを開始しても履歴はクリアされません。
  5. coverage.editorLogPath のフォールバックは手動調査にのみ使用します。これはタイムスタンプが正規化されず、このAPIにも統合されません。

正確なシグネチャ

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

コメント