Agent skill

Scenario Unity Performance

by scenario-labs in scenario-labs/skills

A skill your agent uses when a Unity 6.3 game is slow or stutters: low fps, frame spikes, hitches when entering areas or on first effects, GC spikes, too many draw calls or SetPass calls, CPU vs GPU…

MITAuto-check passedGame Development

Install Scenario Unity Performance

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-unity-performance -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-unity-performance --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game-engines/unity/scenario-unity-performance .claude/skills/scenario-unity-performance && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scenario-unity-performance
GitHub stars
931
Token cost
~4.9k tokens
SKILL.md length
2,028 words
Files
17 (incl. scripts, references)
Skills in repo
143
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when a Unity 6.3 game is slow or stutters: low fps, frame spikes, hitches when entering areas or on first effects, GC spikes, too many draw calls or SetPass calls, CPU vs GPU…

  • Works in 8 steps: Name the bound before touching anything.… → Players decide, the Editor iterates. The… → GC.Alloc sample time is not the cost.… → …
  • A Unity 6.3 game is slow
  • SKILL.md covers Stance (the expert delta), Establish first, Workflow and Numbers, plus 6 more sections
  • Runs C# scripts from its folder; calls npx

What it does

Scenario Unity Performance is an agent skill from scenario-labs/skills. Use when a Unity 6.3 game is slow or stutters: low fps, frame spikes, hitches when entering areas or on first effects, GC spikes, too many draw calls or SetPass calls, CPU vs GPU bound questions, Profiler, Profile Analyzer, Memory Profiler, Frame Debugger or Project Auditor work, GPU Resident Drawer or SRP Batcher setup, LOD and Mesh LOD, shader warm-up and variants, memory or VRAM budgets, IL2CPP and build size, or proving a fix with numbers from a player.

Its SKILL.md is about 4.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 22 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).

It sits in Game Development, covering Game development and Performance optimization. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • A Unity 6.3 game is slow
  • Stutters: low fps
  • Hitches when entering areas
  • On first effects

Example prompts

  • “/scenario-unity-performance”

Requirements

  • Node.js

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Name the bound before touching anything. "If you speed up the GPU when your profile looks like this it's not going to run any faster"…
  2. Players decide, the Editor iterates. The authority is a development build on the lowest target device (profiling e-book p. 18). GRD: 4.4x…
  3. GC.Alloc sample time is not the cost. Unity records only timestamp and size (e-book p. 27): 54,021 allocations shown as 1.01 ms caused…
  4. 6.3 URP draw calls = SRP Batcher + GPU Resident Drawer; the 2024 advice is Built-in-only. Material "Enable GPU Instancing" off, static…
  5. Data layout first; spreading work over frames hides cost. 200,000 objects: MonoBehaviour Update 27 ms to 0.13 ms through manager, structs…
  6. Attribute every hitch before fixing it, with markers kept in code. Streaming and spawn systems carry their own ProfilerMarkers and…
  7. Resident memory kills, untracked usually does not. 0.75 GB untracked was 140 MB resident (Borromeo [00:32:22]); Editor memory is about 5x…
  8. Counts are exact, times drift [added, observed]. On a shared machine (load average 50 to 210 here), interleave A/B runs and require a…

What it can do on your machine

