Legacy:NavigationPoint - Unreal Wiki

# Legacy:NavigationPoint

### From Unreal Wiki, The Unreal Engine Documentation Site

UT2003 :: Actor >> NavigationPoint (Package: Engine)

See also NavigationPoint (UT) for the Unreal Tournament class.

Children of this class form the bot AI navigation system. During the compilation process, two navigation points get linked by paths if one of them is in the line of view of a bot which is located at the position of the other one and the bot could go there at least in one direction. Each Pickup and PlayerStart has its own NavigationPoint. The most common NavigationPoints are the PathNodes which simply are NavigationPoints which have a texture which makes it possible to put them in a map where the PathNodes build the backbone of the maps navigation system.

See the super topic page Artificial Intelligence, and the Bot Support and Bot Pathing pages for a technical overview.

## Properties

### NavigationPoint Group

bool bAlwaysUseStrafing
  Shouldn't use bAdvancedTactics going to this point.
bool bBlocked
  This path is currently unuseable.
bool bNeverUseStrafing
  Shouldn't use bAdvancedTactics going to this point.
bool bOneWayPath
  Reachspecs from this path only in the direction the path is facing. (180 degrees)
bool bPropagatesSound
  This navigation point can be used for sound propagation. (around corners)
int ExtraCost
  Extra weight added by level designer. Use this property to let the bots think a path is longer than it actually is.
name ForcedPaths[4]
  List of names of NavigationPoints which should always be connected from this path.
name ProscribedPaths[4]
  List of names of NavigationPoints which should never be connected from this path.

#### UT2004:

bool bNoSuperSize
  Hack for Leviathans, which pretend to be smaller than they really are to use the path network - this forces them not to use a path
bool bVehicleDestination
  If true, forced paths to this node will have max width to accomodate vehicles
bool bMakeSourceOnly
  When building paths, this navigation point will only act as a source, i.e. there are only paths away from it and none towards it.

### Hidden

bool bAutoBuilt (const)
  Placed during execution of "PATHS BUILD".
bool bDestinationOnly
  Used by path building – means no automatically generated paths are sourced from this node.
bool bEndPoint (transient)
  used by C++ navigation code
int bestPathWeight (const)
bool bForceNoStrafing (const)
  Override any level designer changes to bNeverUseStrafing.
bool bMustBeReachable
  Used for PathReview code.
bool bNoAutoConnect
  Don't connect this path to others except with special conditions. (used by LiftCenter, for example)
bool bNotBased (const)
  Used by path builder – if true, no error is reported if node doesn't have a valid base.
bool bPathsChanged (const)
  Used for incremental path rebuilding in the editor.
bool bSourceOnly
  Used by path building – means this node is not the destination of any automatically generated path.
bool bSpecialForced
  Paths that are forced should call the SpecialCost() and SuggestMovePreparation() functions.
bool bSpecialMove
  If true, pawn will call SuggestMovePreparation() when moving toward this node.
bool bTransientEndPoint (transient)
  Set right before a path finding attempt, cleared afterward.
int cost
  Added cost to visit this pathnode.
int FearCost (transient)
  Extra weight diminishing over time. (used for example, to mark path where bot died)
Pickup InventoryCache
  Used to point to dropped weapons.
float InventoryDist
NavigationPoint nextNavigationPoint (const)
NavigationPoint nextOrdered (const)
  for internal use during route searches
array<ReachSpec> PathList (const)
  Index of reachspecs. (used by C++ Navigation code)
NavigationPoint previousPath (const)
NavigationPoint prevOrdered (const)
  for internal use during route searches
bool taken
  Set when a creature is occupying this spot
int TransientCost (transient)
  Added right before a path finding attempt, cleared afterward.
int visitedWeight

#### UT2004:

bool bFlyingPreferred
  Preferred by flying creatures
bool bForcedOnly
  Only connect forced paths to this NavigationPoint
bool bBlockable
  True if path can become blocked (used by pruning during path building)
bool bMayCausePain
  Set in C++ if in PhysicsVolume that may cause pain
bool bReceivePlayerToucherDiedNotify
bool bAlreadyVisited
  Internal use (Used in path building?)
byte BaseVisible[2]
  Used by some team game types – whether this point is visible from red/blue base or defense points
float LastDetourWeight (const)
float BaseDist[2]
  Used by some team game types – distance to red/blue base
