# Unity Profiler

> Unity Profiler skill for performance analysis, frame debugging, memory profiling, and optimization workflows.

- Skill: `a5c-ai/unity-profiler` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add a5c-ai/unity-profiler`
- Raw SKILL.md: https://api.skillmd.com/api/skills/a5c-ai/unity-profiler/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: a5c-ai (https://skillmd.com/u/a5c-ai)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/a5c-ai/unity-profiler

---


# Unity Profiler Skill

Performance profiling and optimization using Unity Profiler tools.

## Overview

This skill provides capabilities for analyzing and optimizing Unity game performance using the Profiler, Frame Debugger, and Memory Profiler.

## Capabilities

### CPU Profiling
- Analyze frame timing
- Identify bottlenecks
- Profile custom code markers
- Handle deep profiling

### GPU Profiling
- Analyze render passes
- Profile shader performance
- Identify overdraw
- Debug draw calls

### Memory Profiling
- Track allocations
- Identify memory leaks
- Analyze texture memory
- Profile managed heap

### Automated Analysis
- Create profiler scripts
- Set up performance tests
- Generate reports
- Monitor regressions

## Prerequisites

- Unity 2021.3+
- Profiler module (built-in)
- Memory Profiler package (optional)

## Usage Patterns

### Custom Profiler Markers

```csharp
using Unity.Profiling;

public class OptimizedSystem : MonoBehaviour
{
    static readonly ProfilerMarker s_UpdateMarker =
        new ProfilerMarker("MySystem.Update");

    void Update()
    {
        using (s_UpdateMarker.Auto())
        {
            // Code to profile
            ProcessEntities();
        }
    }
}
```

### Performance Test

```csharp
[Test, Performance]
public void TestSpawnPerformance()
{
    Measure.Method(() =>
    {
        for (int i = 0; i < 1000; i++)
        {
            SpawnEnemy();
        }
    })
    .WarmupCount(3)
    .MeasurementCount(10)
    .Run();
}
```

## Best Practices

1. Profile on target hardware
2. Use profiler markers
3. Test with realistic data
4. Monitor frame budget
5. Track memory over time

## References

- [Profiler Documentation](https://docs.unity3d.com/Manual/Profiler.html)

