Platform support matrix
Reference for Convai Unity SDK platform support, including feature availability across Windows, macOS, Android, iOS, Meta Quest, and WebGL.
The Convai Unity SDK runs on all major Unity deployment targets. Feature availability varies by platform — use the matrix below to confirm support before building for a specific target.
Feature × platform matrix
Voice conversation
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full
Microphone capture
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full — HTTPS + user gesture required
Remote audio playback
✅ Unity AudioSource
✅ Unity AudioSource
✅ Unity AudioSource
✅ Unity AudioSource
⚠️ Browser-routed
Lip sync
✅ Full
✅ Full
✅ Full
✅ Full
⚠️ Known timing drift
Spatial audio
✅ Full
✅ Full
✅ Full
✅ Full
❌ Not supported
Actions
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full
Emotion
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full
Long-Term Memory
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full
Narrative Design
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full
Dynamic Context
✅ Full
✅ Full
✅ Full
✅ Full
✅ Full
Vision — Camera
✅ Full
✅ Full
✅ Full
✅ Full
⚠️ Canvas capture
Vision — Webcam
✅ Full
⚠️ Runtime permission required
⚠️ NSCameraUsageDescription required
❌ Not applicable
❌ Not supported
Vision — Quest passthrough
❌ Not supported
❌ Not supported
❌ Not supported
✅ Full
❌ Not supported
Platform-specific requirements
WebGL is fully supported with the following constraints imposed by browser security policies:
Microphone capture requires HTTPS or
localhost. HTTP deployments cannot access the microphone. CallConvaiManager.EnableAudioAndStartListening()from a user gesture (button click) — do not start audio automatically on scene load.Remote audio playback is routed through the browser's audio system, not Unity's
AudioSource. Volume and spatialization controls onAudioSourcecomponents have no effect on WebGL.Vision — Camera uses browser canvas capture (
CameraVisionFrameSourceis supported).Vision — Webcam (
WebcamVisionFrameSource) is not supported on WebGL —AsyncGPUReadbackis unavailable in the browser runtime. UseCameraVisionFrameSourceto stream the game canvas instead.Spatial audio is not supported on WebGL.
WebGL has a known audio/lip-sync timing drift defect — audio and lip-sync data arrive correctly, but playback timing can drift in browser builds. This is a tracked defect, not a missing feature. Validate in your target browser before shipping.
Always validate WebGL builds in the actual hosting environment, especially if the build is embedded in an iframe. Add allow="microphone" to the iframe tag if you embed the build in a page you control.
For detailed WebGL setup, browser compatibility, and deployment steps, see the WebGL platform guide.
WebGLMicrophone: The SDK requests
RECORD_AUDIOpermission at runtime viaConvaiPermissionService. Declare the permission in yourAndroidManifest.xmland handle both grant and denial cases in your app flow.Vision — Webcam:
android.permission.CAMERAis requested at runtime byWebcamVisionFrameSource. Handle permission grant and denial in your app flow.
For Android build configuration, permission handling, and microphone setup, see the iOS and Android platform guide.
iOS and AndroidMicrophone:
NSMicrophoneUsageDescriptionmust be set in Player Settings → Other Settings → iOS → Microphone Usage Description. Omitting this causes a crash on first microphone access.Vision — Webcam:
NSCameraUsageDescriptionmust be set in Player Settings → Other Settings → iOS → Camera Usage Description if you useWebcamVisionFrameSource. On iOS,WebcamVisionFrameSourceaccesses the device camera via Unity'sWebCamTextureAPI.Define your app's behavior when the user denies microphone or camera permission, and when the app is interrupted or backgrounded during a conversation.
For iOS build configuration, permission setup, and Info.plist requirements, see the iOS and Android platform guide.
iOS and AndroidQuest passthrough vision (QuestVisionFrameSource) is supported on Quest 3 and Quest 3S only.
Requirements:
Meta XR SDK imported into your project
PassthroughCameraAccesscomponent present in the scene
The required passthrough camera permissions are declared automatically when Meta XR SDK is imported.
On other Quest hardware or non-Quest platforms, QuestVisionFrameSource produces no frames. Use CameraVisionFrameSource or WebcamVisionFrameSource instead.
WebcamVisionFrameSource is not applicable on Meta Quest because Quest does not expose a standard WebCamTexture device.
For Meta Quest project setup, XR SDK configuration, and passthrough Vision integration, see the XR headsets platform guide.
XR headsetsNext steps
With platform constraints confirmed, review the network requirements for real-time SDK operation.
Network and API requirementsLast updated
Was this helpful?