/profiler
Capture read-only Unity runtime performance snapshots. 采集只读的 Unity 运行时性能快照。
$ npx -y skills add Besty0728/Unity-Skills --skill profiler --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/profiler
Context preview
The summary Claude sees to decide when to auto-load this skill.
Capture read-only Unity runtime performance snapshots. 采集只读的 Unity 运行时性能快照。
SKILL.md
profiler.SKILL.mdname: unity-profiler
description: Capture read-only Unity runtime performance snapshots. 采集只读的 Unity 运行时性能快照。
Triggers
- Checking runtime performance
- Taking a profiler snapshot
- Inspecting memory/frame stats
- 查看运行时性能、抓取 profiler 快照、检查内存/帧率统计
Profiler Skills
Get performance statistics.
Operating Mode
- **Approval / Auto / Bypass**: 所有 skill 直接执行。本模块**全部**标 `ReadOnly = true, Mode = SkillMode.SemiAuto`,三档模式下都不需要 grant。
- **本模块不含 Delete / PlayMode / Reload / RiskLevel=high 类 skill** —— 没有 `IsForbiddenInSemi` 拦截。
- 注:本组 skill 仅做"瞬时快照"读取,不是 Profiler 录制控制;持续采样请用 Unity Profiler 窗口。
**DO NOT** (common hallucinations):
- `profiler_start` / `profiler_stop` do not exist → profiler skills are read-only snapshots, not recording controls
- `profiler_record` does not exist → use Unity Profiler window for recording
- `profiler_analyze` / `profiler_get_fps` do not exist → use `profiler_get_stats` (FPS, batches, draw calls) or `profiler_get_memory` (heap sizes)
**Routing**:
- For scene performance hints → use `perception` module's `scene_performance_hints`
- For memory info → `debug_get_memory_info` (debug module) or `profiler_get_memory` (this module)
- For optimization suggestions → use `optimization` module
Skills
`profiler_get_stats`
Get performance statistics (FPS, Memory, Batches). **Parameters:** None.
**Returns:**
{
"fps": 60.0,
"triangles": 1500,
"batches": 12,
"memory": { "totalAllocatedMB": 256.5, ... }
}`profiler_get_memory`
Get memory usage overview (total allocated, reserved, mono heap). **Parameters:** None.
**Returns:** `{ success, totalAllocatedMB, totalReservedMB, unusedReservedMB, monoHeapMB, monoUsedMB }`
`profiler_get_runtime_memory`
Get top N objects by runtime memory usage in the scene.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 20 | Maximum number of objects to return |
**Returns:** `{ success, totalTrackedMB, showing, objects: [{ name, type, sizeKB }] }`
`profiler_get_texture_memory`
Get memory usage of all loaded textures.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of textures to return |
**Returns:** `{ success, totalCount, totalMB, topTextures: [{ name, type, sizeKB, width, height }] }`
`profiler_get_mesh_memory`
Get memory usage of all loaded meshes.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of meshes to return |
**Returns:** `{ success, totalCount, totalMB, topMeshes: [{ name, sizeKB, vertices, triangles }] }`
`profiler_get_material_memory`
Get memory usage of all loaded materials.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of materials to return |
**Returns:** `{ success, totalCount, totalMB, topMaterials: [{ name, shader, sizeKB }] }`
`profiler_get_audio_memory`
Get memory usage of all loaded AudioClips.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of clips to return |
**Returns:** `{ success, totalCount, totalMB, topClips: [{ name, sizeKB, length, channels, frequency }] }`
`profiler_get_object_count`
Count all loaded objects grouped by type.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | topN | int | No | 20 | Number of top types to return |
**Returns:** `{ success, totalObjects, topTypes: [{ type, count }] }`
`profiler_get_rendering_stats`
Get rendering statistics (batches, triangles, vertices, etc.). **Parameters:** None.
**Returns:** `{ success, frameTime, renderTime, triangles, vertices, batches, setPassCalls, drawCalls, dynamicBatchedDrawCalls, staticBatchedDrawCalls, instancedBatchedDrawCalls, shadowCasters }`
`profiler_get_asset_bundle_stats`
Get information about all loaded AssetBundles. **Parameters:** None.
**Returns:** `{ success, count, bundles: [{ name, isStreamedSceneAssetBundle }] }`
Exact Signatures
Exact names, parameters, defaults, and returns are defined by `GET /skills/schema` or `unity_skills.get_skill_schema()`, not by this file.
Read more
name: unity-profiler description: Capture read-only Unity runtime performance snapshots. 采集只读的 Unity 运行时性能快照。
Triggers
- Checking runtime performance
- Taking a profiler snapshot
- Inspecting memory/frame stats
- 查看运行时性能、抓取 profiler 快照、检查内存/帧率统计
Profiler Skills
Get performance statistics.
Operating Mode
- **Approval / Auto / Bypass**: 所有 skill 直接执行。本模块**全部**标 `ReadOnly = true, Mode = SkillMode.SemiAuto`,三档模式下都不需要 grant。
- **本模块不含 Delete / PlayMode / Reload / RiskLevel=high 类 skill** —— 没有 `IsForbiddenInSemi` 拦截。
- 注:本组 skill 仅做"瞬时快照"读取,不是 Profiler 录制控制;持续采样请用 Unity Profiler 窗口。
**DO NOT** (common hallucinations):
- `profiler_start` / `profiler_stop` do not exist → profiler skills are read-only snapshots, not recording controls
- `profiler_record` does not exist → use Unity Profiler window for recording
- `profiler_analyze` / `profiler_get_fps` do not exist → use `profiler_get_stats` (FPS, batches, draw calls) or `profiler_get_memory` (heap sizes)
**Routing**:
- For scene performance hints → use `perception` module's `scene_performance_hints`
- For memory info → `debug_get_memory_info` (debug module) or `profiler_get_memory` (this module)
- For optimization suggestions → use `optimization` module
Skills
`profiler_get_stats`
Get performance statistics (FPS, Memory, Batches). **Parameters:** None.
**Returns:**
{
"fps": 60.0,
"triangles": 1500,
"batches": 12,
"memory": { "totalAllocatedMB": 256.5, ... }
}`profiler_get_memory`
Get memory usage overview (total allocated, reserved, mono heap). **Parameters:** None.
**Returns:** `{ success, totalAllocatedMB, totalReservedMB, unusedReservedMB, monoHeapMB, monoUsedMB }`
`profiler_get_runtime_memory`
Get top N objects by runtime memory usage in the scene.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 20 | Maximum number of objects to return |
**Returns:** `{ success, totalTrackedMB, showing, objects: [{ name, type, sizeKB }] }`
`profiler_get_texture_memory`
Get memory usage of all loaded textures.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of textures to return |
**Returns:** `{ success, totalCount, totalMB, topTextures: [{ name, type, sizeKB, width, height }] }`
`profiler_get_mesh_memory`
Get memory usage of all loaded meshes.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of meshes to return |
**Returns:** `{ success, totalCount, totalMB, topMeshes: [{ name, sizeKB, vertices, triangles }] }`
`profiler_get_material_memory`
Get memory usage of all loaded materials.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of materials to return |
**Returns:** `{ success, totalCount, totalMB, topMaterials: [{ name, shader, sizeKB }] }`
`profiler_get_audio_memory`
Get memory usage of all loaded AudioClips.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | limit | int | No | 50 | Maximum number of clips to return |
**Returns:** `{ success, totalCount, totalMB, topClips: [{ name, sizeKB, length, channels, frequency }] }`
`profiler_get_object_count`
Count all loaded objects grouped by type.
| Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | topN | int | No | 20 | Number of top types to return |
**Returns:** `{ success, totalObjects, topTypes: [{ type, count }] }`
`profiler_get_rendering_stats`
Get rendering statistics (batches, triangles, vertices, etc.). **Parameters:** None.
**Returns:** `{ success, frameTime, renderTime, triangles, vertices, batches, setPassCalls, drawCalls, dynamicBatchedDrawCalls, staticBatchedDrawCalls, instancedBatchedDrawCalls, shadowCasters }`
`profiler_get_asset_bundle_stats`
Get information about all loaded AssetBundles. **Parameters:** None.
**Returns:** `{ success, count, bundles: [{ name, isStreamedSceneAssetBundle }] }`
Exact Signatures
Exact names, parameters, defaults, and returns are defined by `GET /skills/schema` or `unity_skills.get_skill_schema()`, not by this file.
REST API-based AI-driven Unity Editor Automation Engine Let AI control Unity scenes directly through Skills 🎉 We are now indexed by DeepWiki! Got questions? Check out the AI-generated docs → The current official maintenance baseline is Unity 2022.3+.
Other skills on unity-skills.
- /addressables-design
Source-anchored design rules for Unity Addressables 1.22.3/2.9.1. 为 Unity Addressables 1.22.3/2.9.1 提供源码锚定的设计规则。
Open skill - /adr
Record Unity architecture decisions (ADR) with rationale. 记录 Unity 架构决策(ADR)与理由。
Open skill - /animator
Edit Unity Animator Controllers and drive runtime parameters. 编辑 Unity Animator Controller 并驱动运行时参数。
Open skill - /architecture
Advise on Unity gameplay and system architecture. 为 Unity 游戏与系统架构提供建议。
Open skill - /asmdef
Advise on Unity assembly definitions (asmdef). 为 Unity 程序集定义(asmdef)提供建议。
Open skill - /asset
Manage Unity AssetDatabase operations. 管理 Unity AssetDatabase 操作。
Open skill

