Vision
Find guides for adding real-time scene vision to Convai characters in Unity, including frame sources, publish policies, scripting, and troubleshooting.
Vision gives Convai characters the ability to see what is happening inside your Unity scene. A frame source captures images from a Unity camera, physical webcam, or Meta Quest passthrough feed, and the SDK streams them to Convai over WebRTC alongside the audio conversation.
Platform support
PC / Mac / Console
CameraVisionFrameSource, WebcamVisionFrameSource
Full RenderTexture pipeline; max 30 fps
Android / iOS
CameraVisionFrameSource, WebcamVisionFrameSource
Webcam source requests camera permission at startup
WebGL
(Canvas, automatic)
canvas.captureStream() path — no frame source component needed; frame rate capped at 15 fps; HTTPS required
Meta Quest 3 / 3S
QuestVisionFrameSource
Requires Meta XR SDK and horizonos.permission.HEADSET_CAMERA
WebGL: HTTPS required. The canvas.captureStream() API is blocked by browsers on non-HTTPS origins. http://localhost is the only exception. Deploy your WebGL build to an HTTPS host before testing Vision in production.
Dynamic vision context
Dynamic vision context lets Convai continuously sample the published video track into a rolling frame buffer and attach the freshest frames to a character's turns, instead of reacting to every frame as it arrives. It shares its respond-mode vocabulary with dynamic context: ConvaiRespondMode values Silent, Auto, and MustRespond decide whether new input speaks, whether the model decides, or whether it stays silent. See Dynamic context scripting API for the full ConvaiRespondMode reference.
Next steps
Start with Vision quick start to get a working stream from a scene camera, then use Vision frame sources to select the right capture method for your platform. For pipeline details, see How vision works.
Last updated
Was this helpful?