$npx -y skills add bigdra50/unity-cli --skill unity-perfパフォーマンス計測ワークフロー。プロファイリング、GC 分析、最適化提案。 Use for: "パフォーマンス", "プロファイル", "FPS", "GC", "最適化", "ボトルネック
| 1 | # unity-perf |
| 2 | |
| 3 | > **PREREQUISITE:** `../unity-shared/SKILL.md`(Relay Server 経由で Unity Editor が起動/アクティブであること) |
| 4 | > |
| 5 | > skill 経由のコマンドは必ず `-i <instance>` を付ける (unity-shared #インスタンス指定)。 |
| 6 | |
| 7 | ## プロファイリングフロー |
| 8 | |
| 9 | ```text |
| 10 | 1. /unity-verify Quick Verify コンパイルエラーがないことを確認 |
| 11 | 2. u -i <instance> play Play Mode 開始 |
| 12 | 3. u -i <instance> profiler start プロファイリング開始 |
| 13 | 4. 計測 (数秒〜数十秒) |
| 14 | 5. u -i <instance> profiler snapshot スナップショット取得 |
| 15 | u -i <instance> profiler frames --count 10 フレームデータ取得 |
| 16 | 6. u -i <instance> profiler stop 停止 |
| 17 | 7. u -i <instance> stop Play Mode 終了 |
| 18 | 8. 分析 → 最適化提案 |
| 19 | ``` |
| 20 | |
| 21 | ## コマンド |
| 22 | |
| 23 | ```bash |
| 24 | u -i <instance> profiler start # 開始 |
| 25 | u -i <instance> profiler stop # 停止 |
| 26 | u -i <instance> profiler snapshot # 現在のスナップショット |
| 27 | u -i <instance> profiler frames --count 10 # 直近Nフレーム |
| 28 | ``` |
| 29 | |
| 30 | ## 分析パターン |
| 31 | |
| 32 | | ボトルネック | 確認方法 | 対策 | |
| 33 | |-------------|---------|------| |
| 34 | | CPU | frames の処理時間 | ホットパスの最適化 | |
| 35 | | GPU | frames の描画時間 | バッチング、LOD | |
| 36 | | GC | frames の GC Alloc | オブジェクトプール、struct 化 | |
| 37 | | メモリ | snapshot のメモリ使用量 | アセット圧縮、参照整理 | |
| 38 | |
| 39 | ## 最適化チェックリスト |
| 40 | |
| 41 | - [ ] Update/LateUpdate 内の毎フレーム Alloc |
| 42 | - [ ] GetComponent の繰り返し呼び出し |
| 43 | - [ ] 文字列結合 (+ 演算子) |
| 44 | - [ ] LINQ in Update |
| 45 | - [ ] 不要な SetActive 切り替え |