> For the complete documentation index, see [llms.txt](https://docs.convai.com/api-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.convai.com/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/vision/vision-quick-start.md).

# Vision quick start

Add scene vision to a Convai character Blueprint and verify that captured frames affect the character's response in Play In Editor.

We will add an **Environment Webcam** component to an existing Convai character, assign a render target, and start capture from **Event BeginPlay**. At the end, the character should respond to something visible in front of the capture component during Play In Editor.

### Prerequisites

* The Convai Unreal Engine plugin version <code class="expression">space.vars.unreal\_plugin\_version</code> is installed and enabled. See [Install the plugin](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/getting-started/install-the-convai-plugin.md) if needed.
* Your API key is configured. See [Configure the API key](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/getting-started/configure-your-api-key.md).
* Your level has a character with a **Convai Chatbot** component (`UConvaiChatbotComponent`) and a valid `CharacterID`. See [Add your first Convai character](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/getting-started/add-your-first-convai-character.md) if you have not completed that setup.
* A **Convai Player** component (`UConvaiPlayerComponent`) is present so you can start a conversation in Play In Editor.

{% hint style="info" %}
Vision uses scene capture from the character's viewpoint, not a physical device webcam. The shipped component is **Environment Webcam** (`UEnvironmentWebcam`).
{% endhint %}

{% stepper %}
{% step %}

#### Open the character Blueprint

In the **Content Browser**, double-click the Blueprint for your Convai character to open the Blueprint Editor.
{% endstep %}

{% step %}

#### Add the Environment Webcam component

In the **Components** panel, click **Add** and search for `EnvironmentWebcam`. Select **Environment Webcam** to add it to the same `Actor` as the **Convai Chatbot** component.
{% endstep %}

{% step %}

#### Position the component

In the **Viewport**, select **Environment Webcam**. Move it near the character's eyes and rotate it so its `+X` axis faces the part of the level the character should see.
{% endstep %}

{% step %}

#### Create a render target asset

In the **Content Browser**, right-click in an empty area, open the **Convai** submenu, and choose **Vision Render Target** (the context menu label in the current plugin build). Name the asset, for example `RT_ConvaiVision`, and save it.

The Convai render target action creates a `UTextureRenderTarget2D` with `RTF_RGBA8`, a black clear color, and a default size of `512 x 512`.
{% endstep %}

{% step %}

#### Assign the render target

Select **Environment Webcam** in the character Blueprint. In the **Details** panel, assign the asset to **Convai Render Target** under **Convai | Vision**.
{% endstep %}

{% step %}

#### Start capture from BeginPlay

Open the **Event Graph**. Drag **Environment Webcam** from the **Components** panel into the graph. From the component pin, call **Start** (category **Convai | Vision**). Connect **Event BeginPlay** to **Start**.
{% endstep %}

{% step %}

#### Compile and save

Click **Compile**, then **Save** the Blueprint.
{% endstep %}
{% endstepper %}

### Verify vision is working

Place a distinct object in front of **Environment Webcam**. Enter Play In Editor, start a conversation, and ask about that object, such as its color or location.

Check these signals in order:

1. On the **Convai Chatbot** component, call **Supports Vision**. It should return `true`.
2. On **Environment Webcam**, call **Get State**. It should return `Capturing`.
3. Open the render target asset in the **Content Browser** while Play In Editor is running. The preview should show scene content, not a blank image.
4. In the **Output Log**, look for `SendImage: Sending raw image` from `ConvaiChatbotComponentLog`.

{% hint style="success" %}
**Vision is working** when **Supports Vision** returns `true`, **Get State** returns `Capturing`, the render target preview updates during Play In Editor, and the character's response references the visible object.
{% endhint %}

If any check fails, see [Troubleshoot vision](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/vision/troubleshoot-vision.md).

### Next steps

{% content-ref url="/pages/1zs9olIHfeqwXONkvpVT" %}
[Vision frame sources](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/vision/vision-frame-sources.md)
{% endcontent-ref %}

{% content-ref url="/pages/jR121aXRSrtaarm2aad5" %}
[Vision usage examples](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/vision/vision-usage-examples.md)
{% endcontent-ref %}

{% content-ref url="/pages/RNP7gLRl8F8AfVtFryly" %}
[How vision works](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/vision/how-vision-works.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.convai.com/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/vision/vision-quick-start.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
