# 09 FAQ

Quick answers to common questions.

## General

<details>

<summary>Do I need C++?</summary>

No. Everything is exposed to Blueprint.

</details>

<details>

<summary>Does it replace NavMesh?</summary>

No, it complements it. OWP picks the high-level route (which road to take); NavMesh handles obstacle avoidance between waypoints.

</details>

<details>

<summary>Does it work for player movement?</summary>

It's designed for AI. The player should use standard movement components. You can still query OWP from player code (e.g. "snap me to the nearest road").

</details>

<details>

<summary>Does it work for crowds?</summary>

It has traffic capacity and congestion costs, but it's not a full crowd simulation. Combine with Mass Entity or RVO for dense crowds.

</details>

## Setup

<details>

<summary>Do I need a NavMesh?</summary>

Yes, in most cases. OWP uses NavMesh between waypoints. Without one, AI may stall or teleport.

</details>

<details>

<summary>The plugin doesn't appear after enabling it.</summary>

Restart the editor. Then check the \*\*Output Log\*\* for module load errors.

</details>

<details>

<summary>Custom Blueprint subclasses don't show in Place Actors.</summary>

That's expected. Use the \*\*Spawn Classes\*\* picker in the OWP toolkit so all editor tools instantiate your subclass.

</details>

## Pathfinding

<details>

<summary>My AI takes a weird route.</summary>

Check the Path Result's \`Query Result\`. Use the \*\*Inspect\*\* tool to see each path's settings. Conditions and zones modify cost — they may be steering A\* away from the route you expected.

</details>

<details>

<summary>AI says path is <code>Unreachable</code>.</summary>

Start and goal are on different connected components. Use \*\*Validator\*\* to find them, \*\*Merge Networks\*\* to bridge.

</details>

<details>

<summary>Pathfinding is slow.</summary>

Profile your conditions. They're called per A\\\* edge expansion — heavy logic dominates. Cache state.

</details>

## AI Movement

<details>

<summary>AI ignores Path Width.</summary>

Path Width is a runtime effect. Make sure the path's Path Width is > 0 and Step Distance is reasonable (around \`Path Width × 1.5\` minimum).

</details>

<details>

<summary>AI gets stuck near a node.</summary>

Acceptance Radius is too small. Bump it to 150–300.

</details>

<details>

<summary>Behavior Tree task fails.</summary>

Check the blackboard keys are set. The Actor key has priority over the Location key.

</details>

<details>

<summary>Cancel the async action — how?</summary>

Save the returned async object as a variable. Call \*\*Cancel\*\* on it.

</details>

## Conditions / Events / Zones

<details>

<summary>Condition's Can Pass = false but AI still uses the path.</summary>

Make sure the condition is on the path (not just on a nearby node). Conditions on the destination node also matter — both are evaluated.

</details>

<details>

<summary>Event fires multiple times for the same AI.</summary>

Set \*\*Repeatable\*\* = false on the event for one-shot behavior.

</details>

<details>

<summary>Zone affects AI from the wrong faction.</summary>

Set \*\*Affected Tags\*\* on the zone — only travelers with matching tags are affected.

</details>

## Save / Load

<details>

<summary>Loaded network is missing nodes I spawned.</summary>

Make sure you passed an explicit name when calling \*\*Spawn Node\*\*. Auto-generated names aren't stable across sessions.

</details>

<details>

<summary>Conditions / Events disappeared after load.</summary>

That's expected. Conditions and Events are stored in the level, not the snapshot. The snapshot only restores actor state (location, radius, enabled, multipliers).

</details>

## Performance

<details>

<summary>Editor feels slow with a large network.</summary>

Use \*\*Debug Vis\*\* to lower draw distance, or toggle \*\*Draw debug\*\* off entirely while working on unrelated parts of the level.

</details>

<details>

<summary>Runtime feels slow.</summary>

Don't call Find Path from Tick. Cache the result. Profile conditions and zones. Consider larger Step Distance for vehicles.

</details>

## Fab / Marketplace

<details>

<summary>Can I redistribute / modify the source?</summary>

Per the Fab license, yes — for use in your own projects. Don't redistribute the plugin source itself.

</details>

<details>

<summary>Where do I report bugs?</summary>

Use the support URL listed on the Fab page (or in the plugin's \`.uplugin\` file).

</details>


---

# Agent Instructions: 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:

```
GET https://onesteppack.gitbook.io/openworldnavigation-doc/09-faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
