Голосовой агент в Unity-сцене

ElevenLabs представила Unity SDK версии v0.1.0 для подключения голосовых агентов к играм. SDK передаёт голос игрока с микрофона агенту, воспроизводит ответ через AudioSource и управляет сессией с помощью Conversation API.

В примере GettingStarted персонаж открывает сессию, когда игрок входит в область триггерного коллайдера, и завершает её, когда тот выходит. StartSessionAsync возвращает управление, когда соединение установлено и аудиоустройства готовы; метод выбирает транспорт с учётом целевой платформы. Пример включён в SDK.

Настройка голоса и поддерживаемые платформы

По умолчанию голос агента звучит в 2D. Если передать собственный AudioSource через OutputAudioSource, звук будет исходить от персонажа. Метод GetOutputVolume() возвращает уровень громкости от 0 до 1; его можно использовать, например, для анимации рта или движения персонажа во время речи.

Промпт агента можно адаптировать для разных персонажей с помощью динамических переменных — строк, чисел или логических значений. Overrides позволяют заменить часть конфигурации, например голос или первое сообщение, но для каждого такого переопределения нужно предварительно включить соответствующую настройку в разделе Security агента.

SDK также поддерживает передачу агенту контекста о событиях игры и вызов игровых функций через клиентские инструменты. События сессии приходят в основном потоке Unity; доступны текстовый ввод, отключение микрофона, регулировка громкости и смена аудиоустройств.

Полный перечень методов опубликован в документации Unity SDK.

Один и тот же код работает в редакторе Unity, настольных сборках для macOS, Windows и Linux, а также в WebGL. Поддержка iOS, Android и XR пока находится в бета-версии.

Установка и требования безопасности

Для тестирования нужно создать агента в панели ElevenLabs, установить пакет в Unity через Package Manager с Git URL и указать ID агента. В настройках безопасности агента для первого теста можно отключить аутентификацию.

Для установки следует закрепить релиз v0.1.0. Перед выпуском игры ElevenLabs рекомендует снова включить аутентификацию: сервер разработчика должен запросить краткоживущий подписанный URL, который игра передаст вместо AgentId. API-ключ ElevenLabs нельзя помещать в сборку игры.