Agent skill · Design & Presentation

performance-optimization

Find and fix game performance problems methodically — measure with the engine profiler first, reason about the frame-time budget, locate the CPU-vs-GPU bottleneck, then apply the right fix: object pooling, draw-call batching, fewer allocations/GC spikes, and asset budgets. Engine- neutral method that pairs with each engine's profiler. Use when the user mentions performance, optimize, low/dropping FPS, frame drops, stutter, lag, profiler, frame budget, draw calls, batching, garbage collection/GC spikes, object pooling, or "the game runs slow".

gamedev-skillsgithub.com/gamedev-skillsGitHub ↗
claude-codeclinecodexcursorcopilotwindsurfApache-2.0
Install
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill performance-optimization --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 9 KB
Bundled scripts: none
Requires: Engine-agnostic methodology; profiler/tooling notes for Godot 4.x, Unity 6, and Unreal 5. Pairs with physics-tuning and…
Path: skills/disciplines/performance-optimization/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 406
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Performance optimization Performance work is a measurement discipline, not a bag of tricks. The method is always the same: **profile → find the one bottleneck → fix that → measure again**. This skill teaches that loop and the highest-leverage fixes (pooling, batching, allocation control, asset budgets), and points you at each engine's profiler. It pairs with `physics-tuning` for simulation cost. ## When to use - Use when the frame rate is low or uneven, the game stutters/hitches, or it must hit a target (60 FPS desktop, 30/60 mobile) and currently doesn't. - Use to decide *what* to optimize: profile, read the frame budget, and identify whether the CPU or GPU is the bottleneck before changing any code. - Use to apply specific fixes: object pooling, draw-call/batch reduction, removing per-frame allocations and GC spikes, and setting asset budgets. **When *not* to use:** for physics jitter/tunneling/timestep specifically, use `physics-tuning`. For the engine's concrete profiler UI and rendering settings, use that engine skill (`godot-export` covers some build settings; engine cores cover the rest). This skill is the cross-engine method and the shared fixes. ## The golden rule: measu

What's inside
Steps it walks through
  1. When to use
  2. The golden rule: measure first, never guess
  3. Core workflow
  4. Patterns
  5. 1. Frame budget math (turn "feels slow" into a number)
  6. 2. Measure with the engine profiler (do this before any fix)
  7. 3. Object pooling (stop allocating/freeing in hot loops)
  8. 4. Cut draw calls (the most common GPU-side win)
  9. 5. Kill per-frame allocations (GC spikes = stutter)
  10. Pitfalls
  11. References
  12. Related skills
Ships with 1 file
  • references/profiling-and-budgets.md
More from awesome-gamedev-agent-skills
All skills →
About this skill
What does the performance-optimization skill do?

Find and fix game performance problems methodically — measure with the engine profiler first, reason about the frame-time budget, locate the CPU-vs-GPU bottleneck, then apply the right fix: object pooling, draw-call batching, fewer allocations/GC spikes, and asset budgets. Engine- neutral method that pairs with each engine's profiler. Use when the user mentions performance, optimize, low/dropping FPS, frame drops, stutter, lag, profiler, frame budget, draw calls, batching, garbage collection/GC spikes, object pooling, or "the game runs slow".

How do I install it?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill performance-optimization --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gamedev-skills/awesome-gamedev-agent-skills, a repository with 406 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going