Communitygithub.com

Configuration des Mixeurs Audio

Analyse la scène et les assets audio pour router les Audio Sources vers les groupes de mixeurs Audio existants, en classifiant chaque source selon ce qu'elle joue.

Qu'est-ce que Configuration des Mixeurs Audio ?

Cette compétence automatise le routage des Audio Sources vers les groupes d'Audio Mixer dans Unity, en analysant la scène et les assets audio pour classer chaque source selon son type (Foley, Dialogue, SFX, Musique, etc.). Elle s'appuie sur l'API publique d'Unity, ce qui signifie qu'elle peut inspecter les mixeurs existants et effectuer le routage, mais ne peut pas créer de nouveaux groupes ou mixeurs (car cela nécessite une API non publique). La compétence fonctionne uniquement lorsque l'Éditeur Unity est en cours d'exécution, en utilisant la commande `eval` de l'interface en ligne de commande Unity (Unity CLI). Elle commence par vérifier qu'un mixeur audio existe dans le projet, puis inventorie tous les composants Audio Source de la scène, propose un classement et un routage à l'utilisateur pour validation, puis effectue le routage en une seule opération annulable. Les limites sont délibérées : elle ne touche pas aux volumes, aux effets, ni à la création de mixeurs ou de groupes ; elle demande à l'utilisateur de créer les groupes manquants dans la fenêtre Audio Mixer.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/unity-technologies/skills/tree/main/skills/audio-setup-mixers

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Configuration des Mixeurs Audio ?

Router une Audio Source vers un groupe de mixeurs est une modification de scène qu'un seul Éditeur en cours d'exécution peut effectuer, donc cette compétence nécessite un Éditeur en direct dans lequel elle peut exécuter du C#. L'étape 0 établit cela avant toute chose.

Ce que cette compétence automatise, et ce qu'elle vous laisse faire. L'inspection des mixeurs et le routage des Audio Sources dans des groupes sont entièrement de l'API publique Unity, et c'est la partie fastidieuse — parcourir des dizaines de sources et les classer par ce qu'elles jouent. La création d'un mixeur ou d'un groupe n'a pas d'API publique ; elle existe uniquement sur des types qu'Unity ne s'engage pas à maintenir stables. Donc cette compétence ne créera pas de groupes dans votre dos. Elle inventorie ce qui existe, propose le routage, vous demande d'ajouter tout groupe manquant dans la fenêtre Audio Mixer, puis effectue tout le routage elle-même.

C'est une limite délibérée, pas une lacune à contourner. N'utilisez pas la réflexion pour créer des groupes, et ne modifiez pas manuellement un fichier .mixer — la structure du mixeur ne s'édite pas en aveugle en toute sécurité.

Étape 0 : Confirmer que vous pouvez exécuter C# dans l'Éditeur

Chaque étape C# ci-dessous s'exécute dans un Éditeur en direct via l'interface en ligne de commande Unity. La compétence unity-cli est responsable de vous y amener — installer la CLI, confirmer un Éditeur connecté, ajouter le package com.unity.pipeline du projet, distinguer un Éditeur réellement absent d'un autre bloqué en mode sans échec, et découvrir le catalogue de commandes de l'Éditeur. Suivez-la d'abord ; ne dérivez rien ici.

Deux choses qu'elle ne peut pas savoir pour vous :

  • Vous avez besoin en particulier de eval, pas seulement d'un Éditeur accessible. Confirmez qu'il apparaît dans le catalogue. Sa présence dépend de la version du package Pipeline, pas de la CLI, donc une installation saine peut encore en manquer — s'il manque, dites-le et arrêtez-vous.
  • Ne vous rabattez pas sur l'édition manuelle de fichiers .mixer. Le routage des mixeurs ne s'édite pas en aveugle en toute sécurité, donc un Éditeur inaccessible est un arrêt, pas un signal pour improviser.

