mcpField
U
unity-profiler

unity-profiler

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

unity-profiler について

unity-profiler は、Unity の実行時パフォーマンスデータを取得するスキル群です。フレームレート、メモリ、描画指標の確認に使え、Profiler の記録制御ではなく読み取り専用のスナップショットを提供します。

主な機能

  1. 01FPS・メモリ・バッチ数の取得
  2. 02実行時メモリ使用量の多いオブジェクトの確認
  3. 03テクスチャ・メッシュ・マテリアル・音声のメモリ計測
  4. 04描画統計の取得
  5. 05ロード済みオブジェクトと AssetBundle の集計

活用シーン

  1. 01実行時のフレームレートとバッチ数の確認
  2. 02メモリ使用量の多い実行時オブジェクトの特定
  3. 03テクスチャやメッシュのメモリ使用量の確認
  4. 04描画指標とロード済み AssetBundle の確認

MCP 対応

MCP クライアントから読み取り専用スキルを呼び出し、Unity のパフォーマンスやメモリのスナップショットを取得できます。

インストール

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

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

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

詳細

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

トリガー

  • ランタイムパフォーマンスの確認
  • プロファイラーのスナップショットの取得
  • メモリ/フレーム統計の確認
  • ランタイムパフォーマンスの確認、プロファイラーのスナップショットの取得、メモリ/フレームレート統計の確認

プロファイラースキル

パフォーマンス統計を取得します。

動作モード

  • Approval / Auto / Bypass:すべてのスキルが直接実行されます。このモジュールではすべて ReadOnly = true, Mode = SkillMode.SemiAuto に設定されているため、どのモードでも grant は不要です。
  • このモジュールには Delete / PlayMode / Reload / RiskLevel=high に該当するスキルはありません —— IsForbiddenInSemi によるブロックはありません。
  • 注:このグループのスキルは「瞬時スナップショット」の読み取りのみを行い、プロファイラーの記録を制御するものではありません。継続的なサンプリングには Unity Profiler ウィンドウを使用してください。

してはいけないこと(よくあるハルシネーション):

  • profiler_start / profiler_stop は存在しません → プロファイラースキルは読み取り専用のスナップショットであり、記録制御ではありません
  • profiler_record は存在しません → 記録には Unity Profiler ウィンドウを使用してください
  • profiler_analyze / profiler_get_fps は存在しません → profiler_get_stats(FPS、バッチ、ドローコール)または profiler_get_memory(ヒープサイズ)を使用してください

ルーティング:

  • シーンのパフォーマンスに関するヒントには → perception モジュールの scene_performance_hints を使用してください
  • メモリ情報には → debug_get_memory_info(debug モジュール)または profiler_get_memory(このモジュール)を使用してください
  • 最適化の提案には → optimization モジュールを使用してください

スキル

profiler_get_stats

パフォーマンス統計(FPS、メモリ、バッチ)を取得します。 パラメーター: なし。

戻り値:

{
  "fps": 60.0,
  "triangles": 1500,
  "batches": 12,
  "memory": { "totalAllocatedMB": 256.5, ... }
}
profiler_get_memory

メモリ使用量の概要(割り当て済み合計、予約済み合計、Mono ヒープ)を取得します。 パラメーター: なし。

戻り値: { success, totalAllocatedMB, totalReservedMB, unusedReservedMB, monoHeapMB, monoUsedMB }

profiler_get_runtime_memory

シーン内でランタイムメモリ使用量が多いオブジェクトを上位 N 件取得します。

パラメーター型必須デフォルト説明
limitintいいえ20返すオブジェクトの最大数

戻り値: { success, totalTrackedMB, showing, objects: [{ name, type, sizeKB }] }

profiler_get_texture_memory

読み込まれているすべてのテクスチャのメモリ使用量を取得します。

パラメーター型必須デフォルト説明
limitintいいえ50返すテクスチャの最大数

戻り値: { success, totalCount, totalMB, topTextures: [{ name, type, sizeKB, width, height }] }

profiler_get_mesh_memory

読み込まれているすべてのメッシュのメモリ使用量を取得します。

パラメーター型必須デフォルト説明
limitintいいえ50返すメッシュの最大数

戻り値: { success, totalCount, totalMB, topMeshes: [{ name, sizeKB, vertices, triangles }] }

profiler_get_material_memory

読み込まれているすべてのマテリアルのメモリ使用量を取得します。

パラメーター型必須デフォルト説明
limitintいいえ50返すマテリアルの最大数

戻り値: { success, totalCount, totalMB, topMaterials: [{ name, shader, sizeKB }] }

profiler_get_audio_memory

読み込まれているすべての AudioClip のメモリ使用量を取得します。

パラメーター型必須デフォルト説明
limitintいいえ50返すクリップの最大数

戻り値: { success, totalCount, totalMB, topClips: [{ name, sizeKB, length, channels, frequency }] }

profiler_get_object_count

読み込まれているすべてのオブジェクトを型別に集計します。

パラメーター型必須デフォルト説明
topNintいいえ20返す型の上位件数

戻り値: { success, totalObjects, topTypes: [{ type, count }] }

profiler_get_rendering_stats

レンダリング統計(バッチ、三角形、頂点など)を取得します。 パラメーター: なし。

戻り値: { success, frameTime, renderTime, triangles, vertices, batches, setPassCalls, drawCalls, dynamicBatchedDrawCalls, staticBatchedDrawCalls, instancedBatchedDrawCalls, shadowCasters }

profiler_get_asset_bundle_stats

読み込み済みのすべての AssetBundle に関する情報を取得します。 パラメーター: なし。

戻り値: { success, count, bundles: [{ name, isStreamedSceneAssetBundle }] }

正確なシグネチャ

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

コメント