Navigation
API > API/Runtime > API/Runtime/NavigationSystem
Inheritance Hierarchy
- UNavigationSystemBase
- UNavigationSystemV1
References
Module | NavigationSystem |
Header | /Engine/Source/Runtime/NavigationSystem/Public/NavigationSystem.h |
Include | #include "NavigationSystem.h" |
Syntax
UCLASS (Within=World, Config=Engine, defaultconfig, MinimalAPI)
class UNavigationSystemV1 : public UNavigationSystemBase
Variables
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
TObjectPtr< ANavigationData > | AbstractNavData | Special navigation data for managing direct paths, not part of NavDataSet! |
![]() ![]() ![]() ![]() |
float | ActiveTilesUpdateInterval | Minimal time, in seconds, between active tiles set update |
![]() |
TMap< FNavAgentProperties, TWeakObjectPtr< ANavigationData > > | AgentToNavDataMap | |
![]() |
TArray< FAsyncPathFindingQuery > | AsyncPathFindingCompletedQueries | Queued async pathfinding results computed by the dedicated task in the last frame and ready to dispatch in the next update. |
![]() |
TArray< FAsyncPathFindingQuery > | AsyncPathFindingQueries | Queued async pathfinding queries to process in the next update. |
![]() |
FGraphEventRef | AsyncPathFindingTask | Graph event that the main thread will wait for to synchronize with the async pathfinding task, if any. |
![]() |
TAtomic< bool > | bAbortAsyncQueriesRequested | Flag used by main thread to ask the async pathfinding task to stop and postpone remaining queries, if any. |
![]() ![]() ![]() ![]() |
uint32: 1 | bAllowClientSideNavigation | If false, will not create nav collision when connecting as a client |
![]() |
uint8: 1 | bAsyncBuildPaused | |
![]() ![]() ![]() ![]() |
uint32: 1 | bAutoCreateNavigationData | Should navigation system spawn default Navigation Data when there's none and there are navigation bounds present? |
![]() |
uint8: 1 | bCleanUpDone | Set when the NavSys instance has been cleaned up. This is an irreversible state |
![]() ![]() ![]() ![]() |
uint32: 1 | bGenerateNavigationOnlyAroundNavigationInvokers | If set to true navigation will be generated only around registered "navigation enforcers" This has a range of consequences (including how navigation octree operates) so it needs to be a conscious decision. |
![]() ![]() ![]() ![]() |
uint32: 1 | bInitialBuildingLocked | If set to true will result navigation system not rebuild navigation until a call to ReleaseInitialBuildingLock() is called. |
![]() |
uint8: 1 | bInitialLevelsAdded | |
![]() |
uint8: 1 | bInitialSetupHasBeenPerformed | |
![]() ![]() ![]() ![]() |
uint32: 1 | bShouldDiscardSubLevelNavData | If true, games should ignore navigation data inside loaded sublevels |
![]() ![]() ![]() ![]() |
uint32: 1 | bSkipAgentHeightCheckWhenPickingNavData | False by default, if set to true will result in not caring about nav agent height when trying to match navigation data to passed in nav agent |
![]() ![]() ![]() ![]() |
uint32: 1 | bSpawnNavDataInNavBoundsLevel | If true will try to spawn the navigation data instance in the sublevel with navigation bounds, if false it will spawn in the persistent level |
![]() ![]() |
uint32: 1 | bSupportRebuilding | Gets set to true if gathering navigation data (like in navoctree) is required due to the need of navigation generation Is always true in Editor Mode. |
![]() ![]() ![]() ![]() |
uint32: 1 | bTickWhilePaused | If true, will update navigation even when the game is paused |
![]() ![]() ![]() |
FBox | BuildBounds | Bounds of tiles to be built |
![]() |
uint32: 1 | bWholeWorldNavigable | If set to true (default) navigation will be generated only within special navigation bounds volumes (like ANavMeshBoundsVolume). |
![]() |
uint8: 1 | bWorldInitDone | |
![]() ![]() ![]() ![]() ![]() |
TSoftClassPtr< UCrowdManagerBase > | CrowdManagerClass | |
![]() |
int32 | CurrentlyDrawnNavDataIndex | Indicates which of multiple navigation data instances to draw |
![]() |
TMap< uint32, FNavigationSystem::FCustomLinkOwnerInfo > | CustomLinksMap | Map of all custom navigation links, that are relevant for path following |
![]() |
TMap< FNavLinkId, FNavigationSystem::FCustomLinkOwnerInfo > | CustomNavLinksMap | |
![]() ![]() ![]() ![]() |
ENavDataGatheringModeConfig | DataGatheringMode | Sets how navigation data should be gathered when building collision information |
![]() ![]() ![]() ![]() ![]() |
FName | DefaultAgentName | If not None indicates which of navigation datas and supported agents are going to be used as the default ones. |
![]() |
FNavigationDirtyAreasController | DefaultDirtyAreasController | |
![]() |
FNavigationOctreeController | DefaultOctreeController | |
![]() ![]() ![]() ![]() |
float | DirtyAreaWarningSizeThreshold | -1 by default, if set to a positive value dirty areas with any dimensions in 2d over the threshold created at runtime will be logged |
![]() ![]() ![]() ![]() |
float | GatheringNavModifiersWarningLimitTime | -1.0f by default, if set to a positive value, all calls to GetNavigationData will be timed and compared to it. |
![]() ![]() ![]() ![]() |
int32 | GeometryExportTriangleCountWarningThreshold | Warnings are logged if exporting the navigation collision for an object exceed this triangle count. |
![]() |
uint8 | InitialNavBuildingLockFlags | Set of locking flags applied on startup of navigation system |
![]() ![]() ![]() ![]() |
double | InvokersMaximumDistanceFromSeed | When in use, invokers farther away from any invoker seed will be ignored (set to -1 to disable). |
![]() ![]() ![]() |
TObjectPtr< ANavigationData > | MainNavData | |
![]() |
TSet< TObjectPtr< const UClass > > | NavAreaClasses | |
![]() |
uint8 | NavBuildingLockFlags | |
![]() |
FCriticalSection | NavDataRegistration | |
![]() ![]() ![]() |
TArray< TObjectPtr< ANavigationData > > | NavDataRegistrationQueue | |
![]() |
FCriticalSection | NavDataRegistrationSection | Async queries |
![]() ![]() ![]() |
TArray< TObjectPtr< ANavigationData > > | NavDataSet | |
![]() |
FBox | NavigableWorldBounds | Cached navigable world bounding box |
![]() |
FNavRegenTimeSliceManager | NavRegenTimeSliceManager | |
![]() |
uint8 | NavUpdateLockFlags | |
![]() ![]() ![]() |
FOnNavDataGenericEvent | OnNavDataRegisteredEvent | |
![]() ![]() ![]() ![]() ![]() |
FOnNavDataGenericEvent | OnNavigationGenerationFinishedDelegate | |
![]() |
FOnNavigationInitDone | OnNavigationInitDone | |
![]() ![]() |
FNavigationSystemRunMode | OperationMode | |
![]() |
TArray< FNavigationBoundsUpdateRequest > | PendingNavBoundsUpdates | List of pending navigation bounds update requests (add, remove, update size) |
![]() |
TSet< FNavigationBounds > | RegisteredNavBounds | All areas where we build/have navigation |
![]() |
FDelegateHandle | ReloadCompleteDelegateHandle | |
![]() ![]() ![]() |
TObjectPtr< UNavigationObjectRepository > | Repository | |
![]() ![]() ![]() ![]() |
TArray< FNavDataConfig > | SupportedAgents | List of agents types supported by this navigation system |
![]() ![]() ![]() ![]() |
FNavAgentSelector | SupportedAgentsMask | NavigationSystem's properties in Project Settings define all possible supported agents, but a specific navigation system can choose to support only a subset of agents. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UNavigationSystemV1
(
const FObjectInitializer& ObjectInitializer |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | AbortAsyncFindPathRequest
(
uint32 AsynPathQueryID |
Removes query indicated by given ID from queue of path finding requests to process. |
![]() |
void | AddAsyncQuery
(
const FAsyncPathFindingQuery& Query |
Adds given request to requests queue. Note it's to be called only on game thread only |
![]() |
void | AddDirtyArea
(
const FBox& NewArea, |
|
![]() |
void | AddDirtyArea
(
const FBox& NewArea, |
|
![]() |
void | AddDirtyArea
(
const FBox& NewArea, |
|
![]() |
void | AddDirtyArea
(
const FBox& NewArea, |
|
![]() |
void | AddDirtyAreas
(
const TArray< FBox >& NewAreas, |
|
![]() |
void | AddDirtyAreas
(
const TArray< FBox >& NewAreas, |
|
![]() |
void | AddElementToNavOctree
(
const FNavigationDirtyElement& DirtyElement |
Adds given element to NavOctree. |
![]() |
void | AddLevelCollisionToOctree
(
ULevel* Level |
Add BSP collision data to navigation octree |
![]() ![]() |
void | AddLevelToOctree
(
ULevel& Level |
Called during ConditionalPopulateNavOctree and gives subclassess a chance to influence what gets added |
![]() |
void | AddNavigationBounds
(
const FNavigationBounds& NewBounds |
Adds data to RegisteredNavBounds |
![]() |
void | AddNavigationBoundsUpdateRequest
(
const FNavigationBoundsUpdateRequest& UpdateRequest |
Adds navigation bounds update request to a pending list |
![]() |
void | AddNavigationBuildLock
(
uint8 Flags |
|
![]() ![]() |
void | AddNavigationDataChunk
(
ANavigationDataChunkActor& DataChunkActor |
|
![]() ![]() |
FNavigationElementHandle | AddNavigationElement
(
UWorld* World, |
Navigation octree related functions |
![]() |
void | AddNavigationUpdateLock
(
uint8 Flags |
|
![]() ![]() |
void | AddReferencedObjects
(
UObject* InThis, |
|
![]() ![]() |
void | AppendConfig
(
const UNavigationSystemConfig& NewConfig |
|
![]() |
void | ||
![]() ![]() |
void | ApplyWorldOffset
(
const FVector& InOffset, |
|
![]() ![]() |
void | Build () |
Building |
![]() |
void | CalcTimeSlicedUpdateData
(
TArray< double >& OutCurrentTimeSlicedBuildTaskDurations, |
|
![]() ![]() |
void | CancelBuild () |
Cancels all currently running navigation builds |
![]() ![]() |
bool | Checks if dirty navigation data can rebuild itself | |
![]() ![]() |
void | CleanUp
(
const FNavigationSystem::ECleanupMode Mode |
Called upon UWorld destruction to release what needs to be released |
![]() ![]() |
void | ClearNavOctreeAll
(
AActor* Actor |
Removes all navoctree entries for actor and its components |
![]() ![]() |
FBox | ComputeCustomLinkBounds
(
const INavLinkCustomInterface& CustomLink |
Return a Bounding Box containing the navlink points |
![]() ![]() ![]() |
FBox | ||
![]() ![]() |
bool | Called in places where we need to spawn the NavOctree, but is checking additional conditions if we really want to do that depending on navigation data setup among others | |
![]() ![]() |
void | Configure
(
const UNavigationSystemConfig& Config |
|
![]() ![]() |
void | ConfigureAsStatic
(
bool bEnableStatic |
Call with bEnableStatic == true to signal the NavigationSystem it doesn't need to store any navigation-generation-related data at game runtime, because nothing is going to use it anyway. |
![]() ![]() |
void | Called to instantiate NavigationSystem's NavOctree instance | |
![]() ![]() ![]() |
bool | ContainsNavData
(
const FBox& Bounds |
|
![]() ![]() |
void | Spawn new crowd manager | |
![]() ![]() |
FSharedNavQueryFilter | ||
![]() ![]() |
ANavigationData * | CreateNavigationDataInstanceInLevel
(
const FNavDataConfig& NavConfig, |
Constructs a navigation data instance of specified NavDataClass, in passed Level for supplied NavConfig. |
![]() ![]() |
UNavigationSystemV1 * | CreateNavigationSystem
(
UWorld* WorldOwner |
|
![]() |
void | Debug | |
![]() |
void | DemandLazyDataGathering
(
FNavigationRelevantData& ElementData |
|
![]() ![]() |
void | DescribeFilterFlags
(
UEnum* FlagsEnum |
Filters. |
![]() ![]() |
void | DescribeFilterFlags
(
const TArray< FString >& FlagsDesc |
Prepare descriptions of navigation flags in UNavigationQueryFilter class: using array |
![]() ![]() |
void | ||
![]() ![]() |
void | DispatchAsyncQueriesResults
(
const TArray< FAsyncPathFindingQuery >& PathFindingQueries |
Broadcasts completion delegate for all completed async pathfinding requests. |
![]() ![]() |
bool | DoesPathIntersectBox
(
const FNavigationPath* Path, |
|
![]() ![]() |
bool | DoesPathIntersectBox
(
const FNavigationPath* Path, |
|
![]() ![]() |
void | Sets up SuportedAgents and NavigationDataCreators. | |
![]() |
uint8 | FillInstantiatedDataMask
(
TBitArray<>& OutInstantiatedMask, |
Fills a mask indicating which navigation data associated to the supported agent mask are already instantiated. |
![]() ![]() |
void | FillNavigationDataChunkActor
(
const FBox& QueryBounds, |
|
![]() |
void | FindElementsInNavOctree
(
const FBox& QueryBox, |
Find all elements in navigation octree within given box (intersection) |
![]() |
uint32 | FindPathAsync
(
const FNavAgentProperties& AgentProperties, |
Asynchronously looks for a path from @StartLocation to @EndLocation for agent with properties @AgentProperties. |
![]() |
FPathFindingResult | FindPathSync
(
FPathFindingQuery Query, |
Does a simple path finding from @StartLocation to @EndLocation on specified NavData. |
![]() |
FPathFindingResult | FindPathSync
(
const FNavAgentProperties& AgentProperties, |
Synchronously looks for a path from @fLocation to @EndLocation for agent with properties @AgentProperties. |
![]() ![]() ![]() ![]() |
UNavigationPath * | FindPathToActorSynchronously
(
UObject* WorldContextObject, |
Finds path instantly, in a FindPath Synchronously. |
![]() ![]() ![]() ![]() |
UNavigationPath * | FindPathToLocationSynchronously
(
UObject* WorldContextObject, |
Finds path instantly, in a FindPath Synchronously. |
![]() ![]() |
void | GatherDebugLabels
(
TArray< FString >& InOutDebugLabels |
|
![]() ![]() |
void | Searches for all valid navigation bounds in the world and stores them | |
![]() ![]() |
ANavigationData * | ||
![]() ![]() |
int32 | GetAllAttachedActors
(
const AActor& RootActor, |
A helper function that gathers all actors attached to RootActor and fetches them back. |
![]() ![]() |
const FNavDataConfig & | GetBiggestSupportedAgent
(
const UWorld* World |
|
![]() ![]() |
UCrowdManagerBase * | ||
![]() ![]() |
UNavigationSystemV1 * | GetCurrent
(
UObject* WorldContextObject |
|
![]() ![]() |
UNavigationSystemV1 * | GetCurrent
(
UWorld* World |
|
![]() ![]() |
INavLinkCustomInterface * | GetCustomLink
(
FNavLinkId UniqueLinkId |
Find custom link by unique ID |
![]() ![]() |
INavLinkCustomInterface * | GetCustomLink
(
uint32 UniqueLinkId |
|
![]() ![]() |
const FNavigationRelevantData * | GetDataForElement
(
FNavigationElementHandle Element |
|
![]() ![]() |
const FNavigationRelevantData * | GetDataForObject
(
const UObject& Object |
|
![]() |
ANavigationData * | GetDefaultNavDataInstance
(
FNavigationSystem::ECreateIfMissing CreateNewIfNoneFound |
Returns the world default navigation data instance. Creates one if it doesn't exist. |
![]() ![]() |
ANavigationData * | ||
![]() ![]() |
const FNavDataConfig & | ||
![]() ![]() |
const FNavDataConfig & | ||
![]() ![]() |
float | ||
![]() ![]() |
const TArray< FNavigationInvokerRaw > & | ||
![]() ![]() |
void | GetInvokerSeedLocations
(
const UWorld& InWorld, |
Get seed locations for invokers, |
![]() ![]() |
void | GetInvokerSeedLocations
(
const UWorld& InWorld, |
|
![]() ![]() |
const TArray< FBox > & | ||
![]() ![]() ![]() |
bool | Checks if auto-rebuilding navigation data is enabled. | |
![]() ![]() |
FBox | GetLevelBounds
(
ULevel* InLevel |
|
![]() ![]() ![]() |
INavigationDataInterface * | Returns the world default navigation data instance. | |
![]() ![]() |
ANavigationData & | ||
![]() |
FNavigationRelevantData * | GetMutableDataForElement
(
FNavigationElementHandle Element |
|
![]() |
FNavigationRelevantData * | GetMutableDataForObject
(
const UObject& Object |
|
![]() |
FNavigationOctree * | ||
![]() |
FNavRegenTimeSliceManager & | ||
![]() ![]() |
void | GetNavAgentPropertiesArray
(
TArray< FNavAgentProperties >& OutNavAgentProperties |
Fetch the array of all nav-agent properties. |
![]() ![]() |
INavigationDataInterface * | GetNavDataForActor
(
const AActor& Actor |
|
![]() ![]() ![]() |
ANavigationData * | GetNavDataForAgentName
(
const FName AgentName |
Goes through all registered NavigationData instances and retrieves the one supporting agent named AgentName |
![]() ![]() |
ANavigationData * | GetNavDataForProps
(
const FNavAgentProperties& AgentProperties |
Looks for NavData generated for specified movement properties and returns it. NULL if not found; |
![]() ![]() ![]() |
ANavigationData * | GetNavDataForProps
(
const FNavAgentProperties& AgentProperties, |
Looks up NavData appropriate for specified movement properties and returns it. |
![]() ![]() ![]() |
const ANavigationData * | GetNavDataForProps
(
const FNavAgentProperties& AgentProperties |
Looks for NavData generated for specified movement properties and returns it. |
![]() ![]() |
ANavigationData * | GetNavDataWithID
(
const uint16 NavDataID |
|
![]() ![]() ![]() |
FBox | ||
![]() ![]() |
const TSet< FNavigationBounds > & | ||
![]() ![]() ![]() |
int | GetNavigationBoundsForNavData
(
const ANavigationData& NavData, |
|
![]() ![]() |
TSharedPtr< const FNavigationElement > | GetNavigationElementForUObject
(
const UObject* |
|
![]() ![]() |
FNavigationElementHandle | GetNavigationElementHandleForUObject
(
const UObject* |
|
![]() ![]() ![]() ![]() |
UNavigationSystemV1 * | GetNavigationSystem
(
UObject* WorldContextObject |
Blueprint functions. |
![]() ![]() |
const FNavigationOctree * | GetNavOctree () |
|
![]() |
bool | GetNavOctreeElementData
(
FNavigationElementHandle Element, |
Read element data from navigation octree |
![]() |
bool | GetNavOctreeElementData
(
const UObject& NodeOwner, |
|
![]() ![]() |
const FOctreeElementId2 * | GetNavOctreeIdForElement
(
FNavigationElementHandle Element |
|
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | ||
![]() ![]() |
int32 | Used to display "navigation building in progress" counter | |
![]() ![]() |
int32 | Number of currently running tasks | |
![]() ![]() |
const FOctreeElementId2 * | GetObjectsNavOctreeId
(
const UObject& Object |
|
![]() |
void | GetOnScreenMessages
(
TMultiMap< FCoreDelegates::EOnScreenMessageSeverity, FText >& OutMessages |
|
![]() ![]() |
FNavigationSystemRunMode | ||
![]() ![]() |
ENavigationQueryResult::Type | GetPathCost
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its cost. |
![]() ![]() ![]() ![]() |
ENavigationQueryResult::Type | GetPathCost
(
UObject* WorldContextObject, |
Potentially expensive. |
![]() ![]() |
ENavigationQueryResult::Type | GetPathLength
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its overestimated length. |
![]() ![]() ![]() ![]() |
ENavigationQueryResult::Type | GetPathLength
(
UObject* WorldContextObject, |
Potentially expensive. Use with caution |
![]() ![]() |
ENavigationQueryResult::Type | GetPathLengthAndCost
(
const FVector& PathStart, |
Calculates a path from PathStart to PathEnd and retrieves its overestimated length and cost. |
![]() |
bool | GetRandomPoint
(
FNavLocation& ResultLocation, |
Finds random point in navigable space |
![]() ![]() |
bool | GetRandomPointInNavigableRadius
(
const FVector& Origin, |
Finds random, point in navigable space restricted to Radius around Origin. |
![]() ![]() |
bool | GetRandomReachablePointInRadius
(
const FVector& Origin, |
Finds random, reachable point in navigable space restricted to Radius around Origin |
![]() ![]() |
FNavigationSystemRunMode | GetRunMode () |
|
![]() ![]() |
ERuntimeGenerationType | Return "Strongest" runtime generation type required by registered navigation data objects Depends on runtime generation settings of each navigation data, always ERuntimeGenerationType::Dynamic in the editor world | |
![]() ![]() |
int32 | GetSupportedAgentIndex
(
const ANavigationData* NavData |
Find index in SupportedAgents array for given navigation data |
![]() ![]() |
int32 | GetSupportedAgentIndex
(
const FNavAgentProperties& NavAgent |
Find index in SupportedAgents array for agent type |
![]() ![]() |
const TArray< FNavDataConfig > & | ||
![]() ![]() |
FNavAgentSelector | ||
![]() ![]() |
UWorld * | GetWorld () |
|
![]() ![]() |
FBox | ||
![]() ![]() |
double | GetWorldPartitionNavigationDataBuilderOverlap
(
const UWorld& World |
|
![]() |
bool | ||
![]() |
bool | HandleCycleNavDrawnCommand
(
const TCHAR* Cmd, |
Exec command handlers |
![]() ![]() |
bool | ||
![]() ![]() |
uint32 | HashObject
(
const UObject& Object |
|
![]() ![]() |
bool | HasPendingObjectNavOctreeId
(
UObject* Object |
|
![]() ![]() |
bool | HasPendingUpdateForElement
(
FNavigationElementHandle Element |
|
![]() ![]() |
void | InitializeForWorld
(
UWorld& World, |
|
![]() |
void | Adds BSP collisions of currently streamed in levels to octree | |
![]() ![]() |
bool | ||
![]() ![]() |
bool | Whether Navigation System is allowed to rebuild the navmesh Depends on runtime generation settings of each navigation data, always true in the editor | |
![]() ![]() |
bool | ||
![]() ![]() ![]() ![]() |
bool | IsNavigationBeingBuilt
(
UObject* WorldContextObject |
|
![]() ![]() ![]() ![]() |
bool | IsNavigationBeingBuiltOrLocked
(
UObject* WorldContextObject |
|
![]() ![]() |
bool | IsNavigationBuildingLocked
(
uint8 Flags |
|
![]() ![]() |
bool | Check if building is permanently locked to avoid showing navmesh building notify (due to queued dirty areas) | |
![]() |
bool | Determines whether any generator is performing navigation building actions at the moment, dirty areas are also checked | |
![]() ![]() ![]() |
bool | IsNavigationBuilt
(
const AWorldSettings* Settings |
|
![]() ![]() |
bool | Checks if navigation/navmesh is dirty and needs to be rebuilt | |
![]() ![]() |
bool | Check if navigation octree updates are currently ignored | |
![]() ![]() |
bool | ||
![]() ![]() |
bool | IsNavigationRelevant
(
const AActor* TestActor |
|
![]() ![]() |
bool | ||
![]() ![]() |
bool | ||
![]() ![]() |
bool | ||
![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | Returns true if world has been initialized. | |
![]() ![]() ![]() ![]() |
bool | K2_GetRandomLocationInNavigableRadius
(
UObject* WorldContextObject, |
Generates a random location in navigable space within given radius of Origin. |
![]() ![]() ![]() ![]() |
bool | K2_GetRandomPointInNavigableRadius
(
UObject* WorldContextObject, |
DEPRECATED. |
![]() ![]() ![]() ![]() |
bool | K2_GetRandomReachablePointInRadius
(
UObject* WorldContextObject, |
Generates a random location reachable from given Origin location. |
![]() ![]() ![]() ![]() |
bool | K2_ProjectPointToNavigation
(
UObject* WorldContextObject, |
Project a point onto the NavigationData |
![]() ![]() ![]() |
bool | K2_ReplaceAreaInOctreeData
(
const UObject* Object, |
|
![]() |
void | ||
![]() ![]() ![]() ![]() |
bool | NavigationRaycast
(
UObject* WorldContextObject, |
Performs navigation raycast on NavigationData appropriate for given Querier. |
![]() ![]() |
bool | NavigationRaycastWithAdditionalResults
(
UObject* WorldContextObject, |
Performs navigation raycast on NavigationData appropriate for given Querier. |
![]() |
void | OnActorMoved
(
AActor* Actor |
Delegate handler for ActorMoved events |
![]() ![]() |
void | OnActorRegistered
(
AActor* Actor |
|
![]() ![]() |
void | OnActorUnregistered
(
AActor* Actor |
|
![]() ![]() |
void | OnBeginTearingDown
(
UWorld* World |
Called as part of UWorld::BeginTearingDown |
![]() ![]() |
void | OnComponentRegistered
(
UActorComponent* Comp |
|
![]() ![]() |
void | OnComponentUnregistered
(
UActorComponent* Comp |
|
![]() |
void | Handle forwarding the information where needed when the setting is changed | |
![]() ![]() |
void | Called when owner-UWorld initializes actors | |
![]() |
void | OnLevelAddedToWorld
(
ULevel* InLevel, |
Handler for FWorldDelegates::LevelAddedToWorld event |
![]() |
void | OnLevelRemovedFromWorld
(
ULevel* InLevel, |
Handler for FWorldDelegates::LevelRemovedFromWorld event |
![]() |
void | OnNavigationAreaEvent
(
UClass* AreaClass, |
|
![]() ![]() ![]() ![]() |
void | OnNavigationBoundsAdded
(
ANavMeshBoundsVolume* NavVolume |
|
![]() ![]() |
void | OnNavigationBoundsRemoved
(
ANavMeshBoundsVolume* NavVolume |
|
![]() ![]() ![]() |
void | OnNavigationBoundsUpdated
(
ANavMeshBoundsVolume* NavVolume |
|
![]() |
void | OnNavigationDirtied
(
const FBox& Bounds |
Delegate handler called when navigation is dirtied |
![]() ![]() |
void | OnNavigationElementUpdated
(
UWorld* World, |
|
![]() ![]() |
void | OnNavigationGenerationFinished
(
ANavigationData& NavData |
|
![]() ![]() |
void | OnNavRelevantObjectRegistered
(
UObject& Object |
|
![]() ![]() |
void | OnNavRelevantObjectUnregistered
(
UObject& Object |
|
![]() |
void | OnPIEEnd () |
|
![]() |
void | OnPIEStart () |
|
![]() |
void | OnPostLoadMap
(
UWorld* LoadedWorld |
Delegate handler for PostLoadMap event |
![]() ![]() |
void | OnReloadComplete
(
EReloadCompleteReason Reason |
Called to notify NavigationSystem about finished reload |
![]() ![]() |
void | OnWorldInitDone
(
FNavigationSystemRunMode Mode |
|
![]() |
void | OnWorldPostActorTick
(
UWorld* World, |
Handler for FWorldDelegates::OnWorldPostActorTick event |
![]() |
void | OverrideSupportedAgents
(
const TArray< FNavDataConfig >& NewSupportedAgents |
|
![]() |
void | PerformAsyncQueries
(
TArray< FAsyncPathFindingQuery > PathFindingQueries |
Processes pathfinding requests given in PathFindingQueries. |
![]() ![]() |
void | PerformNavigationBoundsUpdate
(
const TArray< FNavigationBoundsUpdateRequest >& UpdateRequests |
Used to apply updates of nav volumes in navigation system's tick |
![]() ![]() |
void | PostEditChangeChainProperty
(
FPropertyChangedChainEvent& PropertyChangedEvent |
|
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
|
![]() ![]() |
void | ||
![]() |
void | Requests the async pathfinding task to abort and waits for it to complete before resuming the main thread. | |
![]() |
void | Registers custom navigation links awaiting registration in the navigation object repository | |
![]() ![]() |
void | Processes registration of candidates queues via RequestRegistration and stored in NavDataRegistrationQueue | |
![]() ![]() |
bool | ProjectPointToNavigation
(
const FVector& Point, |
|
![]() |
bool | ProjectPointToNavigation
(
const FVector& Point, |
|
![]() ![]() |
void | RebuildAll
(
bool bIsLoadTime |
Triggers navigation building on all eligible navigation data. |
![]() ![]() |
void | RebuildDirtyAreas
(
float DeltaSeconds |
|
![]() ![]() |
void | RegisterComponent
(
UActorComponent* Comp |
|
![]() ![]() |
void | RegisterComponentToNavOctree
(
UActorComponent* Comp |
|
![]() ![]() |
void | RegisterCustomLink
(
INavLinkCustomInterface& CustomLink |
Custom navigation links. |
![]() ![]() |
void | RegisterInvoker
(
const TWeakInterfacePtr< INavigationInvokerInterface >& Invoker, |
|
![]() ![]() |
void | RegisterInvoker
(
AActor& Invoker, |
Active tiles. |
![]() |
void | RegisterNavAreaClass
(
UClass* NavAreaClass |
Tries to register navigation area |
![]() ![]() |
ERegistrationResult | RegisterNavData
(
ANavigationData* NavData |
Registers given navigation data with this Navigation System. |
![]() |
void | Processes all NavigationData instances in UWorld owning navigation system instance, and registers all previously unregistered | |
![]() |
FSetElementId | RegisterNavigationElementWithNavOctree
(
const TSharedRef< const FNavigationElement >& Element, |
|
![]() ![]() ![]() |
void | RegisterNavigationInvoker
(
AActor* Invoker, |
Registers given actor as a "navigation enforcer" which means navigation system will make sure navigation is being generated in specified radius around it. |
![]() ![]() |
void | RegisterNavigationInvoker
(
AActor& Invoker, |
|
![]() |
FSetElementId | RegisterNavOctreeElement
(
UObject* ElementOwner, |
|
![]() |
void | RegisterNavRelevantObjectInternal
(
const INavRelevantInterface& NavRelevantObject, |
Similar to UnregisterNavRelevantObjectStatic but uses the cached repository. |
![]() ![]() |
void | RegisterNavRelevantObjectStatic
(
const INavRelevantInterface& NavRelevantObject, |
Fetches the repository from the provided object and registers the object with it. |
![]() ![]() |
void | ||
![]() |
void | RemoveFromNavOctree
(
const FOctreeElementId2& ElementId, |
|
![]() |
void | RemoveLevelCollisionFromOctree
(
ULevel* Level |
Remove BSP collision data from navigation octree |
![]() |
void | RemoveNavigationBuildLock
(
uint8 Flags, |
|
![]() ![]() |
void | RemoveNavigationDataChunk
(
ANavigationDataChunkActor& DataChunkActor |
|
![]() ![]() |
void | RemoveNavigationElement
(
UWorld* World, |
|
![]() |
void | RemoveNavigationUpdateLock
(
uint8 Flags |
|
![]() |
void | RemoveNavOctreeElementId
(
const FOctreeElementId2& ElementId, |
|
![]() |
void | RemoveObjectsNavOctreeId
(
const UObject& Object |
|
![]() |
bool | ReplaceAreaInOctreeData
(
FNavigationElementHandle Handle, |
Fetched element's data from the octree and replaces occurrences of OldArea with NewArea |
![]() |
bool | ReplaceAreaInOctreeData
(
const UObject& Object, |
|
![]() ![]() |
void | RequestAreaRegistering
(
UClass* NavAreaClass |
Areas. |
![]() ![]() |
void | RequestAreaUnregistering
(
UClass* NavAreaClass |
|
![]() ![]() |
void | RequestCustomLinkRegistering
(
INavLinkCustomInterface& CustomLink, |
|
![]() ![]() |
void | RequestCustomLinkUnregistering
(
INavLinkCustomInterface& CustomLink, |
|
![]() ![]() |
void | RequestRegistrationDeferred
(
ANavigationData& NavData |
Adds NavData to registration candidates queue - NavDataRegistrationQueue |
![]() ![]() |
bool | Whether Navigation system needs to populate nav octree. | |
![]() |
void | ResetCachedFilter
(
TSubclassOf< UNavigationQueryFilter > FilterClass |
Removes cached filters from currently registered navigation data |
![]() ![]() ![]() |
void | Brings limit of simultaneous navmesh tile generation jobs back to Project Setting's default value | |
![]() ![]() |
void | SetBuildBounds
(
const FBox& Bounds |
Set limiting bounds to be used when building navigation data. |
![]() |
void | SetCrowdManager
(
UCrowdManagerBase* NewCrowdManager |
|
![]() ![]() ![]() |
void | SetGeometryGatheringMode
(
ENavDataGatheringModeConfig NewMode |
|
![]() ![]() ![]() |
void | SetMaxSimultaneousTileGenerationJobsCount
(
int32 MaxNumberOfJobs |
Will limit the number of simultaneously running navmesh tile generation jobs to specified number. |
![]() ![]() |
void | SetNavigationAutoUpdateEnabled
(
bool bNewEnable, |
Allow editor to toggle whether seamless navigation building is enabled |
![]() |
void | SetNavigationOctreeLock
(
bool bLock |
|
![]() |
void | SetSupportedAgentsMask
(
const FNavAgentSelector& InSupportedAgentsMask |
|
![]() |
void | SetSupportedAgentsNavigationClass
(
int32 AgentIndex, |
Used to properly set navigation class for indicated agent and propagate information to other places (like project settings) that may need this information |
![]() ![]() |
void | SetUpdateNavOctreeOnComponentChange
(
bool bNewUpdateOnComponentChange |
|
![]() ![]() |
bool | ||
![]() ![]() ![]() |
bool | ShouldCreateNavigationSystemInstance
(
const UWorld* World |
Indicates whether navigation is allowed for a given world. |
![]() ![]() ![]() |
bool | ShouldDiscardSubLevelNavData
(
ANavigationData* NavData |
|
![]() ![]() |
bool | ||
![]() ![]() |
bool | ShouldGeneratorRun
(
const FNavDataGenerator* Generator |
Super-hacky safety feature for threaded navmesh building. |
![]() ![]() ![]() |
bool | ShouldLoadNavigationOnClient
(
ANavigationData* NavData |
|
![]() ![]() |
bool | ||
![]() ![]() |
void | ||
![]() |
void | SpawnMissingNavigationDataInLevel
(
const TBitArray<>& InInstantiatedMask, |
Spawns missing navigation data. |
![]() ![]() |
bool | ||
![]() ![]() |
bool | TestPathSync
(
FPathFindingQuery Query, |
Synchronously check if path between two points exists Does not return path object, but will run faster (especially in hierarchical mode) |
![]() ![]() |
void | Tick
(
float DeltaSeconds |
|
![]() |
void | TriggerAsyncQueries
(
TArray< FAsyncPathFindingQuery >& PathFindingQueries |
Spawns a non-game-thread task to process requests given in PathFindingQueries. |
![]() ![]() |
void | UnregisterComponent
(
UActorComponent* Comp |
|
![]() ![]() |
void | UnregisterComponentToNavOctree
(
UActorComponent* Comp |
|
![]() |
void | UnregisterCustomLink
(
INavLinkCustomInterface& CustomLink |
|
![]() ![]() |
void | UnregisterInvoker
(
const TWeakInterfacePtr< INavigationInvokerInterface >& Invoker |
|
![]() ![]() |
void | UnregisterInvoker
(
AActor& Invoker |
|
![]() |
void | UnregisterNavAreaClass
(
UClass* NavAreaClass |
Tries to unregister navigation area |
![]() ![]() |
void | UnregisterNavData
(
ANavigationData* NavData |
Bookkeeping. |
![]() |
void | UnregisterNavigationElementWithOctree
(
const TSharedRef< const FNavigationElement >& Element, |
|
![]() ![]() ![]() |
void | UnregisterNavigationInvoker
(
AActor* Invoker |
Removes given actor from the list of active navigation enforcers. |
![]() ![]() |
void | UnregisterNavigationInvoker
(
AActor& Invoker |
|
![]() |
void | UnregisterNavOctreeElement
(
UObject* ElementOwner, |
|
![]() |
void | UnregisterNavRelevantObjectInternal
(
const UObject& Object |
Similar to UnregisterNavRelevantObjectStatic but uses the cached repository. |
![]() ![]() |
void | UnregisterNavRelevantObjectStatic
(
const UObject& Object |
Fetches the repository from the provided object and unregisters the object with it. |
![]() ![]() |
void | Traverses SupportedAgents and for all agents not supported (i.e. filtered out by SupportedAgentsMask) checks if there's a currently registered NavigationData instance for that agent, and if so it unregisters that agent | |
![]() ![]() |
void | Find or create abstract nav data | |
![]() ![]() |
void | UpdateActorAndComponentsInNavOctree
(
AActor& Actor, |
Update all navoctree entries for actor and its components |
![]() ![]() |
void | UpdateActorInNavOctree
(
AActor& Actor |
Update navoctree entry for specified actor/component |
![]() ![]() |
void | UpdateAttachedActorsInNavOctree
(
AActor& RootActor |
Updates navoctree information on actors attached to RootActor |
![]() ![]() |
void | UpdateComponentInNavOctree
(
UActorComponent& Comp |
|
![]() |
void | UpdateCustomLink
(
const INavLinkCustomInterface* CustomLink |
Updates custom link for all active navigation data instances |
![]() |
void | UpdateLevelCollision
(
ULevel* InLevel |
|
![]() ![]() |
void | ||
![]() ![]() |
void | UpdateNavOctreeAfterMove
(
USceneComponent* Comp |
Update all navoctree entries for actor and its non scene components after root movement |
![]() ![]() |
void | UpdateNavOctreeBounds
(
AActor* Actor |
Updates bounds of all components implementing INavRelevantInterface |
![]() |
void | UpdateNavOctreeElement
(
FNavigationElementHandle Handle, |
Update single element in navoctree |
![]() |
void | UpdateNavOctreeElement
(
UObject* ElementOwner, |
|
![]() |
bool | UpdateNavOctreeElementBounds
(
FNavigationElementHandle Handle, |
Update element's bounds in navigation octree and mark only specified area as dirty, doesn't re-export geometry |
![]() |
bool | UpdateNavOctreeElementBounds
(
UActorComponent* Comp, |
Update component bounds in navigation octree and mark only specified area as dirty, doesn't re-export component geometry |
![]() |
bool | UpdateNavOctreeElementBounds
(
UObject& Object, |
|
![]() |
void | UpdateNavOctreeParentChain
(
UObject* ElementOwner, |
|
![]() ![]() |
void | UpdateNavRelevantObjectInNavOctree
(
UObject& Object |
|
![]() ![]() |
void | UpdateNavRelevantObjectInNavOctreeStatic
(
const INavRelevantInterface& InNavRelevantObject, |
In actor/component code paths it is possible that updates get called without a previous call to register (wasn't relevant at that time). |
![]() |
void | VerifyNavigationRenderingComponents
(
const bool bShow |
New stuff |
Enums
Type | Name | Description | |
---|---|---|---|
![]() |
ELockRemovalRebuildAction | ||
![]() |
EOctreeUpdateMode | EOctreeUpdateMode is deprecated. Use FNavigationOctreeController::EOctreeUpdateMode instead. | |
![]() |
ERegistrationResult |
Typedefs
Name | Description |
---|---|
FOnNavigationDirty | Delegate type for events that dirty the navigation data ( Params: const FBox& DirtyBounds ) |
Constants
Name | Description |
---|---|
bIsPIEActive | |
bNavigationAutoUpdateEnabled | Whether seamless navigation building is enabled |
bStaticRuntimeNavigation | |
bUpdateNavOctreeOnComponentChange | |
CustomLinkRegistrationSection | |
ExecHandler | Self-registering exec command to handle nav sys console commands |
NavigationDirtyEvent | Called after navigation influencing event takes place |
PendingCustomLinkRegistration |