Blueprint Reference
A reference for the main blueprints you'll touch as a designer — what each one is, its most important instance-editable properties, and the functions worth knowing. It deliberately skips internal helpers; for why the pieces fit together see How It Works.
This page covers the headline properties. In-editor, hover any variable for its full description and tuning guidance — the tooltips are the exhaustive reference.
Navigation
BP_DroneNavManager
Actor — place exactly one per level. Owns the navigation graph and answers path queries.
Key Properties
| Property | Type | Description |
|---|---|---|
| NavConfig | DroneNavConfig | The tuning preset to stamp onto the manager + volumes. Assign a DA_NavConfig_* and apply it (see below). |
| MaxConnectionDistance | Float (400) | Longest edge the graph will link between two nodes. Must satisfy ≥ GridSpacing × 1.732 — see Tuning. |
| TraceRadius | Float (105) | Clearance an edge needs to be valid = drone radius + ~30 corner margin. Keep equal to the volume's NodeClearanceRadius. |
| ObstacleTraceChannel | Trace Channel (Visibility) | The channel used for all clearance/LOS traces. The drone must be transparent to it — see Collision Setup. |
| UsePathSimplification? / UsePathSmoothing? | Boolean | Post-process the raw A* path (string-pull + corner-cut). On by default. |
| DrawCalculatedPath? | Boolean | Runtime: draw every computed path (yellow line, green start, red goal). See Debugging. |
| DrawNearestNodeSearch? | Boolean | Visualise the start/goal node snap — useful for edge-of-volume "Path Not Found". |
| DrawDebug | Boolean | Draw node locations at runtime. Off for shipping. |
Key Functions
| Function | When | Description |
|---|---|---|
| Bake Navigation | Editor button | Builds the graph from your volumes and writes it into the data asset. Run after any geometry/volume/clearance change. |
| Apply Nav Config | Editor button | Stamps the assigned NavConfig preset onto the manager + volumes. |
| Show / Hide Nav Graph | Editor button | Draws the baked graph in the viewport (green = connected, red = isolated, blue = links). |
FindPath | Runtime | The A* query. Called for you by the follower — you won't call it directly. |
BP_DroneNavVolume
Actor — place one or many. Defines a region of airspace and fills it with candidate nodes at bake time.
Key Properties
| Property | Type | Description |
|---|---|---|
| GenerationBounds | Box Component | Scale this box to cover the airspace the drone may use. Everything inside is sampled. |
| GridSpacing | Float (200) | Distance between candidate nodes. Smaller = denser graph (better routes, slower bake). Drives the MaxConnectionDistance floor. |
| NodeClearanceRadius | Float (105) | Empty space a node needs to survive. Match the manager's TraceRadius. |
| MaxGeneratedNodes | Int (500) | Safety cap on nodes per volume. |
| ShowFitPreview? / AgentRadius | Bool / Float | Editor preview of where the agent fits inside the volume. |
| DrawDebug / DrawDebugDuration | Bool / Float | Draw generated node positions. |
Volumes never run on their own — the manager samples them during Bake Navigation. Place big sparse volumes over open areas, smaller denser ones near complex geometry.
DroneNavConfig (+ DA_NavConfig_IndoorDense / _Balanced / _OutdoorSparse)
Data Asset — a named tuning preset so you pick a profile instead of hand-tuning.
| Property | Description |
|---|---|
| GridSpacing / MaxConnectionDistance | Graph density + linking distance (the two that define the profile). |
| TraceRadius / NodeClearanceRadius | Clearance — agent-derived, so identical across all three presets (~105). |
| MaxGeneratedNodes | Per-volume node cap for the profile. |
Assign a preset to the manager's NavConfig, Apply Nav Config, then Bake. Presets are stamped at bake time, not read live — re-apply + re-bake after editing one. See Tuning.
Movement
BP_DronePathFollowerComponent
Actor Component — the reusable movement engine. Lives on BP_AIDrone; attach to any pawn to make it fly paths.
Key Properties
| Property | Type | Description |
|---|---|---|
| MoveSpeedChase | Float (450) | Cruise speed while pursuing a target. |
| MoveSpeedPatrol | Float (250) | Cruise speed while patrolling. |
| MaxAcceleration | Float (500) | How fast velocity can change. Lower = heavier/more inertial; higher = snappier. The only corner-rounding in the pipeline. |
| AcceptanceRadius | Float (100) | How close counts as "arrived." Set ≈ the drone's body bounds — too small and it wedges in gaps narrower than itself. |
| MaxSearchDistance | Float (2000) | How far the start/goal may be from the graph before a query fails. |
| UseLocalAvoidance? | Boolean | Reactive steering around obstacles between waypoints. |
| AvoidanceProbeDistance / AvoidanceProbeRadius | Float (200 / 80) | The forward probe that detects obstacles. Lower the distance for thin obstacles so it doesn't over-react. |
| AvoidanceStrength | Float (0.3) | 0 = ignore obstacles, 1 = steer fully sideways, ~0.5 = arc around. |
Key Functions & Events
| Member | Kind | Description |
|---|---|---|
RequestPathToLocation | Function | Asks the manager for a path and starts following it. Driven by the brain via the interface — not called directly. |
FollowWaypoints | Function | Follows an exact waypoint list without pathfinding (used by patrol). |
| OnPathCompleted | Event (dispatcher) | Fires on arrival. The pawn relays it as OnReachedDestination (the patrol heartbeat). |
Drone pawn & brain
BP_AIDrone
Pawn — the drone body. Implements BPI_ControllableDrone; owns movement, facing, visual banking, and rotor audio.
Key Properties
| Property | Type | Description |
|---|---|---|
| PatrolPath | BP_PatrolPath ref | The one you'll set most. Assign a patrol path and the drone patrols it when no target is in sight. Leave empty for chase-only. |
| TurnSpeed | Float | How quickly the drone rotates toward its facing target (≈4–6). Never 0 (= instant snap). |
| MaxBankAngle | Float (40) | Max visual roll/pitch lean into acceleration. |
| BankInterpSpeed | Float (2.0) | How smoothly the body eases into a bank. |
| AccelSmoothSpeed | Float (8) | Low-pass on the acceleration estimate that drives banking — higher = snappier, lower = smoother (anti-wobble knob). |
| Idle/Max Pitch & Volume Multipliers | Float | Rotor-audio pitch + volume at hover vs top speed; the hum lerps between them by current speed. |
Components & Events
- Hierarchy:
SphereCollision(root) →BodyMount(the banking pivot) → mesh +RotorAudio. OnReachedDestination— event dispatcher the brain (patrol) listens to; relayed from the follower'sOnPathCompleted.
The root SphereCollision must ignore the nav trace channel or pathfinding always fails. See Collision Setup.
BP_AIDroneController
AIController — the brain. Senses the target, owns target memory, and runs BT_AIDrone. Commands the pawn only through the interface.
Key Properties
| Property | Type | Description |
|---|---|---|
| EnemyTag | Name (Team A) | The drone only chases actors carrying this tag. |
| MemoryDuration | Float | How long a lost target is remembered before giving up and returning to patrol. |
| SearchStartDelay | Float | Grace period after losing sight before it leaves the hover spot to actively investigate. |
| DesiredHoverHeight / DesiredApproachDistance | Float | Where the chase hover spot sits relative to the target (above + offset toward the drone's side). |
| RepathInterval / MoveGoalUpdateThreshold | Float | Re-path throttle — minimum time + goal-movement before requesting a new path (prevents jitter). |
| Scan: ScanYawRange / ScanYawSpeed / ScanLookDistance / ScanArriveRadius | Float | The left-right facing sweep while searching a last-known location. |
| DrawDebug? | Boolean | Controller-side debug draws. |
The controller runs
BT_AIDrone(a priority selector: Chase → Search → Patrol → Idle) withBB_AIDroneas its blackboard. You normally won't edit the tree; tune behaviour through the properties above. See How It Works.
BPI_ControllableDrone
Interface — the only vocabulary the brain uses to command the body. Implement it to drive a custom drone pawn.
| Message | Description |
|---|---|
| MoveToLocation | Path to a world location (chase/search) via the nav graph. |
| FollowWaypointPath | Follow an exact waypoint list (patrol), bypassing the graph. |
| SetMovementMode | Switch between Patrol / Chase speed modes. |
| SetFocusLocation / ClearFocus | Face a world point / return to facing travel direction. |
| Stop | Halt and clear the current path. |
Patrol authoring
BP_PatrolPath
Actor — a spline route with optional hold markers.
| Property | Type | Description |
|---|---|---|
| Markers | Array of BP_PatrolHoldMarker | Optional pause points; the path snaps each onto the spline. |
| SampleSpacing | Float (25–50) | How finely the spline is sampled into waypoints — the live corner-smoothness lever (smaller = smoother). |
| SnapMarkersInEditor? | Boolean | Re-snaps markers onto the spline in the editor. Keep on. |
| ShowFitPreview? / AgentRadius | Bool / Float | Draws a clearance preview along the spline (green = fits, red = clips). Set AgentRadius to the drone's radius. |
| ShowPathDebug | Boolean | Draw the spline + markers at runtime. |
BP_PatrolHoldMarker
Actor — a point on a patrol path where the drone pauses.
| Property | Type | Description |
|---|---|---|
| HoldDuration | Float (3.0) | Seconds to pause (0 = fly through). |
| UseLookDirection? | Boolean | Face a set direction while paused (otherwise keeps facing travel). |
| LookYaw | Float | The yaw to face when UseLookDirection? is on. |
| SplineDistance | Float | Auto-filled by the path's Construction Script — do not hand-edit. |
See Patrol for the authoring workflow.
Editor tools
BakeDroneNav (Editor Utility Widget)
Right-click → Run Editor Utility Widget. Buttons: Bake Navigation, Show / Hide Nav Graph, and an Auto-Apply Config checkbox that stamps the NavConfig preset before every bake. This is the main authoring surface for the nav graph — see Quick Start.