Une fois que eval est disponible, c'est ainsi que chaque étape C# ci-dessous s'exécute.

Exécutez du C# via l'Éditeur connecté avec la commande eval. Découvrez la forme de ses paramètres à partir de unity command --format json plutôt que d'en supposer une — la forme en ligne est unity command eval --code '<extrait>', et certaines versions de Pipeline enregistrent également eval_file pour exécuter un extrait à partir d'un fichier. Vérifiez le catalogue avant d'utiliser eval_file ; il est souvent absent. unity command utilise un délai d'attente par défaut de 30 secondes.

Passer du C# à eval

eval compile un bloc d'instructions, pas un fichier. Deux conséquences, toutes deux causant une erreur de compilation plutôt qu'un avertissement :

  • Pas de directives using. Le compilateur lit using UnityEngine; comme une instruction de libération de ressource et la rejette (CS0210).
  • Les types doivent être entièrement qualifiés. Un AssetDatabase ou un Volume nu ne se résout pas (CS0246 / CS0103), et un Object nu est ambigu avec object (CS0104).

Lorsqu'un extrait ci-dessous est écrit comme un fichier — avec des using, pour la lisibilité, ou parce qu'il est destiné à être sauvegardé dans le projet — qualifiez les types avant de le passer à eval.

Étape 1 : Pré-vérification

Si l'utilisateur n'a pas explicitement demandé Audio Mixers, confirmez qu'il souhaite procéder à leur configuration.

Ensuite, inventorier ce qui existe déjà avec l'extrait d'inventaire des mixeurs dans references/api.md, exécuté dans l'Éditeur comme décrit à l'étape 0. Cela vous donne tous les mixeurs du projet et les noms de groupes dans chacun.

Il renvoie une liste plate de groupes, pas l'arborescence parent/enfant. C'est suffisant pour router, et c'est tout ce que l'API publique expose. Si la hiérarchie est importante pour la conversation, demandez à l'utilisateur de regarder la fenêtre Audio Mixer et de la décrire — n'utilisez pas l'API d'arborescence non publique pour le savoir.

Si le projet n'a aucun mixeur, dites-le et arrêtez-vous plutôt que d'en improviser un : créer un mixeur n'a pas d'API publique. Demandez à l'utilisateur d'en créer un (Fenêtre → Audio → Audio Mixer, puis le + à côté de Mixers), et reprenez à partir d'ici une fois qu'il existe.

Étape 2 : Trouver les références de scène

Trouvez tous les composants Audio Source, examinez les noms de leurs assets Generator assignés, et généralisez une classe ou une catégorie appropriée du nom du son, idéalement quelque chose qui existe déjà. Exemples pour les noms d'assets Audio Clip :

  • "FootStep4_Sound" -> Foley
  • "Dialogue_Female_Scene4" -> Vox/Voix/Dialogue
  • "GunShot" -> Effets Sonores (SFX)
  • "Menu_Theme_Variation" -> Musique

Si l'asset assigné n'est pas descriptif ou n'existe pas, essayez de regarder le nom du GameObject ou les noms potentiels de MonoBehaviour adjacents. Demandez à créer un groupe non catégorisé s'il semble difficile ou si la confiance est faible pour classer comment une Audio Source est utilisée.

Étape 3 : Valider la liste des groupes et faire créer les groupes manquants

Présentez la classification de l'étape 2 comme un routage proposé — chaque Audio Source et le groupe vers lequel vous avez l'intention de l'envoyer — et révisez-le avec l'utilisateur.

ATTENDEZ la réponse de l'utilisateur avant de continuer.

Préférez un groupe existant lorsqu'il couvre vraiment la catégorie, même si vous l'auriez nommé différemment. Mais ne fusionnez pas les catégories qu'un ingénieur du son garderait séparées — Foley est un sous-ensemble des Effets Sonores, pas un synonyme, donc un coup de feu n'appartient pas à un groupe Foley simplement parce qu'il existe. Lorsque les groupes existants ne couvrent que partiellement vos catégories, dites lesquels correspondent et lesquels ont besoin d'un nouveau groupe, et laissez l'utilisateur décider.

