Skip to content
Development
Skill

/game-audio-review

Reviews game audio code for Wwise/FMOD integration safety, custom DSP plugin correctness, and audio middleware usage. Use when the user asks to review a Wwise plugin, check an FMOD DSP effect, audit game audio middleware integration, or asks "is my game audio code safe?".

From plugin
sonic-skills
2218 skills

Claude Code

$ npx -y skills add kunitoki/sonic-skills --skill game-audio-review --agent claude-code

SKILL.md

game-audio-review.SKILL.md
name: game-audio-review
description: >
  Reviews game audio code for Wwise/FMOD integration safety, custom DSP plugin correctness,
  and audio middleware usage. Use when the user asks to review a Wwise plugin, check an FMOD
  DSP effect, audit game audio middleware integration, or asks "is my game audio code safe?".
  Trigger on phrases like "review my Wwise plugin", "check FMOD DSP effect", "is my game
  audio code safe", "review my audio middleware integration", or when you see AkPluginInfo,
  FMOD_DSP_DESCRIPTION, IMetaSoundSource, or Execute/process callbacks in game audio code.

Game Audio Middleware Review

Middleware callbacks share all realtime constraints of native audio, plus middleware-specific memory, threading, and parameter rules.

Step 0 — Run universal checks first

Invoke `audio-dsp-review` and `audio-numerics-review` before this skill. This skill adds middleware-specific checks on top; it does not replace realtime-safety or numerics reviews.

Step 1 — Identify the integration type

| Type | Entry point | Key concerns | |------|-------------|--------------| | Wwise plugin | `AkPluginInfo` + `Execute()` | Memory via `AkAlloc`, thread model per platform | | FMOD DSP effect | `FMOD_DSP_DESCRIPTION` + `process` callback | `FMOD_MEMORY_ALLOC`, must not block | | Unreal MetaSounds | `IMetaSoundSource`, `GetNextBuffer` | GameThread vs AudioThread ownership | | Custom engine integration | Engine audio callback | Platform-specific thread model and priorities |

Step 2 — Scan for violations

| Violation | Where | Risk | |-----------|-------|------| | Allocating from any heap inside the audio callback | plugin `Execute`/`process` | Realtime violation; middleware allocators are for setup/teardown, not per-buffer allocation | | Blocking I/O from audio callback | `Execute`/`process` | Xrun / dropout | | Accessing game engine state from audio thread | `Execute`/`process` | Not thread-safe; data race or stale read | | Event or parameter changes without thread-safe channel | game loop → audio | Data race on shared state | | DSP plugin not handling bypass correctly | `Execute`/`process` | Incorrect audio output in bypass mode | | Not respecting channel count negotiation | plugin init | Buffer overread / underwrite | | Missing `AK_OPTIMIZED` guard around debug code | any plugin code | Debug I/O included in shipping build | | Wwise RTPC not clamped before use | parameter read | Out-of-range value fed to DSP; clipping or NaN | | FMOD parameter index used as a magic number | parameter read | Wrong value applied after descriptor edits; use a shared enum tied to `paramdesc` order | | Unreal: accessing `UAudioComponent` from AudioThread | `GetNextBuffer` | GameThread-only object; crashes on non-GameThread |

Step 3 — Write the review

## Game Audio Review: `[file / plugin class]`

### Verdict
[Safe | Has critical violations | Warnings only] — [one sentence summary]

### Integration Type
[Wwise plugin | FMOD DSP | Unreal MetaSounds | Custom engine]

### Critical Violations
**[Category]: [description]**
`file:line` — `offending code`
Why: [one sentence on the middleware / realtime risk]
Fix: [concrete middleware-idiomatic suggestion]

### Warnings
[same format]

### What's Done Well
[correct patterns observed]

### Recommended Fixes (priority order)
1. ...

Quick fix table

| Violation | Fix | |-----------|-----| | Allocation in Wwise `Execute` | Pre-allocate in `Init` with `AK_PLUGIN_ALLOC` / `AK_PLUGIN_FREE` | | Allocation in FMOD `process` | Pre-allocate in create/reset with `dsp_state->functions->alloc` / `free` | | Blocking call in callback | Move to game thread; pass result via lock-free queue or atomic | | Game engine state read on audio thread | Cache a thread-safe copy; update via `std::atomic` or SPSC queue | | Wwise bypass not handled | Leave buffer untouched and return; do not write to output | | Channel count assumed constant | Read from `io_pBuffer->NumChannels()` or FMOD `inchannels` at runtime | | FMOD parameter by magic number | Define enum indices and keep descriptor order in one place | | Unreal GameThread object on AudioThread | Marshal via `AsyncTask(ENamedThreads::GameThread, ...)` |

For code structure examples (Wwise, FMOD, MetaSounds, thread models, memory patterns) see `references/game-audio-patterns.md`.

Read more
@kunitoki
Ships withsonic-skills

Precision audio-engineering skills for AI agents. Sonic Skills is a curated pack of Markdown skills for reviewing, debugging, explaining, and implementing audio software.

Stars on GitHub

Momentum

stars in total
22
Star history of kunitoki/sonic-skills on GitHub, a chart by star-history.com

Other skills on sonic-skills.

au-review

au-review

Reviews AudioUnit v2/v3 plugin implementations for spec compliance, thread safety, and correctness. Use when the user asks to…

audio-dsp-review

audio-dsp-review

Reviews audio DSP and audio processing code for realtime safety violations. Use whenever the user asks to review, audit, or check…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc11d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about game-audio-review.

Which coding agents can use game-audio-review?
game-audio-review installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.