Read from SKILL.md and the folder at commit 91caa01. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 9 files in scripts/ (C#, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Unity Performance loads about 4.9k tokens when it runs, and up to ~37k if it reads all its reference files. Until then it costs about 122 tokens; SKILL.md has 2,028 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~4.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~37k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from scenario-labs/skills at commit 91caa01, republished under its MIT licence (© scenario-labs). 2,028 words, ~4,936 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-unity-performance/SKILL.md (or your agent's skills folder). This skill also uses 16 other files; get the full folder from GitHub.
name
scenario-unity-performance
description
Use when a Unity 6.3 game is slow or stutters: low fps, frame spikes, hitches when entering areas or on first effects, GC spikes, too many draw calls or SetPass calls, CPU vs GPU bound questions, Profiler, Profile Analyzer, Memory Profiler, Frame Debugger or Project Auditor work, GPU Resident Drawer or SRP Batcher setup, LOD and Mesh LOD, shader warm-up and variants, memory or VRAM budgets, IL2CPP and build size, or proving a fix with numbers from a player.
license
MIT

Unity performance (performance engineer)

Expert performance work is a measurement discipline: a budget in milliseconds, the bounding thread named before any change, the biggest measured cost fixed first, structure before tuning, and every fix proven with before/after numbers from a development player. An agent does all of it headless: AgentProfile in Editor Play mode to iterate, PerfProbe in a batch-mode player for verdicts, PerfCapture to attribute costs from a Profiler capture, metal_trace for GPU time, PerfBuild for size. Target: Unity 6000.3.21f1, URP 17.3, macOS Apple Silicon. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

REQUIRED BACKGROUND: scenario-unity-expert (channels, review loop, 6.3 traps, ut_* toolkit).

Stance (the expert delta)

  1. Name the bound before touching anything. "If you speed up the GPU when your profile looks like this it's not going to run any faster" (Peter Hall, Unity Profiler team, _cV1B2hqXGI [00:05:50]). Observed: removing 1.36 MB of garbage per frame did not move a frame bound by 5,946 SetPass calls. GPU bound needs GPU timing; the Frame Debugger has none (Hall [frame 00:09:18]).
  2. Players decide, the Editor iterates. The authority is a development build on the lowest target device (profiling e-book p. 18). GRD: 4.4x in a 2M-instance stress test, 2.07x in the Editor but 1.45x standalone in a real game (Oc6T4hh5gaI [frame 00:12:41]); here the Editor swung 1.5x to 3.0x, players 1.9x to 2.8x on a stress fixture. Forecast about 1.5x.
  3. GC.Alloc sample time is not the cost. Unity records only timestamp and size (e-book p. 27): 54,021 allocations shown as 1.01 ms caused 19.97 ms of GC.Collect (Hall [frame 00:21:52]). Observed: 27,000 allocations per frame displayed 0.8 to 1.1 ms; the allocating code cost 3.8 to 5.4 ms. Count bytes and calls, measure collections, target 0 B per gameplay frame, and keep the probe itself allocation-free (git-amend ham_w48aRJ4 [00:11:30]).
  4. 6.3 URP draw calls = SRP Batcher + GPU Resident Drawer; the 2024 advice is Built-in-only. Material "Enable GPU Instancing" off, static batching off, no MaterialPropertyBlock (6.3 Manual table). GRD silently does nothing unless BatchRendererGroup Variants = Keep All and every renderer of the URP asset is Forward+ or Deferred+ (URP 17.3 source, observed). Then prove coverage: GRD draws are named "Hybrid Batch Group" in the Frame Debugger (GUI editor only), each other draw is a renderer that fell out (MPB, LPPV, realtime GI, non-DOTS shader, skinned; 6.3 Manual); headless, check eligibility per renderer after Start.
  5. Data layout first; spreading work over frames hides cost. 200,000 objects: MonoBehaviour Update 27 ms to 0.13 ms through manager, structs, Burst, SoA; "it's just spreading the work around" (Jason Booth, NAVbI1HIzCE [00:06:38]-[00:18:17]).
  6. Attribute every hitch before fixing it, with markers kept in code. Streaming and spawn systems carry their own ProfilerMarkers and counters; Deep Profile only finds what fills a gap (Hall [00:18:39]-[00:19:12]). Compiles show as Shader.CreateGPUProgram (warm a traced GraphicsStateCollection during loading, Nicolas Borromeo CmD8MVGkDxQ [00:11:14]-[00:14:35]); here warm-up removed all 18 first-use compiles, yet the first frame stayed about 250 ms on Mono.JIT.
  7. Resident memory kills, untracked usually does not. 0.75 GB untracked was 140 MB resident (Borromeo [00:32:22]); Editor memory is about 5x the player's (Uuzd39AjFWQ [00:10:03]). On a laptop, paging and VRAM overflow are stutter causes of their own.
  8. Counts are exact, times drift [added, observed]. On a shared machine (load average 50 to 210 here), interleave A/B runs and require a consistent sign.

Establish first

Target platforms and min-spec device per tier; frame budget (16.67 ms desktop, mobile x 0.65); resolution and quality tier; what may change (code only, or art, design, feel); a repeatable benchmark, time-based when judging streaming (a fixed step per frame reaches boundaries sooner after a speed-up) [added]; scripting backend and build type; the machine actually measured (discrete GPU, on power; probe JSON device) [added]. Defaults: PC-tier URP asset, 60 fps, 1920x1080, development Mono player for iteration, IL2CPP release for size.

Workflow

  1. Budget and benchmark. GATE: a baseline CSV.
  2. Iterate in the Editor. ut_perf.profile (render=False isolates scripts), ab_profile for time deltas. GATE: numbers labeled "Editor, iteration".
  3. Static baseline. PerfRendering.Audit (batching, GRD eligibility per renderer, graphics jobs per platform, Build Profile, stack traces, upload buffer, culling), lint_scripts, Project Auditor (project_auditor, Major first, triage_auditor keeps per-frame lines), PerfAudit.AudioImport, bundle_duplicates. GATE: findings triaged by call frequency.
  4. Measure the player. build_player(development=True), run_player(..., shot=png, markers=[...]). GATE: draw_calls > 0, PNG opened, budget_check.
  5. Classify the bound. Capture wait markers (capture_player, analyze_capture), longest vs median frame. GPU: metal_trace + metal_gpu_frames (GPU busy and per-pass ms; Rendering Debugger Display Stats in the GUI), then the pixel-bound test (4K vs 1080p, render scale). GATE: bound named with a number.
  6. Attribute. attribute_spikes (your markers, GC.Collect, compiles, MeshCollider cooking, synchronous reads, physics steps), physics_catchup, memory_budget, density_check, allocations per block (AllocScope, Is.Not.AllocatingGCMemory()), GRD coverage (PerfFrameDebug.Capture or the window). GATE: top three costs named, no unexplained spike.
  7. Fix one thing at a time, structure first. Scripts: allocations, managers, then Burst. Render CPU: Material Variants, SRP Batcher shaders, EnableGpuResidentDrawer, one camera, Split graphics jobs on DX12/Vulkan. GPU: dynamic resolution or STP, depth priming and less transparency, LOD where triangles are pixel-sized, post-processing on a fixed slice; shadows with scenario-unity-rendering-lighting. Hitches: async loads, prewarmed pools, PSO warm-up in loading, baked MeshColliders, audio load types, no duplicated bundle dependencies. GATE: compare_line shows the target down, nothing else up, image parity.
  8. Ship config. IL2CPP release, stripping and code generation chosen, variants stripped against the used set (P15), flags through BuildPlayerOptions (platform profiles share settings). GATE: build succeeded, size explained, smoke run clean.
  9. Guard. Allocation tests and Performance Testing sample groups per commit, lint on changed scripts. GATE: tests pass.

Numbers

ValueRelative toSource
16.67 / 33.33 ms; x 0.65 mobileframe budget at 60 / 30 fps; thermal headroomprofiling e-book p. 9, 36
0 Bmanaged allocation per gameplay frame6.3 Manual; e-book p. 66
up to about 1 msper-frame cost of incremental GC write barrierse-book p. 69
4.4x / 2.07x / 1.45xGRD gain: 2M-instance stress / game in Editor / same game standaloneOc6T4hh5gaI [frame 00:12:41]
217 / 199 / 176 / 161 fpsDX12 Split / Legacy / plain DX12 / Native graphics jobsOc6T4hh5gaI [frame 00:03:52]
256 verticesbelow it GPU instancing is inefficient: combine instead6.3 Manual
about 250 msone PSO creation stallOc6T4hh5gaI [frame 00:04:48]
4 pixel invocationsper one-pixel triangle (2x2 quads); gate 1 triangle per rendered pixel [added]CmD8MVGkDxQ [00:27:26]
48.55 of 80 msper-frame Debug.Log in a development framexjsqv8nj0cw [00:10:23]
< 200 / > 400 KBaudio: Decompress On Load / Streamingconsole e-book p. 104-105
up to 1 msCPU per extra active camera on mobileconsole e-book p. 89
up to 10 sstartup added by Autoconnect Profilere-book p. 47
50% / 70% / 80% of RAMmemory budget: 2 GB phones / general / dedicated devicesHall; Unity tutorial; e-book
5,946 to 33 SetPass; 58-60 to 5.2-6.2 ms3,000 spheres, MPB tint to 8 Material Variants, dev playerobserved
18 to 0first-use Shader.CreateGPUProgram after warming 10 PSOs (3.6 ms at load)observed
177.9 / 110.5 / 116.3 MBmacOS app: IL2CPP Minimal + speed / IL2CPP High + size / Monoobserved
14.75 M to 0.26 M triangles (7.1 to 0.12 per pixel)400 dense meshes after Mesh LOD, draw calls unchangedobserved
57.1 ms frame = Spawn.Burst 26.9 ms + 4 compiles; next frame 3 physics stepsburst of 3,000 Instantiate read through its own markerobserved
48-80 ms vs 0 msMeshCollider cooking at spawn vs Physics.BakeMesh in a job at load (40 meshes)observed
33 us vs 2.6-3.9 usper Debug.Log, stack traces ScriptOnly vs None (dev player)observed
2.5 vs 5.8 ms; 1.2x at 4x pixelsGPU busy vs CPU main (Metal System Trace); 4K vs 1080p: not pixel boundobserved
1,944 to 1,002 KBtwo bundles sharing a texture: implicit copies vs a shared bundleobserved
Show full SKILL.md (721 more words)Show less

Quality gates

  • Measurable: player budget_check pass (p95 under budget, no gameplay hitch); gc_check pass in the player; attribute_spikes unexplained = 0; physics_steps at most 1 outside a forced spike; memory_budget pass; density_check pass; PerfRendering.Audit counts.error == 0 and every GRD fallout explained; 0 Shader.CreateGPUProgram after loading; no new Major Project Auditor issue in your code; IL2CPP build within budget.
  • Visual: the player's last frame (-perfShot) and Editor captures from the same bookmarks before and after, ut_review.compare, contact sheet opened; no blank, uniform or magenta frame.

Common mistakes

MistakeWhat it looks likeFix
Optimizing the side that is not boundfewer allocations, same frame timeclassify first (wait markers, GPU busy, SetPass)
Trusting Editor numbers or one run"3x faster" gone in the playerplayer CSV; ab_profile with consistent sign
Benchmarking a batch-mode player that renders nothing0.3 ms frames, 0 draw callsPerfProbe submit + -perfShot
GRD on, nothing changesdraw calls unchangedKeep All, Forward+/Deferred+, static batching off, fallouts fixed
MaterialPropertyBlock for per-object colorSetPass = draw calls; StdRender.ApplyShader dominatesMaterial Variants; unity_RendererUserValue with GRD
Reading GC.Alloc ms as the cost"allocations cost 0.5 ms"count and bytes, GC.Collect ms, A/B
A monitor that formats strings each frameGC column never 0preallocated buffers, write once (PerfProbe)
Closure in a rarely taken branchallocations with the feature offmove captured locals into the branch
Deep Profile to find a spikeinflated small functionsmarkers and counters kept in code, -perfMarkers
GPU tuned from the Frame Debuggerguessed timingsmetal_trace (PIX, Nsight on Windows)
Fixed render scale on a laptopfine cold, hitches when hot or loadeddynamic resolution; STP at a fixed scale only for a fixed pixel bound
Warm-up assumed to fix a first-frame hitchstill 250 mscapture: JIT means IL2CPP, loading means async
Frame-spreading as the fixlower peak, same totalmeasure unamortized first, fix structure
MeshCollider added at runtimespawn spike, Physics.BakePhysXCollisionMeshDataPhysics.BakeMesh in a job, Prebake Collision Meshes
Development flag set through EditorUserBuildSettingsevery platform profile changedBuildPlayerOptions or a build profile asset
Sizing from BuildReport totalSize1.9 GB for a 178 MB appshipped folder on disk
InstantiateAsync as a hitch fix17 to 83 ms frame laterpool and prewarm behind a transition
Benchmarking the first launch of a new build212 vs 22 msdiscard the first launch

What not to change without sign-off

Game feel (fixed timestep, Maximum Allowed Timestep, animation timing, input, AI ticks); art direction (texture sizes, lights, LOD thresholds, render scale) without before/after captures; the pipeline, engine version or an ECS rewrite; incremental GC off unless gameplay allocates 0 B in the player and an A/B shows the gain; asyncUploadBufferSize raised blindly (never returned, console e-book p. 31); VSync off in release; the benchmark path between before and after.

Handoffs

  • Receives: the brief in numbers from scenario-unity-expert; systems code from scenario-unity-architecture and scenario-unity-gameplay; pipeline assets from scenario-unity-rendering-lighting; shaders from scenario-unity-shaders; effects from scenario-unity-vfx; UI from scenario-unity-ui; bundles and Addressables from scenario-unity-pipeline-automation.
  • Delivers: the bound, attributed costs, before/after tables, CSVs, traces, PNGs: variant stripping to scenario-unity-shaders, lighting, shadow and post cuts to scenario-unity-rendering-lighting, overdraw budgets to scenario-unity-vfx and scenario-unity-ui, physics settings to scenario-unity-gameplay, duplicate fixes, CI perf tests and build profiles to scenario-unity-pipeline-automation, device and thermal validation to scenario-unity-mobile, Web limits to scenario-unity-web.

Unity 6.3 notes

  • SRP Batcher + GRD + GPU occlusion (the 17.3 URP asset holds the occlusion flag); dynamic batching deprecated in 6.5, obsolete in 6.6.
  • Split graphics jobs is the default on DX12/Vulkan/consoles (Oc6T4hh5gaI [00:03:04]); the 6.3 URP template reads Windows on/Split, Android off/Native, Metal off/Native; per-platform getters are internal (observed).
  • GraphicsStateCollection is experimental, traces only in development players; WebGPU tracing in 6.4. FrameDebuggerUtility is internal.
  • Profile Analyzer 1.4.0, Memory Profiler 1.1.12, Project Auditor 1.0.2 (built in from 6.4), Performance Testing 3.5.0 (core in 6.6) and Profiling Core 1.0.3 (needed for ProfilerCounterValue) are preinstalled packages added by name.
  • Mesh LOD is 6.2+. Physics.BakeMesh(int, bool) is obsolete: pass mesh.GetEntityId(). 6.3 runs Boehm (non-generational); CoreCLR is future work.

References

© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 16 other files (scripts, references) in skills/game-engines/unity/scenario-unity-performance of scenario-labs/skills.

  • SKILL.md
  • references/critique.md
  • references/expert-notes.md
  • references/gui-paths.md
  • references/procedures.md
  • references/sources.md
  • scripts/AgentKit/Performance/PerfAudit.cs
  • scripts/AgentKit/Performance/PerfBuild.cs
  • scripts/AgentKit/Performance/PerfCapture.cs
  • scripts/AgentKit/Performance/PerfFrameDebug.cs
  • scripts/AgentKit/Performance/PerfLod.cs
  • scripts/AgentKit/Performance/PerfRendering.cs
  • scripts/AgentKit/Performance/PerfShaders.cs
  • scripts/Runtime/Performance/AgentKit.Performance.Runtime.asmdef
  • scripts/Runtime/Performance/AllocScope.cs
  • … and 2 more

Open the folder on GitHubat commit 91caa01

Compare with similar skills

Scenario Unity Performance next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scenario Unity Performance compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Unity Performance this skillscenario-labs/skills931—~4.9kAutomated safety check: PassMIT
Godot Adapt 3D To 2Dthedivergentai/GD-Agentic-Skills816—~4.5kAutomated safety check: PassLGPL-3.0
Game DeveloperJeffallan/claude-skills12k—~1.5kAutomated safety check: PassMIT
Unreal Engine FPS Cap Removerkevinpbuckley/VibeUE726—~1.2kAutomated safety check: PassMIT
Profiler Get Rendering StatsIvanMurzak/Unity-MCP4.4k—~833Automated safety check: PassApache-2.0
Gdscript Advancedjame581/GodotPrompter799—~3.4kAutomated safety check: PassMIT

Similar skills

  • Godot Adapt 3D To 2D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for simplifying 3D games to 2D including dimension reduction strategies, 2.5D fake-depth, isometric ports, camera flattening, physics conversion, 3D-to-sprite art pipeline, and…

    816 GitHub stars~4.5k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Game Developer

    Jeffallan/claude-skills

    Covers game programming in Unity and Unreal Engine: ECS design, physics, multiplayer networking, shaders and profiling toward a 60 FPS target.

    12k GitHub stars~1.5k tokensUpdated 6 days ago
    Game DevelopmentAuto-check passed
  • Unreal Engine FPS Cap Remover

    kevinpbuckley/VibeUE

    Finds and clears the five independent settings that cap the Unreal editor or game frame rate, so it runs uncapped or at a chosen target FPS.

    726 GitHub stars~1.2k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Profiler Get Rendering Stats

    IvanMurzak/Unity-MCP

    Return current frame timing, FPS, vsync, target frame rate, threading mode, and graphics device type from Unity Time / QualitySettings / SystemInfo.

    4.4k GitHub stars~833 tokensUpdated 5 days ago
    Game DevelopmentAuto-check passed
  • Gdscript Advanced

    jame581/GodotPrompter

    A skill your agent uses when writing production-grade GDScript — performance idioms, metaprogramming, @tool lifecycle, async pitfalls, signal/Callable trade-offs, profiler-driven idioms, and common…

    799 GitHub stars~3.4k tokensUpdated today
    Game DevelopmentAuto-check passed
  • Godot Optimization

    jame581/GodotPrompter

    A skill your agent uses when optimizing Godot games — profiler, draw calls, physics tuning, memory management, and common bottlenecks

    799 GitHub stars~3k tokensUpdated today
    Game DevelopmentAuto-check passed

More from scenario-labs/skills

All 143 skills in this repo
  • Scenario Blender Grease Pencil

    scenario-labs/skills

    A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

    931 GitHub stars~4.5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    931 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    931 GitHub stars~5k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    931 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    931 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Scenario Godot Multiplayer

    scenario-labs/skills

    A skill your agent uses when a Godot 4 game goes online or co-op: host and join with ENet, WebSocket for a web build, RPCs (@rpc, rpcid, anypeer), MultiplayerSpawner and MultiplayerSynchronizer…

    931 GitHub stars~5.1k tokensUpdated yesterday
    Auto-check passed

Questions about Scenario Unity Performance

What does Scenario Unity Performance do?

A skill your agent uses when a Unity 6.3 game is slow or stutters: low fps, frame spikes, hitches when entering areas or on first effects, GC spikes, too many draw calls or SetPass calls, CPU vs GPU…. Scenario Unity Performance is an agent skill from scenario-labs/skills.3 game is slow or stutters: low fps, frame spikes, hitches when entering areas or on first effects, GC spikes, too many draw calls or SetPass calls, CPU vs GPU bound questions, Profiler, Profile Analyzer, Memory Profiler, Frame Debugger or Project Auditor work, GPU Resident Drawer or SRP Batcher setup, LOD and Mesh LOD, shader warm-up and variants, memory or VRAM budgets, IL2CPP and build size, or proving a fix with numbers from a player.

When should I use Scenario Unity Performance?

Scenario Unity Performance fits situations like: A Unity 6.3 game is slow; stutters: low fps; hitches when entering areas; on first effects.

How do I install Scenario Unity Performance in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-unity-performance -a claude-code`. Or copy the skill folder (skills/game-engines/unity/scenario-unity-performance in scenario-labs/skills) into .claude/skills/scenario-unity-performance in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Unity Performance in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-unity-performance -a codex`. Or copy the skill folder (skills/game-engines/unity/scenario-unity-performance in scenario-labs/skills) into .agents/skills/scenario-unity-performance in your project. Codex loads it when a task matches its description.

Can I use Scenario Unity Performance in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-unity-performance -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-unity-performance, .gemini/skills/scenario-unity-performance, .github/skills/scenario-unity-performance and .opencode/skills/scenario-unity-performance in your project.

What does Scenario Unity Performance need to run?

Going by SKILL.md and its folder, Scenario Unity Performance needs C# for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Scenario Unity Performance access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scenario Unity Performance safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scenario Unity Performance use?

Scenario Unity Performance is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Unity Performance use?

About 4.9k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 32k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Unity Performance?

Skills that share tags, products or a category with Scenario Unity Performance: Godot Adapt 3D To 2D (thedivergentai/GD-Agentic-Skills, 816 stars), Game Developer (Jeffallan/claude-skills, 12k stars), Unreal Engine FPS Cap Remover (kevinpbuckley/VibeUE, 726 stars) and Profiler Get Rendering Stats (IvanMurzak/Unity-MCP, 4.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Unity Performance?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 931 GitHub stars. The repository holds 143 skills in this directory. The repository was last updated on October 8, 2026.

Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.