Quick Start
The fastest path to a working Vision setup. Add a frame source and publisher from the Inspector, verify the stream, and understand what happens at runtime.
Your First Vision Setup
This guide walks you through the minimum steps needed to get a Convai character receiving a live camera feed from your Unity scene. The SDK can add the required components for you automatically — follow the primary path below, or use the manual path if you dismissed the prompt or need a custom placement.
Prerequisites
A Unity scene with a
ConvaiCharactercomponent already set up and working (the character should respond to speech).Your Convai API key is configured in Tools → Convai → Configuration.
Set the Connection Type to Video
Select the ConvaiRoomManager GameObject in the Hierarchy. In the Inspector, set Connection Type to Video.

A dialog appears immediately:
Convai Vision Setup Connection Type is set to Video, but required vision components are missing. Add
ConvaiVisionPublisherandCameraVisionFrameSourceunder this ConvaiRoomManager?
Click Add Components.

The SDK creates a child GameObject named ConvaiVisionRoot under ConvaiRoomManager and adds both ConvaiVisionPublisher and CameraVisionFrameSource to it. No further component setup is required.
If you clicked Later and need to add the components manually, see Manual Component Setup below.
Assign a Camera (if not using Camera.main)
Select the ConvaiVisionRoot GameObject (under ConvaiRoomManager). On the CameraVisionFrameSource component, locate the Target Camera field.
If your scene has a
Cameratagged MainCamera, leave the field blank — the component resolves it automatically at runtime.If you want to capture a specific camera (an overhead view, a security camera, etc.), drag that camera into the Target Camera field now.

The default Capture Preset is Balanced (1280 × 720 at 15 fps), which suits most use cases.
Add Vision Debug Preview and Verify
On any scene GameObject, click Add Component → Convai/Vision/Vision Debug Preview (Editor Only).

Press Play. An overlay appears in the Game view showing the live camera feed and a statistics panel. Once the room connects, the FPS counter increments and the frame count begins increasing — the character is now receiving visual context.

Success check
The Debug Preview overlay shows a live image and a non-zero FPS counter. Reading ConvaiVisionPublisher.IsPublishing from any script returns true.
If the overlay stays blank or the FPS counter reads zero, verify that ConvaiRoomManager.Connection Type is set to Video and that the room has fully connected. See Troubleshooting for a step-by-step diagnosis.
Manual Component Setup
If you clicked Later on the dialog, or want to place the components on a specific GameObject, add them manually:
Select the target GameObject (any persistent scene object — typically on or near your NPC).
Add Component → search for Convai Vision Publisher.
On the same GameObject (or a child), Add Component → Convai/Vision/Camera Vision Frame Source.
Assign the Target Camera if not using
Camera.main.Leave the Frame Source Component field on
ConvaiVisionPublisherblank — the publisher discoversCameraVisionFrameSourceon the same GameObject at runtime. Assign it explicitly only if you have multiple frame sources in the scene.

What Just Happened
When you clicked Add Components and pressed Play, the following occurred:
The SDK created a ConvaiVisionRoot child GameObject under
ConvaiRoomManagerand addedConvaiVisionPublisherandCameraVisionFrameSourceto it.ConvaiRoomManagerestablished a Video connection to the Convai backend.ConvaiVisionPublisherdetected the active room and waited for the frame source to become ready.CameraVisionFrameSourcerendered the assigned camera (orCamera.main) into aRenderTextureand signalled that frames were available.VisionPublishCoordinatorapplied theAutoCompatiblepublish policy — 10 fps, 750 kbps — and passed the texture to the video pipeline.A video track named
"unity-scene"was published to the Convai backend.IsPublishingbecametrue.
From this point the character receives the live scene camera feed alongside the audio conversation, processed together.
What's Next
Frame Sources — Switch to a webcam source on desktop, configure mobile camera permissions, or set up Meta Quest passthrough.
Publishing & Policies — Tune frame rate and bitrate, or switch to Manual policy for explicit control over when publishing starts.
Debug Preview — Customise the overlay position, size, and statistics display.
Troubleshooting & Diagnostics — If anything is not working, start here.
Conclusion
You now have a working Vision setup. The SDK handles component placement and runtime wiring automatically — the character receives a live feed from your scene camera and can reason about what it sees. Explore the guides above to adapt this setup to your target platform and production requirements.
Last updated
Was this helpful?