Pour les catégories sans groupe correspondant, vous ne pouvez pas créer le groupe — il n'y a pas d'API publique pour cela. Transmettez-le précisément, en nommant le mixeur et les noms exacts des groupes, comme indiqué à la fin de references/api.md. Ensuite, réexécutez l'extrait d'inventaire pour confirmer que les groupes existent et vérifiez leur orthographe avant de router. Ne supposez pas que l'utilisateur l'a fait, et ne supposez pas qu'il l'a orthographié comme vous l'avez demandé.

Étape 4 : Router les Audio Sources

Une fois la liste des groupes réglée et confirmée présente, assignez le groupe de sortie de chaque Audio Source en utilisant l'extrait de routage dans references/api.md. Il s'agit d'API publique du début à la fin, et il encapsule tout le passage en une seule étape annulable afin que l'utilisateur puisse tout annuler d'un coup.

Faites correspondre la clé de mappage avec l'identifiant que vous avez classifié. L'étape 2 lit d'abord le nom de l'asset du clip et ne se rabat sur le nom du GameObject qu'en second lieu, donc le mappage accepte l'un ou l'autre — les deux sont des identifiants différents et l'utilisation de la mauvaise clé supprime des sources.

Trois choses à signaler plutôt qu'à supposer :

  • Toute entrée NO SUCH GROUP que l'extrait renvoie. Cela signifie qu'un groupe que vous attendiez n'est pas dans le mixeur — généralement une différence d'orthographe. Résolvez-le avec l'utilisateur, ne sautez pas silencieusement la source.
  • Toute entrée NOT IN THE MAPPING. Ce sont des Audio Sources que votre classification a manquées. Signaler un routage réussi alors que des sources ont été silencieusement laissées non routées est le pire résultat ici, car cela ressemble à un succès.
  • La scène a été modifiée, pas l'asset du mixeur. Le routage vit sur l'Audio Source, donc il ne persiste qu'une fois la scène sauvegardée. Informez l'utilisateur et ne sauvegardez qu'avec son accord.

Le volume, les effets et les changements de parenté sont hors de portée. Ils reposent sur une API non publique. Si l'utilisateur les demande, dites que le routage est terminé et orientez-le vers la fenêtre Audio Mixer pour le mixage lui-même.

Références

Voir references/api.md.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

unity-technologies/2d-pixel-perfect

Sets up, diagnoses, and fixes pixel perfect 2D rendering in Unity projects. Use when working on any retro-style or pixel art 2D game.

unity-technologies/build-live-game

Build and operate a live game using Unity Services. Use when the user needs to implement, connect, or debug backend-driven features — battle passes, achievements, player progression, cloud saves, leaderboards, matchmaking, virtual economies, server-authoritative logic, anti-cheat, player accounts and authentication, remote configuration, feature flags, A/B testing, analytics, or cloud resource deployment. Triggers on live-ops, live service, backend, server authority, cloud code, cloud save, remote config, player data, retention, monetization loop, season pass, ranking, multiplayer sessions, lobbies, or any Unity Services integration.

unity-technologies/generate-editor-search-query

Generates Unity Search / Quick Search queries and opens the Unity Search window for read-only Unity Editor asset or scene-object lookup requests. Always use when the user asks to find, search, show, locate, filter, look up, query, or list concrete assets or scene objects in the current project or scene, even if Unity Search is not named. Covers materials, textures, prefabs, scenes, scripts, shaders, GameObjects, components, Lights, Cameras, UI objects, labels, paths, references, selected or named assets, and asset types. Also use when the user explicitly mentions Unity Search, Quick Search, Search window, open Search, or asks what Unity Search query to use. Do not use for general project overview, project structure, folder-purpose summaries, gameplay/system explanations, how-to programming questions, web search, repository text search, build logs, package installation, menu or settings search, modifying results, or non-Unity filesystem search unless the user explicitly asks to use Unity Search.

