C++ Reference
Reference for ObjectiveWaypointSystem module (v1.6). Properties verified via Unreal MCP and plugin headers.
Class diagram
Section titled “Class diagram”flowchart TB UActorComponent[UActorComponent] WaypointComponent["UWaypointComponent<br/>FilterByClass · TickMethod · TickTime · NavigationMode · SpawnTypeMethod · MeshDistance<br/>FindPathToActor() · FindPathToLocation() · FindPathToComponent() · SetSplineComponent()"] AActor[AActor] WaypointActor["AWaypointActor<br/>Mesh · UpdateLocationAndRotation()"] Subsystem["UWaypointWorldSubsystem<br/>actor pools"] Character["AWaypointCharacter<br/>WaypointComponent"] UActorComponent -.->|extends| WaypointComponent AActor -.->|extends| WaypointActor WaypointComponent -->|Spawn Actor mode| WaypointActor WaypointComponent -->|pool| Subsystem Character -->|owns| WaypointComponent
EWaypointNavMode
Section titled “EWaypointNavMode”| Value | Visual |
|---|---|
| Spawn | Instanced meshes or AWaypointActor along path |
| Spline | SplineMeshComponents along path |
Blueprint package uses ENavMode with equivalent Spawn / SplineMesh names.
EWaypointComponentSpawnMethod (Spawn mode only)
Section titled “EWaypointComponentSpawnMethod (Spawn mode only)”| Value | Description |
|---|---|
| Instanced | UHierarchicalInstancedStaticMeshComponent — high performance |
| Actor | Pooled AWaypointActor instances — customizable per marker |
EWaypointComponentTickMethod
Section titled “EWaypointComponentTickMethod”| Value | Property used |
|---|---|
| Time | Tick Time (seconds) |
| Frame | Tick Frame (frame count) |
EWaypointComponentCollisionMethod
Section titled “EWaypointComponentCollisionMethod”Used when snapping markers to ground (WaypointComponentTrace category).
| Value | Description |
|---|---|
| Object | Object-type trace set (Object Types) |
| Trace | Line trace on Collision Channel |
UWaypointComponent — properties
Section titled “UWaypointComponent — properties”| Property | Type | Description |
|---|---|---|
| Filter By Class | Nav filter class | Restrict path to nav area |
| Tick Method | Enum | Time vs frame refresh |
| Tick Time | Float | Auto re-path interval (seconds) |
| Tick Frame | Integer | Auto re-path every N frames |
| Z Offset | Float | Vertical offset for markers / spline |
| Navigation Mode | EWaypointNavMode | Spawn vs Spline |
| Spawn Type Method | Enum | Instanced vs Actor (Spawn mode) |
| Waypoint Mesh | Static Mesh | Instanced spawn mesh |
| Override Material | Material | Instanced mesh material |
| Waypoint Actor Class | Class | AWaypointActor subclass (Actor mode) |
| Max Number Of Meshes | Int 1–255 | Cap for Actor spawn mode |
| b Destroy Pool When Deactivated | Bool | Destroy vs hide pooled actors |
| b Auto Calculate Mesh Distance | Bool | Derive spacing from mesh bounds |
| Mesh Distance | Float | Manual spacing (Spawn mode) |
| Spline Mesh | Static Mesh | Spline mode mesh |
| Spline Mesh Scale | Float | Spline segment scale |
| Spline Component | Transient | Optional pawn spline reference |
| Spline Mesh Components | Transient array | Active spline segments |
| b Enable Debug Visualization | Bool | Debug draw for traces |
| b Show Debug Hit Actor Name | Bool | Label trace hits |
| Collision Type | Enum | Object vs channel trace |
| Trace Offset | Vector2D | Start/end trace offsets |
UWaypointComponent — BlueprintCallable
Section titled “UWaypointComponent — BlueprintCallable”| Function | Description |
|---|---|
| Find Path to Actor | Path to AActor goal |
| Find Path to Component | Path to USceneComponent |
| Find Path to Location | Path to FVector |
| Set Spline Component | Register pawn spline for spline mode |
BlueprintImplementableEvent hooks
Section titled “BlueprintImplementableEvent hooks”| Event | Purpose |
|---|---|
| On Find Path To Actor | Pre-hook when targeting actor |
| On Find Path To Component | Pre-hook for component target |
| On Find Path To Location | Pre-hook for location target |
| On Finish Path Finding | Cleanup / UI update |
| On Path Finding Spline | Return true to skip built-in spline mesh creation and supply custom Spline Mesh Components |
AWaypointActor
Section titled “AWaypointActor”| Property / method | Description |
|---|---|
| Mesh | Static mesh for marker |
| Update Location And Rotation | Snap to path transform |
| Trace Object For Location | Static ground snap (object types) |
| Trace Channel For Location | Static ground snap (channel) |
Subclass AWaypointActor and assign on Waypoint Actor Class for custom marker Blueprints in C++ spawn mode.
UWaypointWorldSubsystem
Section titled “UWaypointWorldSubsystem”Internal pooling for Spawn Type Method = Actor. Not Blueprint-exposed; manages reuse of AWaypointActor per component key.
Preset examples
Section titled “Preset examples”| Preset | Settings | Best for |
|---|---|---|
| Open world | Instanced, Mesh Distance 400 | Performance |
| Quest arrows | Actor mode, custom AWaypointActor child | Gameplay markers |
| Ground tube | Spline mode + Spline Mesh | Continuous trail |
| Moving target | Tick Method Time, Tick Time 0.25 | NPC escort |
| Indoor | Mesh Distance 120, lower max meshes | Tight nav |
Module
Section titled “Module”PrivateDependencyModuleNames.AddRange(new string[] { "ObjectiveWaypointSystem" });#include "WaypointComponent.h"#include "WaypointActor.h"Blueprint vs C++ mapping
Section titled “Blueprint vs C++ mapping”| Blueprint (FAB package) | C++ plugin |
|---|---|
| BP_WaypointComponent | UWaypointComponent |
| BP_WaypointActor | AWaypointActor |
| ENavMode Spawn | EWaypointNavMode::Spawn |
| ENavMode SplineMesh | EWaypointNavMode::Spline |
| BPI_Waypoint | On Path Finding Spline event + Spline Mesh Components |