setup-vivox-voice-chat — Claude Code skill for Unity voice chat
A skill that walks an agent through adding Unity Vivox voice and text chat: init, login, channels, messages.
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a claude-codeWhat setup-vivox-voice-chat 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.
What it helps with
- 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 for the agent
- 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
How to install setup-vivox-voice-chat
1Skills CLI (Vercel)
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a claude-code2Manually: put the files in place
~/.claude/skills/setup-vivox-voice-chat/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/setup-vivox-voice-chat/
1Skills CLI (Vercel)
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a codex2Manually: put the files in place
.agents/skills/setup-vivox-voice-chat/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a cursor2Manually: put the files in place
.cursor/skills/setup-vivox-voice-chat/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Unity-Technologies/skills setup-vivox-voice-chat2Manually: put the files in place
.github/skills/setup-vivox-voice-chat/SKILL.md1Skills CLI (Vercel)
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a gemini-cli2Platform CLI
gemini skills install https://github.com/Unity-Technologies/skills --path skills/setup-vivox-voice-chatManually: put the files in place
.devin/skills/setup-vivox-voice-chat/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about setup-vivox-voice-chat
How do I install setup-vivox-voice-chat in Claude?
Run npx skills add Unity-Technologies/skills --skill setup-vivox-voice-chat -a claude-code. The skill file lands at ~/.claude/skills/setup-vivox-voice-chat/SKILL.md.
What does setup-vivox-voice-chat do?
It guides an agent through adding and configuring Unity Vivox voice and text chat: initialization, login, channels, messaging and event handling.
How is Vivox 16 different from the older version?
Version 16 replaced Client.Instance and ILoginSession with a single static entry point, VivoxService.Instance. Calls like AccountId and ChannelId no longer work.