Skip to content

Blueprint Reference

Reference for Blueprint assets under Content/ObjectiveWaypointSystem/. Property names, enum values, and class defaults were read from the FAB project (v1.8) via Unreal MCP.

flowchart TB
  Character["ThirdPersonCharacter<br/>ObjectiveActor · ObjectiveLocation<br/>FindPathToActor() · FindPathToLocation()"]
  Component["BP_WaypointComponent<br/>NavFilterClass · TickTime · NavMode ENavMode · MaxNumberOfMeshes · MeshDistance · bEnableWaypoint<br/>FindPathToActor() · FindPathToLocation() · SetEnableWaypoint() · GetGoalActor()"]
  WaypointActor["BP_WaypointActor<br/>GoalLocation Vector · UpdateLocationAndRotation()"]
  ObjectiveActor["BP_ObjectiveActor<br/>SphereComponent · MaterialBillboard"]
  Interface["«Interface» BPI_Waypoint<br/>AddWaypointSplineComponent() · RemoveSplineMeshes()"]

  Character -->|owns| Component
  Character -->|targets| ObjectiveActor
  Character -.->|implements| Interface
  Component -->|spawns Spawn mode| WaypointActor
  Component -->|spline hooks| Interface

Stored on BP_WaypointComponent → Nav Mode. Controls how the path is drawn after a successful nav query.

ValueBehaviour
SpawnSpawn BP_WaypointActor instances along the path at Mesh Distance intervals (up to Max Number Of Meshes).
SplineMeshBuild SplineMesh segments along the path using the pawn’s Spline Component and BPI_Waypoint hooks.

Default: Spawn.

Actor component — add to your player Character or Pawn. Parent class: Actor Component.

ComponentVariablePurpose
Spline ComponentSplineCompInternal spline used for path sampling and spline mesh mode
PropertyTypeDefaultDescription
Nav Filter ClassNavigation Query FilterNoneRestrict pathfinding to selected nav class
Tick TimeFloat0Auto re-path every N seconds when > 0
Nav ModeENavModeSpawnSpawn markers vs spline mesh trail
Max Number Of MeshesInteger60Spawn mode cap (0 = uncapped, not recommended)
Mesh DistanceFloat250World units between spawned markers
Draw Debug StringsBooleanfalseDebug labels on spawned actors
Enable WaypointBooleantrueMaster visibility / processing toggle
Goal ActorActorRuntime target set during pathfinding
Goal LocationVectorRuntime target location
Spawned MeshesArray of BP_WaypointActorActive marker pool
Added Spline Mesh ComponentsArray of Spline MeshActive spline segments
Event / functionParametersDescription
Find Path to ActorActor, Spline ComponentStart pathfinding to a world actor. Stores Goal Actor and routes through Internal_StartPathFinding.
Find Path to LocationVector location, Spline ComponentStart pathfinding to a world position. Clears actor goal and uses Goal Location.
Set Enable WaypointBooleanEnable or disable waypoint rendering and updates
Is Waypoint Enabled— (returns Boolean)Read Enable Waypoint state
Get Goal Actor— (returns Actor)Returns current Goal Actor reference
FunctionPurpose
Internal_StartPathFindingBranch: valid Goal Actor → actor path, else → location path
Internal_StartFindingPathToActorQuery nav path to actor; start timer if Tick Time > 0
Internal_StartFindingPathToLocationQuery nav path to vector location
Internal_PathFinding_SpawnModeSpawn / reposition BP_WaypointActor along path points
Internal_PathFinding_SplineModeCreate or update spline mesh segments
Internal_TryStartTimerSchedule repeating path refresh from Tick Time
Internal_RemoveSplineMeshesClean up spline mesh components
GetSpawnLocAndRotCompute spawn transform along nav segment
ClearOutCachedActorsDestroy pooled waypoint actors
UpdateLocationOfCachedActorsMove existing markers when target shifts
RefreshCachedActorsReconcile spawn pool size with path length

Spawned marker actor for Spawn navigation mode. Uses SM_Waypoint_Arrow and M_Waypoint by default. Rotates to match surface normal (v1.8).

PropertyTypePurpose
Goal LocationVectorTarget point this marker indicates
FunctionPurpose
Update Location And RotationSnap marker to path point with surface-aligned rotation

Placed in the level as a visible quest objective. Used by the demo ThirdPersonCharacter when no explicit Objective Actor is set.

ComponentPurpose
Sphere ComponentOverlap / selection volume
Material BillboardT_Objective billboard sprite
SceneRoot transform

Blueprint interface implemented by pawns that use SplineMesh navigation mode.

FunctionDescription
Add Waypoint Spline ComponentRegister a spline mesh segment on the pawn
Remove Spline MeshesClear all spline mesh segments from the pawn

ThirdPersonCharacter implements this interface and forwards calls from BP_WaypointComponent.

Example integration — ThirdPersonCharacter

Section titled “Example integration — ThirdPersonCharacter”

Reference character under ThirdPersonBP/Blueprints/. Not required for migration — study it for wiring patterns.

VariablePurpose
Objective ActorCurrent quest target; falls back to first BP_ObjectiveActor in level
Objective LocationWorld location for location-based pathfinding (minimap)
Player HUDReference to WBP_PlayerHUD
bIsFindingPathToActorTracks whether last query targeted an actor vs location
FunctionDescription
Find Path to ActorValidates objective, sets bIsFindingPathToActor, calls component Find Path to Actor, toggles HUD objective visibility
Find Path to LocationUses Objective Location, calls component Find Path to Location, opens tick gate for continuous updates
Position Objective MarkerProjects objective to screen space for HUD
Add New Spline Component / Add Waypoint Spline ComponentBPI_Waypoint implementation
Finish PathfindingCleanup when path completes or is cancelled
FunctionDescription
Toggle Objective VisibilityShow/hide objective billboard on HUD
Get Minimap WidgetReturns embedded WBP_MinimapWidget
FunctionDescription
Minimap Clicked / On Minimap ClickedConvert click to world location → trigger location pathfinding
Minimap Location To World LocationUV → world coordinate conversion
Update Map MaterialRefresh render target material
ItemLocation
Content rootContent/ObjectiveWaypointSystem/
Demo mapMap/Overview
Migrate targetBlueprints/BP_WaypointComponent
Waypoint meshMeshes/SM_Waypoint_Arrow
Waypoint materialMaterials/M_Waypoint
Nav mode enumBlueprints/Misc/ENavMode
Example pawnThirdPersonBP/Blueprints/ThirdPersonCharacter

Quick tuning starting points for BP_WaypointComponent class defaults:

PresetSettingsBest for
Dense trailMesh Distance 150, Max Number Of Meshes 80Short indoor levels
PerformanceMesh Distance 400, Max Number Of Meshes 30Open worlds
Auto refreshTick Time 0.5Moving targets
Spline highlightNav Mode SplineMesh + pawn implements BPI_WaypointContinuous ground trail
Debug layoutDraw Debug Strings trueTuning spawn spacing