Live 18/11 · Cohorte 318 nov à 19h00 MSK — atelier pratique gratuit sur les agents IA · La Cohorte 3 démarre le 23/11Atelier 18/11 →Cohorte 3 (23/11)
SortieCode / SDK · Prêt à l'emploiElevenLabs Blog→ original

ElevenLabs intègre des PNJ vocaux à Unity en 10 minutes de configuration

ElevenLabs a publié un SDK Unity pour dialoguer avec des PNJ : il reçoit la voix du joueur, restitue la réponse via AudioSource et choisit automatiquement le transport adapté à la plateforme cible. Un même agent peut prendre en charge différents personnages en recevant leur humeur et d’autres paramètres au démarrage de la session. Grâce aux outils côté client, le PNJ peut non seulement parler, mais aussi effectuer des actions dans le jeu, par exemple ouvrir la bonne porte.

Traité par IA depuis ElevenLabs Blog ; édité par Hamidun News
ElevenLabs intègre des PNJ vocaux à Unity en 10 minutes de configuration
Source : ElevenLabs Blog. Collage: Hamidun News.
Écouter l'article
Fiche synthèse et chiffres clés
ParamètreDonnées
Source primaireElevenLabs Blog ↗
Rédacteur en chef
Chiffre clé #1L’éditeur, les plateformes de bureau et WebGL sont déjà pris en charge ; les plateformes mobiles et XR sont en version bêta.
Chiffre clé #2Le contexte du jeu peut être actualisé pendant la conversation sans générer de réplique au nom du joueur.
Chiffre clé #3Avant la mise en production, activez l’authentification et fournissez au client une URL signée à courte durée de vie.

Dans Unity, un PNJ vocal commence généralement comme un prototype amusant, avant de se transformer en un enchevêtrement bien connu de gestion du microphone, de connexion réseau, de lecture audio et de synchronisation avec l’état du jeu. ElevenLabs a regroupé ces éléments dans un SDK Unity distinct pour ElevenAgents. Le joueur s’approche d’un personnage et lui parle à voix haute ; celui-ci répond vocalement, connaît les événements de la scène et appelle, si nécessaire, du code de gameplay.

L’entreprise affirme qu’un exemple de démarrage peut être lancé en une dizaine de minutes. Cela ne signifie pas qu’un personnage prêt pour la production sera achevé dans ce délai, mais c’est un bon moyen de tester rapidement l’hypothèse produit centrale : le joueur voudra-t-il réellement parler au PNJ plutôt que sélectionner des réponses écrites à l’avance ?

Fonctionnement de la conversation

Le développeur crée un agent vocal dans le tableau de bord ElevenLabs et transmet son identifiant au démarrage de la session. Le SDK ouvre la connexion, prépare les périphériques audio et choisit le transport approprié. Dans l’éditeur et les builds de bureau, il utilise WebSocket ; dans WebGL, WebSocket ou WebRTC sont disponibles.

Un scénario simple fonctionne ainsi : un déclencheur est placé autour du personnage. Lorsque le joueur entre dans sa zone, le jeu appelle StartSessionAsync ; lorsqu’il en sort, il appelle EndSession. Par défaut, la voix est diffusée comme un son 2D ordinaire, mais le développeur peut fournir son propre AudioSource afin que la réplique provienne de la position du personnage.

Le SDK renvoie également le volume instantané de la réponse, sur une échelle de 0 à 1. Cela suffit déjà pour une animation approximative de la bouche, l’illumination d’un indicateur ou le mouvement d’un modèle. La fonction ne remplace pas une véritable synchronisation labiale, mais elle permet de construire un prototype compréhensible sans pipeline distinct d’animation faciale.

Un agent pour plusieurs personnages

Il n’est pas nécessaire de créer un agent distinct pour chaque PNJ. Au démarrage de la session, le jeu peut transmettre des variables dynamiques, comme la couleur, la profession ou l’humeur du personnage. Ces valeurs sont injectées dans les instructions système et dans la première réplique. Des différences plus marquées peuvent être définies au moyen de remplacements temporaires de la voix et des paramètres de l’agent, à condition qu’ils aient été préalablement autorisés dans les réglages de sécurité.

Imaginons deux aubergistes dans une même scène. Tous deux utilisent le même scénario conversationnel de base, mais le premier reçoit les variables « calme » et « amical », tandis que le second reçoit « irrité » et « méfiant ». L’intérêt ne réside pas seulement dans la réduction du nombre de configurations : les règles de comportement communes peuvent être modifiées de manière centralisée tout en préservant les différences entre les personnages.