unity-technologies/implement-in-app-purchases

Implement, configure, and debug Unity In-App Purchases (IAP) — store connection, product catalog, consumable/non-consumable/subscription purchases, two-step pending-confirm flow, receipt validation, entitlement checking, restore transactions, Apple extensions (promotional purchases, Ask-to-Buy, code redemption), and Google Play extensions (subscription upgrade/downgrade), D2C Capabilities(direct to customer), 3rd party payment provider (Stripe/Coda) via Unity IAP/Unity Cloud. Use when the user needs to add, modify, debug, or migrate from native Android/iOS billing, 3rd party packages(RevenueCat/Adapty/Essential Kit/Unipay supported) to IAP. Triggers on microtransactions (MTX), monetization, real-money purchases, store purchases, buying items, support D2C, purchase via Stripe/Coda, migrate from native billing(Google's BillingClient or Apple's StoreKit/SKPaymentQueue/SKProduct)/RevenueCat/Adapty/EssentialKit/Unipay.

unity-technologies/initialize-ai-navigation

Sets up and configures the Unity AI Navigation system — NavMesh surfaces, NavMesh agents, obstacles, links, modifiers, areas and costs. Use when creating walkable navigation meshes, adding pathfinding agents, setting up patrol routes, configuring obstacle avoidance and carving, connecting separate NavMeshes with links, coupling navigation with animation, or troubleshooting navigation issues.

unity-technologies/levelplay-unity-integration

Integrates the LevelPlay Mediation SDK via the Ads Mediation UPM package. Use when a developer asks about adding ads to a Unity game, implementing rewarded, interstitial, or banner ads, setting up ad mediation, configuring ad networks, installing or updating the Ads Mediation package, troubleshooting LevelPlay namespace errors, resolving Android gradle or iOS CocoaPods dependency issues for ads, configuring ATT or privacy settings for ad compliance, tracking impression-level revenue (ILRD), initializing the LevelPlay SDK, or setting up ad unit IDs. Also use when a developer wants to monetize their Unity game with ads, asks how to get started with LevelPlay, ads, or mediation, or needs help with any part of the LevelPlay integration workflow including platform-specific setup for iOS or Android. Also use when upgrading the LevelPlay or IronSource SDK version, migrating from deprecated IronSource.Agent APIs, or migrating a game from Unity Ads to LevelPlay.

unity-technologies/localization

Sets up and configures Unity Localization, including locales, String/Asset Tables, CJK font support, and Addressables workflows. Use when the user wants to add languages to a project, translate UI text, support Asian (CJK) languages with TMP fonts, or mentions i18n, l10n, multilingual support, or making a game support multiple languages.

unity-technologies/manage-sprite-atlas

Manage SpriteAtlas using prebuild pipeline with IPreprocessBuildWithReport (DEFAULT approach). Use it to configure master atlases, variant atlases, texture settings, packing settings, and platform-specific configurations. Use when the user asks about creating sprite atlases, optimizing sprites, configuring atlas settings, adding sprites to atlases, creating variant atlases, implementing automated atlas generation, or runtime sprite atlas access. Always use prebuild approach unless user explicitly requests manual authoring.

unity-technologies/migrate-birp-to-urp

Plans, executes, and troubleshoots Unity projects moving from the Built-in Render Pipeline (BiRP/BIRP/Built-in RP) to the Universal Render Pipeline (URP). Use when the user asks to upgrade, convert, switch, or migrate a project, scene, material, or shader to URP/Universal Render Pipeline; fix pink or magenta materials after URP; convert Built-in materials/shaders; move a 2D project to URP 2D; review lighting, quality, post-processing, baked lightmaps, or reflection probes after URP; or diagnose visual problems after a render-pipeline migration.

Skills associés