unity-profiler について
unity-profiler は、Unity の実行時パフォーマンスデータを取得するスキル群です。フレームレート、メモリ、描画指標の確認に使え、Profiler の記録制御ではなく読み取り専用のスナップショットを提供します。
主な機能
- 01FPS・メモリ・バッチ数の取得
- 02実行時メモリ使用量の多いオブジェクトの確認
- 03テクスチャ・メッシュ・マテリアル・音声のメモリ計測
- 04描画統計の取得
- 05ロード済みオブジェクトと AssetBundle の集計
活用シーン
- 01実行時のフレームレートとバッチ数の確認
- 02メモリ使用量の多い実行時オブジェクトの特定
- 03テクスチャやメッシュのメモリ使用量の確認
- 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 件取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| limit | int | いいえ | 20 | 返すオブジェクトの最大数 |
戻り値: { success, totalTrackedMB, showing, objects: [{ name, type, sizeKB }] }
profiler_get_texture_memory
読み込まれているすべてのテクスチャのメモリ使用量を取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| limit | int | いいえ | 50 | 返すテクスチャの最大数 |
戻り値: { success, totalCount, totalMB, topTextures: [{ name, type, sizeKB, width, height }] }
profiler_get_mesh_memory
読み込まれているすべてのメッシュのメモリ使用量を取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| limit | int | いいえ | 50 | 返すメッシュの最大数 |
戻り値: { success, totalCount, totalMB, topMeshes: [{ name, sizeKB, vertices, triangles }] }
profiler_get_material_memory
読み込まれているすべてのマテリアルのメモリ使用量を取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| limit | int | いいえ | 50 | 返すマテリアルの最大数 |
戻り値: { success, totalCount, totalMB, topMaterials: [{ name, shader, sizeKB }] }
profiler_get_audio_memory
読み込まれているすべての AudioClip のメモリ使用量を取得します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| limit | int | いいえ | 50 | 返すクリップの最大数 |
戻り値: { success, totalCount, totalMB, topClips: [{ name, sizeKB, length, channels, frequency }] }
profiler_get_object_count
読み込まれているすべてのオブジェクトを型別に集計します。
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| topN | int | いいえ | 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() で定義されています。