godot-audio-systems

Implements Godot audio mixing, spatial playback, voice pooling, and interactive music systems.

Updated Aug 22, 2026
One-click install
npx skills add https://github.com/DecioLuvier/Shatterless --skill godot-audio-systems-decioluvier
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: godot-audio-systems
Source: https://github.com/DecioLuvier/Shatterless/tree/main/.claude/skills/godot/references/godot-audio-systems
Command: npx skills add https://github.com/DecioLuvier/Shatterless --skill godot-audio-systems-decioluvier

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Building game audio in Godot often leads to clipping mixes, frame spikes from spawning audio nodes, broken volume sliders, and abrupt music cuts. This Skill provides expert rules and ready-made GDScript components for correct bus routing, positional audio, voice pooling, and adaptive music. ## Core Features & Use Cases - Mixing & Bus Architecture: Enforces sub-bus routing (Music/SFX/UI/Voice), linear-to-dB slider mapping, and sidechain ducking of music under dialogue. - Performance-Safe SFX: Voice pool and concurrency limiter scripts prevent node-spam frame spikes and same-frame clipping from repeated explosions or footsteps. - Spatial & Interactive Audio: Occlusion raycast muffling, reverb zones, Doppler setup, vertical stem layering with AudioStreamSynchronized, and horizontal clip graphs with AudioStreamInteractive. - Use Case: When adding combat audio to a Godot 4 FPS, route gunshots through the pooled SFX bus, duck music during voice lines, and crossfade explore-to-combat music on bar boundaries. ## Quick Start Ask the AI to set up a pooled sound effect system with proper bus routing and a music crossfade for your Godot project.

Frequently Asked Questions about godot-audio-systems

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I pool sound effects in Godot to avoid frame spikes?▼

Use a pre-allocated round-robin voice pool instead of creating AudioStreamPlayer nodes per sound. Spawning nodes per footstep at 60 FPS creates thousands of allocations per minute; the audio_voice_pool_manager.gd script reuses voices with priority-based stealing.

Why does my Godot volume slider feel wrong at low values?▼

AudioServer.set_bus_volume_db expects decibels, which are logarithmic, so linear slider values sound too loud until the end. Convert slider input with linear_to_db() before setting bus volume.

AudioStreamPlayer vs AudioStreamPlayer3D: which should I use?▼

Use AudioStreamPlayer for global sounds like music, UI, and voiceover since it is fastest. Use AudioStreamPlayer3D for positional sounds needing attenuation, Doppler, and reverb sends in 3D games.

How do I transition music in Godot without abrupt cuts?▼

Crossfade tracks with a 0.5-2.0 second Tween that lowers the current track to -80 dB while raising the next. For beat-aligned handoffs, wait until the next bar boundary using the track playback position and BPM.

Why is my 3D sound heard everywhere in the Godot level?▼

AudioStreamPlayer3D defaults to no attenuation model, making sounds global. Set attenuation_model to ATTENUATION_INVERSE_DISTANCE so volume falls off with distance from the listener.

How do I duck music during dialogue in Godot?▼

Route voiceover to a dedicated Voice bus and lower the Music bus volume while dialogue plays, sidechain-style. The audio_bus_ducker_logic.gd script implements this ramp automatically.