Skip to content
Unity Audio logo

Unity Audio

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

SKILL.md

Full skill instructions

Unity Audio

Ce que fait cette 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.

Prerequis

  • Unity 6.0+ (6.3+ pour Scriptable Audio Pipeline)
  • Package Audio par defaut (integre)
  • Connaissance basique des AudioSource, AudioClip, AudioMixer
  • Skill /​unity chargee (architecture, patterns SO)

Demarrage rapide

  1. Decrire le besoin : type de son (SFX, musique, ambiance), contexte (2D/​3D/​VR)
  2. Suivre l'arbre de decision pour choisir le pattern adapte
  3. Creer l'AudioManager base sur ScriptableObject + pool de SoundEmitters
  4. Configurer les import settings selon le type audio (voir references/​audio-optimization.md)
  5. Tester avec le Profiler Audio et ajuster les volumes via AudioMixer

Arbre de decision

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

Guide etape par etape

Etape 1 : Detecter l'AudioMixer existant

Verifier si un AudioMixer existe dans le projet. Sinon, en creer un avec les groupes :

  • Master (volume global)
    • SFX (effets sonores)
    • Music (musique)
    • Ambiance (sons d'ambiance)
    • UI (sons d'interface)

Exposer les parametres de volume de chaque groupe (SFXVolume, MusicVolume, etc.).

Etape 2 : Setup AudioManager SO

Creer le systeme base sur ScriptableObjects :

  • AudioCueSO : contient les clips, plages de volume/​pitch, groupe mixer cible
  • AudioCueEventChannelSO : canal d'evenement pour decoupler les demandes de lecture
  • AudioManager MonoBehaviour : ecoute le canal, gere le pool de SoundEmitters

Voir references/​audio-patterns.md pour l'implementation complete (AudioCueSO, SoundEmitter, pool, crossfade).

Etape 3 : Configurer les import settings

Pour chaque clip audio, appliquer les settings optimaux selon son type :

  • SFX courts : Decompress On Load, Vorbis 70%, Force Mono
  • Musique : Streaming, Vorbis 50%, Stereo
  • Ambiance : Streaming, Vorbis 50%, Force Mono
  • UI : Decompress On Load, PCM, Force Mono

Voir references/​audio-optimization.md pour le tableau complet.

Etape 4 : Implementer les patterns

Selon l'arbre de decision :

  • SFX : pool de SoundEmitters avec auto-return
  • Musique : crossfade entre 2 AudioSources via Awaitable
  • Ambiance : AudioSource 3D avec trigger zones
  • Spatialisation : configurer rolloff, min/​max distance, doppler
  • AudioMixer Snapshots : transitions d'ambiance (Combat, Pause, Underwater)

Voir references/​audio-advanced.md pour les patterns Mixer snapshots, spatial 3D et Audio Random Container.

Etape 5 : Tester et profiler

  • Ouvrir Window > Analysis > Audio Profiler
  • Verifier le nombre de voix actives (budget : 32 mobile, 64 desktop)
  • Verifier la memoire audio dans le Profiler (onglet Memory > Audio)
  • Tester les transitions de snapshots AudioMixer
  • Valider la spatialisation 3D en scene avec Gizmos audio

Regles strictes

TOUJOURS :

  • Utiliser PlayOneShot() pour les SFX ponctuels (pas Play())
  • Passer par un pool de SoundEmitters (jamais Instantiate par son)
  • Exposer les volumes via AudioMixer.SetFloat() (pas via AudioSource.volume direct)
  • Configurer les import settings AVANT d'utiliser un clip en jeu
  • Utiliser AudioMixerGroup sur chaque AudioSource pour le routing
  • Convertir les volumes en dB : Mathf.Log10(value) * 20f
  • Limiter les voix simultanees par categorie (max voices)

JAMAIS :

  • new AudioClip() ou charger des clips a chaque frame
  • AudioSource.Play() pour des SFX rapides et superposes
  • Oublier de retourner un emitter au pool apres lecture
  • Laisser un AudioSource en Decompress On Load pour un fichier > 500 Ko
  • Utiliser Destroy() sur des GameObjects audio (recycler via pool)
  • Ignorer le spatialBlend (defaut 0 = 2D, souvent oublie pour le 3D)

Skills connexes

  • /​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

Troubleshooting

ProblemeCause probableSolution
Son ne joue pasAudioSource desactivee ou volume a 0Verifier enabled, volume, AudioMixerGroup non mute
Son 3D inaudiblespatialBlend = 0 (mode 2D)Mettre spatialBlend = 1 et verifier maxDistance
Clic/​pop au debut du clipClip mal trimme ou decompressionTrimmer le silence, utiliser fade-in dans le clip
Latence SFX sur mobileStreaming sur SFX courtsPasser en Decompress On Load pour clips < 1s
Memoire audio exploseTous les clips en Decompress On LoadStreaming pour musique/​ambiance, compresser
Crossfade brutalPas de courbe de transitionUtiliser Mathf.SmoothStep ou courbe logarithmique
AudioMixer.SetFloat echoueParametre non exposeClic droit sur le param dans l'Inspector > Expose
Sons identiques repetitifsPas de variation pitch/​volumeUtiliser Audio Random Container ou randomiser manuellement

More skills from JulianKerignard

Unity Debug logo
JulianKerignard/Unity-Skills

Unity Debug

Diagnostic et correction systematique de bugs Unity par analyse de code. Classifie le bug, trace le chemin d'execution, propose un fix avec prevention. Triggers: /unity-debug, /debug, 'bug Unity', 'NullReferenceException', 'crash Unity', 'erreur Unity', 'ne marche pas', 'comportement bizarre', 'M...

7 0
View
Unity UI Toolkit logo
JulianKerignard/Unity-Skills

Unity UI Toolkit

Creation d'interfaces utilisateur avec UI Toolkit (UXML, USS, C# bindings). Genere des ecrans complets avec structure UXML, styling USS et presenter C#. Triggers: /uitk, /ui, 'UI Toolkit', 'UXML', 'USS', 'UIDocument', 'data binding UI', 'runtime UI', 'menu principal', 'HUD', 'interface utilisateu...

7 0
View
Unity Refactor logo
JulianKerignard/Unity-Skills

Unity Refactor

Refactoring incremental et securise de code C# Unity. Detecte les code smells, propose un plan priorise par risque, et execute les changements un par un avec verification de compilation. Triggers: /unity-refactor, 'refactor', 'code smell', 'clean code', 'dette technique', 'refactoring unity'. Pro...

7 0
View
Unity Editor Tools logo
JulianKerignard/Unity-Skills

Unity Editor Tools

Cree des outils custom pour l'editeur Unity : inspectors personnalises, fenetres d'outils, drawers, menu items, wizards et asset processors. Triggers: /unity-editor-tools, /editor, 'custom inspector', 'editor window', 'property drawer', 'menu item', 'editor tool', 'outil editeur'. Produit des scr...

7 0
View
Unity Perf Audit logo
JulianKerignard/Unity-Skills

Unity Perf Audit

Audit statique de performance pour projets Unity. Triggers: /perf, /perf-audit, 'audit performance', 'optimiser performance', 'anti-pattern performance', 'frame rate', 'profiler', 'budget fps'. Analyse le code C# du projet pour detecter les anti-patterns de performance (CPU, GPU, memoire). Produi...

7 0
View
Unity Build & CI/CD Configurator logo
JulianKerignard/Unity-Skills

Unity Build & CI/CD Configurator

Configure le pipeline de build Unity, CI/CD, et deployment. Triggers: /build-config, /ci, /deploy, 'configurer build', 'github actions unity', 'gitlab ci unity', 'gitignore unity', 'build automation'. Scanne le projet, genere les scripts de build C#, les workflows CI/CD, et les fichiers Git optim...

7 0
View
Unity DOTS logo
JulianKerignard/Unity-Skills

Unity DOTS

Data-Oriented Technology Stack (ECS, Job System, Burst). Authoring, baking, systems, queries, jobs paralleles. Triggers: /dots, /ecs, 'DOTS', 'ECS', 'ISystem', 'SystemAPI', 'IJobEntity', 'Burst', 'NativeArray', 'Entity', 'IComponentData', 'data oriented'.

7 0
View
Unity Save System logo
JulianKerignard/Unity-Skills

Unity Save System

Implementer un systeme de sauvegarde et persistence : /unity-save, /save, sauvegarde, save system, persistence, sauvegarder, charger une partie, save game, PlayerPrefs, serialisation, JSON save, cloud save, slot de sauvegarde

7 0
View
Unity Addressables logo
JulianKerignard/Unity-Skills

Unity Addressables

Asset loading et content management avec Addressables. Organisation des groupes, chargement async, memory management, remote content. Triggers: /addressables, /assets, 'Addressables', 'AssetReference', 'chargement async', 'remote content', 'DLC', 'asset bundles', 'Resources.Load migration', 'load...

7 0
View
Unity Code Gen logo
JulianKerignard/Unity-Skills

Unity Code Gen

Generation de code C# Unity production-ready a partir de specifications fonctionnelles. Analyse la codebase existante, choisit le bon pattern architectural, genere le code et les tests. Triggers: /unity-code-gen, 'generer script Unity', 'creer composant', 'nouveau MonoBehaviour', 'creer Scriptabl...

7 0
View
Unity 2D logo
JulianKerignard/Unity-Skills

Unity 2D

Guide complet pour le developpement 2D dans Unity 6+ : Tilemap, Sprite, 2D platformer, top-down 2D, 2D physics, Light2D, Sprite Atlas, pixel art, 2D game, jeu 2D, tile, Rule Tile. Commandes : /unity-2d, /2d

7 0
View
Unity Shader Generator logo
JulianKerignard/Unity-Skills

Unity Shader Generator

Genere des shaders Unity (HLSL/ShaderLab) pour effets visuels. Triggers: /shader, /shader-gen, 'creer un shader', 'effet visuel shader', 'dissolve', 'outline', 'toon shading', 'hologram', 'water shader'. Detecte automatiquement le render pipeline (URP/HDRP/Built-in) et produit un fichier .shader ...

7 0
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View