# setup-vivox-voice-chat

A skill that walks an agent through adding Unity Vivox voice and text chat: init, login, channels, messages.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 5000 installs · ★ 1149
- Author: Unity-Technologies
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/Unity-Technologies/skills/tree/HEAD/skills/setup-vivox-voice-chat/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/setup-vivox-voice-chat

## What it does

The skill covers the `com.unity.services.vivox` package at 16.4.0 and above. It spells out an init order you should not shuffle: `UnityServices.InitializeAsync()` first, then sign-in through `AuthenticationService`, then `VivoxService.Instance.InitializeAsync()`, and only after that `LoginAsync()`. Skip a step or reorder them and you get silent failures or cryptic errors.

Channel work gets its own section: group channels for party and lobby, an echo channel to test your own audio, and positional channels that drive 3D audio from a transform. Text messaging is split between channel broadcasts and direct messages, with a table of events to subscribe to before each call. One thing to keep in mind: `VivoxService.Instance` is a persistent singleton, so unsubscribe in `OnDestroy` and `OnDisable` — handlers on destroyed MonoBehaviours double-fire and throw NREs on scene reload.

Vivox 16 dropped the old `Client.Instance` and `ILoginSession` model, so code built on those calls will not compile. Older samples you find online need rewriting. Reference files for init, channels, events and troubleshooting are pulled in on demand.

## Requirements
- Works with: Unity

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/setup-vivox-voice-chat/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/setup-vivox-voice-chat/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/setup-vivox-voice-chat/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/setup-vivox-voice-chat/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install Unity-Technologies/skills setup-vivox-voice-chat
```

2. **Manually: put the files in place**
- File: `.github/skills/setup-vivox-voice-chat/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/Unity-Technologies/skills --path skills/setup-vivox-voice-chat
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/setup-vivox-voice-chat/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/Unity-Technologies/skills/tree/HEAD/skills/setup-vivox-voice-chat/SKILL.md

## When to use it
- stand up voice chat in a Unity project on Vivox
- handle microphone permissions on Android and iOS
- build positional audio that follows a player transform
- separate team, lobby and direct message channels
- subscribe to channel events and clean them up properly

## Example prompts
- wire up Vivox in this scene and sign in anonymously
- add a positional channel for the squad and a group channel for the lobby
- let players send direct messages to each other

## Similar
- [unity-game-developer](https://affpapa.org/en/nevibecode/agents/unity-game-developer.md) — subagent · 1122 installs
- [unity-csharp-scripting](https://affpapa.org/en/nevibecode/skills/unity-csharp-scripting.md) — skill · 5900 installs
- [unity-animation](https://affpapa.org/en/nevibecode/skills/unity-animation.md) — skill · 5800 installs
- [unity](https://affpapa.org/en/nevibecode/skills/unity.md) — skill · 908 installs
- [unity-cursor-ai-c-cursorrules-prompt-file](https://affpapa.org/en/nevibecode/rules/unity-cursor-ai-c-cursorrules-prompt-file.md) — rule · ★ 41011
- [reverse-engineering](https://affpapa.org/en/nevibecode/skills/rehan-remade-reverse-engineering.md) — skill · 1600 installs

From the same set: [unity-technologies/skills](https://affpapa.org/en/nevibecode/by/unity-technologies/skills.md) — 31 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
