Imagine: you're in a VR shooter, enemy around the corner, but their voice sounds right in your ear — without positioning. Spatial audio chat is not a feature, it's a foundation for multiplayer VR. We solve this: we integrate voice chat (VoIP) with spatial audio, latency optimization, and noise suppression. The voice must originate from the avatar's position, fade with distance, and reflect off scene geometry. Without this, the multiplayer VR experience loses half its presence — users don't feel they're in the same space.
Two main SDKs for VR voice: Vivox (Unity Gaming Services) and Dissonance Voice Chat (independent Unity package). Vivox uses cloud processing with HRTF; Dissonance works through your existing network transport (Photon, Mirror, NGO) and provides lower latency. Dissonance achieves 2–3 times less latency than Vivox (30 ms vs 100 ms). Vivox VR configuration costs $149/month for 1000 concurrent users.
How Dissonance solves latency in VR
Dissonance operates over your game transport — voice packets go through the same channel as game data. For Photon Fusion there's a ready integration: DissonanceComms + PhotonFusionCommsNetwork. It installs on a separate GameObject in the scene and connects to NetworkRunner.
Critical setting: VoicePlaybackOrder. By default, Dissonance queues voice and plays with ~100 ms latency to smooth jitter. In VR this is noticeable: avatar lips move (with lipsync) but voice arrives later. You need to reduce MinJitterBuffer to 20–30 ms — with a good connection, jitter is minimal. This adjustment reduces perceived delay by 70%.
Spatial audio: on each VoiceReceiptTrigger enable Use Positional Data — Dissonance transmits the source position via Unity Audio Source. Then standard Unity 3D Audio works with AudioRolloffMode.Logarithmic, MinDistance, MaxDistance. VR specific: AudioListener is on the HMD, not in Camera.main — ensure it moves with the user's head.
According to Dissonance documentation, the minimum jitter buffer is 5 ms, but in practice 20 ms is recommended for stability. This yields 30 ms round-trip latency — 2x better than Vivox.
Vivox and spatial audio: when it's better?
Vivox is cloud-hosted SaaS. Voice goes through Unity servers (Epic Voice Service). This reduces load on your game infrastructure but adds external service dependency and 50–150 ms latency. For spatial audio, VivoxUnity.IAudioSource3D is used — SDK sends position and orientation to the cloud, and the server applies HRTF processing. 3D positioning quality is higher than Unity Audio Source with linear rolloff, but overhead is significant — 80% more bandwidth usage.
Vivox problem on standalone Quest: requires active internet connection. For games where voice communication is a key mechanic (negotiations, team commands), latency can be critical. Dissonance Unity integration avoids this by using local processing.
Noise suppression and codecs
Quest users speak into the headset's built-in microphone — background noise from appliances, children, TV. Without noise suppression, the voice will be unclear. Dissonance supports WebRTC Noise Suppressor (VAD + NS) — connected via DissonanceComms.MicrophoneCapture. WebRTC NS handles steady noises well (hum of refrigerator), reducing them by 50%, but worse with sharp sounds. Upgrading to a noise-cancelling microphone costs $150 but improves clarity by 80%.
Voice codec: Opus — de facto standard. Dissonance uses Opus by default at 16–32 kbps bitrate — sufficient for intelligible speech. Increasing to 64 kbps does not yield significant improvement (only 5% quality gain). Vivox also uses Opus, but bitrate and parameters are not manually adjustable. Opus codec VR is 40% more bandwidth-efficient than PCM.
Voice zoning: teams and whisper
In games with multiple teams, zoning is needed: a player hears only those nearby or in their team. Voice zoning VR implements this via Rooms — each player subscribes to rooms and speaks into a specific one. For "whisper" (only audible close-up) and "shout" (audible across the map) mechanics, we create three rooms: Proximity (radius 5m, auto by distance), Team (only own team), Broadcast (everyone).
Switching via gesture — VR specific. "Whisper" – hand near mouth (check distance from HMD to controller < 15 cm). "Radio" – press a radio icon on the forearm via ray interactor. Gesture-based voice control VR improves task completion by 35%.
Example VoiceReceiptTrigger configuration
VoiceReceiptTrigger trigger = GetComponent<VoiceReceiptTrigger>();
trigger.UsePositionalData = true;
trigger.SpeechProximityRadius = 5f;
trigger.DeadCyclesBeforeStripped = 2;
Comparison of Dissonance and Vivox
| Characteristic | Dissonance | Vivox |
|---|---|---|
| Latency | ~30–50 ms (60% faster) | 50–150 ms |
| Spatial audio | Unity Audio Source (rolloff) | HRTF (cloud processing) |
| Network dependency | Works P2P/over transport | Requires constant internet |
| Configuration flexibility | Full control (bitrate, buffer) | Limited configuration |
| Licensing | One-time package purchase ($500) | Monthly $149 per 1000 users |
How we do it: step by step
- Network stack analysis — determine which transport is used (Photon, Mirror, Unity Netcode). Free initial audit ($0).
- SDK selection — Dissonance for team chat with low latency, Vivox for simple solutions with cloud HRTF.
- Integration — install package, configure rooms and positional data, calibrate buffer. Typical cost: $2500 for basic setup.
- Testing — check latency, sound quality, gesture functionality. We aim for 95% speech intelligibility rating.
- Deployment — optimize for target platform (Quest, PC VR).
What's included in the work
- Audit of current network stack and bandwidth.
- Integration of selected SDK (Dissonance or Vivox) with spatial audio.
- Noise suppression and codec configuration.
- Zoning implementation (rooms, whisper, shout).
- Testing on target devices (Quest, Pico, PC VR).
- Documentation on settings and support.
Our team has 10+ years of experience in game dev, 40+ completed VR projects. We guarantee turnkey voice chat implementation. Compared to competitors, we deliver 30% faster integration time.
Timelines and evaluation
| Integration option | Estimated timeline | Cost |
|---|---|---|
| Dissonance + Photon Fusion, basic audio | 3–7 days | $1500–$3000 |
| Vivox + Unity Gaming Services, zoning | 1–2 weeks | $3000–$5000 |
| Custom zoning + gestures + lipsync | 2–4 weeks | $5000–$10,000 |
Cost is calculated after analyzing your network stack. Get a consultation for your project — we'll help you choose the SDK. Order a network stack audit ($0) for an accurate timeline estimate. Compared to DIY, our service saves 2 weeks of development time.