Les événements du jeu sont transmis via SendContextualUpdate. Si le joueur a trouvé la clé de la cave, l’agent l’apprend sans qu’une réplique artificielle soit prononcée au nom du joueur. Le flux inverse passe par les outils côté client : l’agent peut demander l’ouverture d’une porte, le lancement d’une quête ou la remise d’un objet ; un gestionnaire enregistré exécute alors l’action et renvoie le résultat.

Il s’agit d’une frontière architecturale importante. Le modèle propose une action, mais c’est le jeu qui l’exécute. Le gestionnaire doit donc vérifier lui-même les autorisations, l’état de la scène et la validité des paramètres. Un modèle de langage ne doit pas pouvoir modifier directement l’inventaire ou la progression simplement parce qu’il a produit un appel de fonction convaincant.

Points à prendre en compte avant la sortie

L’éditeur, Windows, macOS, Linux et WebGL sont annoncés comme des plateformes prises en charge. iOS, Android et XR sont encore en version bêta. Sur les appareils mobiles, l’autorisation d’utiliser le microphone doit être demandée séparément. Pour WebGL, WebAssembly.Table doit être activé. La lecture dans le navigateur présente par ailleurs certaines limites : une partie des paramètres AudioSource n’est pas transmise à la Web Audio API, et WebRTC ignore l’OutputAudioSource fourni.

La principale contrainte concerne la sécurité. Pour un premier test local, ElevenLabs propose de désactiver l’authentification et de se connecter à l’aide de l’identifiant de l’agent. Cette méthode ne doit pas être utilisée dans un jeu publié. Le serveur du développeur doit obtenir une URL signée à courte durée de vie et la transmettre au client. La clé API ElevenLabs ne doit pas être intégrée au build : elle pourrait être extraite et utilisée à vos frais.

La conclusion pratique est simple : le SDK convient à la création rapide d’un prototype vertical de personnage conversationnel. Commencez avec un seul PNJ et une seule action vérifiable, comme l’ouverture d’une porte. Mesurez ensuite la latence des réponses, le coût d’une session, le taux d’erreurs et la proportion de joueurs qui utilisent réellement la voix. Si la mécanique fonctionne, ajoutez de la mémoire, des animations et de nouveaux outils, tout en maintenant la validation finale des actions de jeu dans votre propre code.

Dossier

Questions clés sur cet article

Que sait-on sur Fonctionnement de la conversation ?

Le développeur crée un agent vocal dans le tableau de bord ElevenLabs et transmet son identifiant au démarrage de la session. Le SDK ouvre la connexion, prépare les périphériques audio et choisit le transport approprié. Dans l’éditeur et les builds de bureau, il utilise WebSocket ; dans WebGL, WebSocket ou WebRTC sont disponibles. Un scénario simple fonctionne ainsi : un déclencheur est placé autour du personnage.

Que sait-on sur Un agent pour plusieurs personnages ?

Il n’est pas nécessaire de créer un agent distinct pour chaque PNJ. Au démarrage de la session, le jeu peut transmettre des variables dynamiques, comme la couleur, la profession ou l’humeur du personnage. Ces valeurs sont injectées dans les instructions système et dans la première réplique. Des différences plus marquées peuvent être définies au moyen de remplacements temporaires de la voix et des paramètres de l’agent, à condition qu’ils aient été préalablement autorisés dans les réglages de sécurité.

Que sait-on sur Points à prendre en compte avant la sortie ?

L’éditeur, Windows, macOS, Linux et WebGL sont annoncés comme des plateformes prises en charge. iOS, Android et XR sont encore en version bêta. Sur les appareils mobiles, l’autorisation d’utiliser le microphone doit être demandée séparément. Pour WebGL, WebAssembly.Table doit être activé. La lecture dans le navigateur présente par ailleurs certaines limites : une partie des paramètres AudioSource n’est pas transmise à la Web Audio API, et WebRTC ignore l’OutputAudioSource fourni.

ZK
Zhemal Khamidun — CPO d'Alpina Digital, product manager d'AlpinaGPT. Conçoit des produits IA depuis 2019. Hamidun News est un projet personnel devenu un agrégateur en production avec plus de 6 000 lecteurs.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
Qu'en pensez-vous ?
Chargement des commentaires…