Agent Skills: Unity Profiler Skill

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

UncategorizedID: a5c-ai/babysitter/unity-profiler

Install this agent skill to your local

pnpm dlx add-skill https://github.com/a5c-ai/babysitter/tree/HEAD/plugins/babysitter/skills/babysit/process/specializations/game-development/skills/unity-profiler

Skill Files

Browse the full folder contents for unity-profiler.

Download Skill

Loading file tree…

plugins/babysitter/skills/babysit/process/specializations/game-development/skills/unity-profiler/SKILL.md

Skill Metadata

Name
unity-profiler
Description
Unity Profiler skill for performance analysis, frame debugging, memory profiling, and optimization workflows.

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

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

[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