skills/unity-profiler/SKILL.md
Analyze Unity Profiler data and generate severity-ranked performance reports. Covers CPU frame analysis, memory/GC pressure, rendering bottlenecks, and custom profiling instrumentation. Use when the user says "analyze the profiler data," "performance report," "why is my game lagging," "check for GC spikes," "frame drops," "draw call issues," "memory leak," or has completed a profiling session and needs interpretation. Also use when the user wants to add custom ProfilerMarkers, measure specific code sections, or instrument their code for profiling. Read-only analysis — suggests fixes but does not modify code (except Custom mode which generates profiling snippets).
npx skillsauth add cuozg/oh-my-skills unity-profilerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Analyze Unity Profiler data, identify performance issues, generate severity-ranked report.
| Signal | Mode | Load |
|--------|------|------|
| Frame spikes, slow Update, scripting overhead | CPU | references/cpu-mode.md |
| GC spikes, memory leaks, heap growth | Memory | references/memory-mode.md |
| Draw calls, overdraw, batching, GPU bound | Rendering | references/rendering-mode.md |
| "Add profiler markers," "instrument this" | Custom | references/custom-mode.md |
If unclear, ask: "CPU/scripting timing, memory/GC, rendering, or profiling instrumentation?"
| Step | Tool |
|------|------|
| Overall GC summary | Unity.Profiler_GetOverallGcAlloca |
| Slow frame range | Unity.Profiler_GetFrameRangeTopTimeSummary |
| GC frame range | Unity.Profiler_GetFrameRangeGcAll |
| Worst frame time | Unity.Profiler_GetFrameTopTimeSam |
| Worst frame GC | Unity.Profiler_GetFrameGcAllocati |
| Drill sample | Unity.Profiler_GetSampleTimeSummary / Unity.Profiler_GetSampleGcAllocat |
| Cross-thread | Unity.Profiler_GetRelatedSamplesT |
| Bottom-up | Unity.Profiler_GetBottomUpSampleT |
Use markerIdPath when marker name is known. Use FrameRange* for multi-frame (never loop single-frame tools).
Full decision tree: read_skill_file("unity-standards", "references/other/unity-mcp-routing-matrix.md") → Profiling Branch.
lsp_find_references + grepreferences/report-template.md, save to Documents/Profiler/PERF_{TOPIC}_{YYYYMMDD}.md| Level | Frame Time | GC/Memory | |-------|-----------|-----------| | CRITICAL | >budget sustained 5+ frames | >10 KB/frame or confirmed leak | | WARNING | 80–100% of budget | 1–10 KB/frame or growing heap | | INFO | <80% of budget | Minor, stable heap |
Budget: 60 fps = 16.67ms · 30 fps = 33.33ms · 90 fps = 11.11ms. Mobile: ×0.65 thermal throttling factor.
read_skill_file("unity-profiler", "references/<file>"):
cpu-mode.md · memory-mode.md · rendering-mode.md · custom-mode.md · report-template.mdread_skill_file("unity-standards", "references/<path>"):
quality/performance-audit.md · review/checklist.md §4 · other/unity-mcp-routing-matrix.mdtools
Generate Unity raster image assets through Unity MCP: game sprites, item art, backgrounds, UI icons, portraits, concept images, transparent cutouts, image edits, upscales, background removal, and Unity scene or Game View screenshots. Use when a Unity project needs image files imported under Assets or screenshots captured from the editor. Do not use for meshes, audio, animation, materials, gameplay code, UI Toolkit layout, or generic non-Unity image generation.
tools
Create Unity technical solution documents from user requirements, feature ideas, bug goals, specs, or codebase problems. Use when the user asks for a technical approach, architecture, implementation strategy, solution options, feasibility analysis, system design, or "how should we build/fix this" for Unity runtime, Editor, tools, assets, data, UI, WebGL, SDKs, or production pipelines.
tools
Orchestrate Unity Editor via MCP (Model Context Protocol) tools and resources. Use when working with Unity projects through MCP for Unity - creating/modifying GameObjects, editing scripts, managing scenes, running tests, or any Unity Editor automation. Provides best practices, tool schemas, and workflow patterns for effective Unity-MCP integration.
development
Convert a spec document into an implementation TODO list in the same spec folder. U se when the user says goal-todo, todo from spec, generate tasks from spec, turn this spec into todos, create implementation checklist, extract tasks, or asks to read a Docs/Specs design doc and produce what must be implemented. Includes UI/UX review and codebase investigation before writing the checklist. Do not use for implementing the tasks, creating new goal files, writing test cases, or verifying completed work.