bool bCanReach (transient)
  Used during paths review in editor
bool bHideEditorPaths (transient)
  Don't show paths to this node in the editor
vector MaxPathSize
  Maximum distance to any other navigation point on the map.

## Methods

### Inherited from Actor

PostBeginPlay ( )
  Ensures that ExtraCost is greater than 0. UT2004: Sets MaxPathSize.

### New Methods

bool Accept (Actor Incoming, Actor Source) [event]
  Accept an actor that has teleported in. Used for random spawning and initial placement of creatures.
float DetourWeight (Pawn Other, float PathWeight) [event]
  Value of this path to take a quick detour. (usually 0, used when on route to distant objective, but want to grab inventory for example)
MoverClosed ( )
  Used by NavigationPoints associated with movers.
MoverOpened ( )
  Used by NavigationPoints associated with movers.
bool ProceedWithMove (Pawn Other)
  Called by Controller to see if move is now possible when a mover reports to the waiting pawn that it has completed its move.
int SpecialCost (Pawn Seeker, ReachSpec Path) [event]
bool SuggestMovePreparation (Pawn Other) [event]
  Optionally tell Pawn any special instructions to prepare for moving to this goal. (called by Pawn.PrepareForMove() if this node's bSpecialMove==true)

#### UT2004

SetBaseDistance (int BaseNum) [native, final]
  (set BaseDist property?)
SetBaseVisibility (int BaseNum)
  Go through all NavigationPoints in the level and set their BaseVisible properties depending on whether the BaseNum base can be seen from that point.
PlayerToucherDied (Pawn P)
  Called when a pawn which was touching this NavigationPoint dies (Needed for HoldObjectives)

## Known Subclasses

    NavigationPoint
     +- AssaultPath
     +- BlockedPath
     +- Door
     |   +- AutoDoor
     +- JumpDest
     |   +- JumpSpot
     |       +- GameObjective
     |           +- ASOBJ_EnergyCore_Spawn (UT2004 only)
     |           +- CTFBase
     |           |   +- xRealCTFBase
     |           |       +- xBlueFlagBase
     |           |       +- xRedFlagBase
     |           +- DestroyableObjective
     |               +- DestroyableObjective_SM (UT2004 only)
     |               +- ONSPowerCore (UT2004 only)
     |                   +- ONSPowerCoreBlue
     |                   +- ONSPowerCoreRed
     |                   +- ONSPowerNode
     |                       +- ONSPowerNodeNeutral
     |           +- DominationPoint
     |           |   +- xDomPoint
     |           |       +- xDomPointA
     |           |       +- xDomPointB
     |           +- LockedObjective (UT2003 only)
     |           +- ProximityObjective (UT2004 only)
     |               +- ASOBJ_EnergyCore_Delivery
     |               +- HoldObjective
     |               +- LockedObjective
     |               +- UseObjective
     |           +- TriggeredObjective
     |           +- xBombDelivery
     |           +- xBombSpawn
     +- JumpPad
     |   +- UTJumpPad
     +- LiftCenter
     +- LiftExit
     +- PathNode
     |   +- FlyingPathNode (UT2004)
     |   +- RoadPathNode (UT2004)
     |       +- HoverPathNode (UT2004)
     |       +- SpecialVehicleObjective (UT2004)
     +- ShootSpot
     |   +- BlueShootSpot
     |   +- RedShootSpot
     +- SmallNavigationPoint (abstract, no additional properties)
         +- AIMarker
         +- InventorySpot
         +- Ladder
         |   +- AutoLadder
         +- PlayerStart
         |   +- TriggeredPlayerStart
         |   +- xFieldPlayerStart
         +- Teleporter
         +- WarpZoneMarker

## Related Topics

- Topics on Mapping
- Bot Support – Main hub for bot support
  - Bot Pathing – Concepts and elements of the bot path network
    - Basic Bot Pathing – A tutorial on basic bot pathing
  - Strategic Bots – Advanced bot support
  - Bot Mind – Understanding the bots
  - Testing Botplay – Ensuring reliable bot support
- Placing PlayerStart
- Inventory Item Placement
- Map Design

Categories: Legacy Class (UT2003) | Legacy Class (UT2004) | Legacy Class Tree | Legacy Mapping

##### Views

- Legacy
- Discussion
- Current revision

##### Search