> 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/character-movement/move-a-character-to-an-object.md).

# Move a character to an object

Wire the Convai Move To node so an AI-controlled character walks to an actor, a component, or an authored movement point in your level.

Use the `Convai Move To` node to send an AI-controlled character to a whole actor, a specific component, or one of its authored movement points. This page wires the node end to end and confirms the character arrives.

### Prerequisites

* The character's pawn is controlled by an **AI Controller**.
* The pawn has a movement component (for example `CharacterMovementComponent`).
* The AI Controller has a path-following component.
* The level has NavMesh coverage over the area the character walks through — add a **Nav Mesh Bounds Volume** if it does not.
* The destination actor is registered — either it carries a `Convai Object Component`, or you have an `Actor` reference to pass directly.

{% hint style="info" %}
`Convai Move To` reports a specific result code for each missing prerequisite above — `Missing AI Controller`, `Missing Movement Component`, `Missing Path Following Component`, and `Missing Navigation Data`. See [Troubleshoot character movement](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/character-movement/troubleshoot-character-movement.md) if a move fails.
{% endhint %}

### Add the Convai Move To node

{% stepper %}
{% step %}

#### Add the node

In the character's Blueprint graph (or wherever the move should be triggered), right-click and search for `Convai Move To`. Add the node — it belongs to category `Convai|Movement`.
{% endstep %}

{% step %}

#### Set Moving Actor

Wire the character to move into **Moving Actor**. This must be a pawn that meets the prerequisites above.
{% endstep %}

{% step %}

#### Build the Destination

**Destination** takes an `FConvaiObjectEntry`. Break out or construct the entry and set:

* **Ref** — the actor to move to.
* **Object Is** (`ObjectReference`) — `Whole Actor` to walk toward the actor as a whole, or `Specific Component` to target one named component (set **Component Name**, and optionally **Socket Or Bone Name**).

If the target actor's `Convai Object Component` has enabled movement points, they take over destination resolution automatically — the character walks to the nearest reachable point instead of the object reference. See [Author movement points](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/character-movement/author-movement-points.md).
{% endstep %}

{% step %}

#### Handle Succeeded and Failed

Wire both exec outputs:

* **Succeeded** fires when **Result Code** is `Reached` or `Already At Destination`.
* **Failed** fires for every other result code.

Both pins expose **Result Code** and **Additional Note**. `Additional Note` is safe to speak to the player or feed into the character's context.
{% endstep %}
{% endstepper %}

Leave **Lock AI Logic** (advanced display) at its default `false` unless this move is part of a compound behavior that needs to fully own the character's movement — locking it can stop an existing Behavior Tree from running.

### Verify the move

Enter Play mode and trigger the `Convai Move To` call. The character should walk to the resolved destination and fire **Succeeded** with **Result Code** `Reached`. If the character was already standing at the destination, **Succeeded** fires immediately with `Already At Destination` and no movement occurs.

{% hint style="success" %}
To confirm exactly what destination the character resolved and whether it was reachable, open the [Convai Debug Overlay](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/troubleshooting/convai-debug-overlay.md) and check the **SURROUNDINGS** panel for the target object's entry.
{% endhint %}

### Next steps

{% content-ref url="/pages/mGRLilFIddXhgr0Ex5tD" %}
[Escort a character](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/character-movement/escort-a-character.md)
{% endcontent-ref %}

{% content-ref url="/pages/DjBdd6NujGavcIgzBBWC" %}
[Movement Blueprint reference](/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/character-movement/movement-blueprint-reference.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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.convai.com/api-docs/plugins-and-integrations/convai-unreal-engine-plugin/features/character-movement/move-a-character-to-an-object.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
