From unity-skills
Systeme audio complet Unity 6+ : SFX, musique, ambiance, spatialisation 3D, AudioMixer, pooling, Audio Random Container, Scriptable Audio Pipeline. Triggers: /unity-audio, /audio, audio, son, musique, AudioMixer, AudioSource, spatial audio, 3D sound, sound design, SFX
How this skill is triggered — by the user, by Claude, or both
Slash command
/unity-skills:unity-audioThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide la conception et l'implementation d'un systeme audio complet dans Unity 6+. Couvre les SFX avec pooling, la musique avec crossfade, l'ambiance sonore, la spatialisation 3D, les Audio Random Containers (Unity 6+), les AudioMixer snapshots, et introduit le Scriptable Audio Pipeline (Unity 6.3+). Produit du code performant base sur des ScriptableObjects et le pattern event-driven.
Guide la conception et l'implementation d'un systeme audio complet dans Unity 6+. Couvre les SFX avec pooling, la musique avec crossfade, l'ambiance sonore, la spatialisation 3D, les Audio Random Containers (Unity 6+), les AudioMixer snapshots, et introduit le Scriptable Audio Pipeline (Unity 6.3+). Produit du code performant base sur des ScriptableObjects et le pattern event-driven.
/unity chargee (architecture, patterns SO)references/audio-optimization.md)Type de son ?
|
+-- SFX ponctuel (tir, saut, UI click) ?
| +-- Peu de variations --> AudioSource.PlayOneShot + pool
| +-- Variations (footsteps, impacts) --> Audio Random Container (Unity 6+)
|
+-- Musique (BGM, themes) ?
| +-- Un seul theme --> AudioSource loop
| +-- Transitions entre themes --> Crossfade 2 sources
| +-- Musique dynamique --> AudioMixer snapshots
|
+-- Ambiance (vent, foule, pluie) ?
| +-- Globale --> AudioSource loop sur Camera/Manager
| +-- Locale (zone) --> AudioSource 3D + trigger zone
|
+-- Son spatial 3D ?
| +-- Standard --> spatialBlend = 1, Logarithmic rolloff
| +-- VR/AR --> Spatializer plugin (Steam Audio, Resonance)
|
+-- Custom DSP / synthese ?
+-- Unity 6.3+ --> Scriptable Audio Pipeline
Verifier si un AudioMixer existe dans le projet. Sinon, en creer un avec les groupes :
Exposer les parametres de volume de chaque groupe (SFXVolume, MusicVolume, etc.).
Creer le systeme base sur ScriptableObjects :
AudioCueSO : contient les clips, plages de volume/pitch, groupe mixer cibleAudioCueEventChannelSO : canal d'evenement pour decoupler les demandes de lectureAudioManager MonoBehaviour : ecoute le canal, gere le pool de SoundEmittersVoir references/audio-patterns.md pour l'implementation complete (AudioCueSO, SoundEmitter, pool, crossfade).
Pour chaque clip audio, appliquer les settings optimaux selon son type :
Voir references/audio-optimization.md pour le tableau complet.
Selon l'arbre de decision :
AwaitableVoir references/audio-advanced.md pour les patterns Mixer snapshots, spatial 3D et Audio Random Container.
TOUJOURS :
PlayOneShot() pour les SFX ponctuels (pas Play())Instantiate par son)AudioMixer.SetFloat() (pas via AudioSource.volume direct)AudioMixerGroup sur chaque AudioSource pour le routingMathf.Log10(value) * 20fJAMAIS :
new AudioClip() ou charger des clips a chaque frameAudioSource.Play() pour des SFX rapides et superposesDecompress On Load pour un fichier > 500 KoDestroy() sur des GameObjects audio (recycler via pool)spatialBlend (defaut 0 = 2D, souvent oublie pour le 3D)/unity-code-gen : generer le code AudioManager, SoundEmitter, AudioCueSO/proto : prototype rapide avec audio placeholder/perf-audit : detecter les anti-patterns audio (memoire, voix)/unity-test : tester les systemes audio en EditMode| Probleme | Cause probable | Solution |
|---|---|---|
| Son ne joue pas | AudioSource desactivee ou volume a 0 | Verifier enabled, volume, AudioMixerGroup non mute |
| Son 3D inaudible | spatialBlend = 0 (mode 2D) | Mettre spatialBlend = 1 et verifier maxDistance |
| Clic/pop au debut du clip | Clip mal trimme ou decompression | Trimmer le silence, utiliser fade-in dans le clip |
| Latence SFX sur mobile | Streaming sur SFX courts | Passer en Decompress On Load pour clips < 1s |
| Memoire audio explose | Tous les clips en Decompress On Load | Streaming pour musique/ambiance, compresser |
| Crossfade brutal | Pas de courbe de transition | Utiliser Mathf.SmoothStep ou courbe logarithmique |
| AudioMixer.SetFloat echoue | Parametre non expose | Clic droit sur le param dans l'Inspector > Expose |
| Sons identiques repetitifs | Pas de variation pitch/volume | Utiliser Audio Random Container ou randomiser manuellement |
npx claudepluginhub juliankerignard/unity-skillsUnity 6 audio system guide. Use when working with sound effects, music, AudioSource, AudioClip, AudioListener, Audio Mixer, spatial audio, or audio optimization. Covers 3D sound, mixer groups, snapshots, and audio import settings. Based on Unity 6.3 LTS documentation.
Game audio systems, music, spatial audio, sound effects, and voice implementation. Build immersive audio experiences with professional middleware integration.
Defines a game's sonic identity by building an audio bible at .summer/audio-bible.md. Pins music style, SFX vocabulary, dynamic music plan, and spatial/mix rules from reference tracks and art direction.