Objective Waypoint System (Blueprints)
Objective Waypoint System (Blueprints) is a migrate-in asset package that draws the shortest navigable path from your player to a target actor or world location. Add BP_WaypointComponent to your pawn, call Find Path to Actor or Find Path to Location, and choose between spawned arrow markers or a spline mesh trail.
The FAB project ships a third-person demo (Overview map) with minimap, objective marker, and keyboard-driven pathfinding examples under Content/ObjectiveWaypointSystem/.
Architecture
Section titled “Architecture”flowchart TB
subgraph pawn [Player pawn]
WC[BP_WaypointComponent]
Spline[SplineComponent on pawn]
end
subgraph targets [World]
OA[BP_ObjectiveActor]
Nav[Nav Mesh]
end
subgraph visuals [Path visuals]
WA[BP_WaypointActor spawned markers]
SM[SplineMesh segments]
end
WC -->|Find Path to Actor| OA
WC -->|Find Path to Location| Nav
Nav --> WC
WC -->|ENavMode Spawn| WA
WC -->|ENavMode SplineMesh| SM
Spline --> WC
HUD[WBP_PlayerHUD] --> OA
Mini[WBP_MinimapWidget] --> WC
What is included
Section titled “What is included”| Area | Path | Purpose |
|---|---|---|
| Demo map | Map/Overview | Playable third-person level with sample objectives |
| Waypoint component | Blueprints/BP_WaypointComponent | Nav path query + spawn/spline rendering — migrate this asset |
| Waypoint actor | Blueprints/BP_WaypointActor | Arrow mesh placed along the path (Spawn mode) |
| Objective actor | Blueprints/BP_ObjectiveActor | Billboard objective marker in the level |
| Interface | Blueprints/BPI_Waypoint | Spline mesh hooks for pawns that implement the interface |
| Navigation mode enum | Blueprints/Misc/ENavMode | Spawn vs SplineMesh |
| Example character | ThirdPersonBP/Blueprints/ThirdPersonCharacter | Reference integration with input and HUD |
| Player HUD | Blueprints/Misc/WBP_PlayerHUD | Objective visibility toggle + minimap host |
| Minimap widget | Blueprints/Minimap/WBP_MinimapWidget | Click-to-set location pathfinding |
| Arrow mesh / material | Meshes/SM_Waypoint_Arrow, Materials/M_Waypoint | Default waypoint visuals |
| Guided tutorial | ObjectiveWaypointTutorial | In-editor walkthrough asset |
Pathfinding flow
Section titled “Pathfinding flow”sequenceDiagram
participant Game as Your game logic
participant WC as BP_WaypointComponent
participant Nav as NavigationSystem
participant Vis as Waypoint visuals
Game->>WC: Find Path to Actor / Location
WC->>WC: Internal_StartPathFinding
alt Goal actor set
WC->>WC: Internal_StartFindingPathToActor
else Location only
WC->>WC: Internal_StartFindingPathToLocation
end
WC->>Nav: Project path to nav mesh
alt NavMode Spawn
WC->>Vis: Internal_PathFinding_SpawnMode
Vis-->>WC: BP_WaypointActor chain
else NavMode SplineMesh
WC->>Vis: Internal_PathFinding_SplineMode
Vis-->>WC: SplineMesh components
end
WC->>Vis: RefreshCachedActors / UpdateLocation
- Add component — attach BP_WaypointComponent to your player character or pawn.
- Configure — set Nav Mode, mesh spacing, and optional Tick Time for auto-refresh.
- Set target — pass an Actor or Vector location plus an optional Spline Component (used for spline mesh mode on the pawn).
- Render — the component queries the nav mesh and spawns markers or builds spline segments along the path.
- Update — when Tick Time > 0, pathfinding re-runs on a timer; otherwise call again when the target moves.
Shipped defaults (quick reference)
Section titled “Shipped defaults (quick reference)”Values read from BP_WaypointComponent class defaults in the open FAB project (v1.8).
| Setting | Default | Notes |
|---|---|---|
| Nav Filter Class | None | Restrict pathfinding to a specific nav area class |
| Tick Time | 0 | Auto re-path every N seconds when > 0 |
| Nav Mode | Spawn | Alternative: SplineMesh |
| Max Number Of Meshes | 60 | Cap for Spawn mode (0 = unlimited, not recommended) |
| Mesh Distance | 250 | World units between spawned markers |
| Draw Debug Strings | false | Label spawned actors when enabled |
| Enable Waypoint | true | Master toggle via Set Enable Waypoint |
Guides
Section titled “Guides”| Page | Description |
|---|---|
| Getting started | Migrate the component, add it to your pawn, first path call |
| Overview | Step-by-step integration and customization with examples |
| Blueprint reference | Components, enums, functions, and interface |
| Video tutorial | YouTube walkthrough for migration and setup |