UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FAIMoveRequest Struct Reference

#include <AITypes.h>

Public Member Functions

AIMODULE_API FAIMoveRequest ()
 
AIMODULE_API FAIMoveRequest (const AActor *InGoalActor)
 
AIMODULE_API FAIMoveRequest (const FVector &InGoalLocation)
 
FAIMoveRequestSetNavigationFilter (TSubclassOf< UNavigationQueryFilter > Filter)
 
FAIMoveRequestSetUsePathfinding (bool bPathfinding)
 
FAIMoveRequestSetAllowPartialPath (bool bAllowPartial)
 
FAIMoveRequestSetRequireNavigableEndLocation (bool bRequire)
 
FAIMoveRequestSetApplyCostLimitFromHeuristic (bool bApply, float InCostLimitFactor=FLT_MAX, float InMinimumCostLimit=0.f)
 
FAIMoveRequestSetProjectGoalLocation (bool bProject)
 
FAIMoveRequestSetCanStrafe (bool bStrafe)
 
FAIMoveRequestSetReachTestIncludesAgentRadius (bool bIncludeRadius)
 
FAIMoveRequestSetReachTestIncludesGoalRadius (bool bIncludeRadius)
 
FAIMoveRequestSetAcceptanceRadius (float Radius)
 
FAIMoveRequestSetUserData (const FCustomMoveSharedPtr &InUserData)
 
FAIMoveRequestSetUserFlags (int32 InUserFlags)
 
FAIMoveRequestSetStartFromPreviousPath (const bool bInStartFromPreviousPath)
 
bool IsValid () const
 
bool IsMoveToActorRequest () const
 
AActorGetGoalActor () const
 
FVector GetGoalLocation () const
 
AIMODULE_API FVector GetDestination () const
 
bool IsUsingPathfinding () const
 
bool IsUsingPartialPaths () const
 
bool IsNavigableEndLocationRequired () const
 
bool IsProjectingGoal () const
 
bool IsApplyingCostLimitFromHeuristic () const
 
float GetCostLimitFactor () const
 
float GetMinimumCostLimit () const
 
TSubclassOf< UNavigationQueryFilterGetNavigationFilter () const
 
bool CanStrafe () const
 
bool IsReachTestIncludingAgentRadius () const
 
bool IsReachTestIncludingGoalRadius () const
 
float GetAcceptanceRadius () const
 
const FCustomMoveSharedPtrGetUserData () const
 
int32 GetUserFlags () const
 
const bool ShouldStartFromPreviousPath () const
 
AIMODULE_API void SetGoalActor (const AActor *InGoalActor)
 
AIMODULE_API void SetGoalLocation (const FVector &InGoalLocation)
 
AIMODULE_API bool UpdateGoalLocation (const FVector &NewLocation) const
 
AIMODULE_API FString ToString () const
 

Protected Attributes

TWeakObjectPtr< AActorGoalActor
 
FVector GoalLocation
 
TSubclassOf< UNavigationQueryFilterFilterClass
 
uint32 bInitialized: 1
 
uint32 bMoveToActor: 1
 
uint32 bUsePathfinding: 1
 
uint32 bAllowPartialPath: 1
 
uint32 bRequireNavigableEndLocation: 1
 
uint32 bApplyCostLimitFromHeuristic: 1
 
uint32 bProjectGoalOnNavigation: 1
 
uint32 bStartFromPreviousPath: 1
 
uint32 bReachTestIncludesAgentRadius: 1
 
uint32 bReachTestIncludesGoalRadius: 1
 
uint32 bCanStrafe: 1
 
float AcceptanceRadius
 
float CostLimitFactor
 
float MinimumCostLimit
 
FCustomMoveSharedPtr UserData
 
int32 UserFlags
 

Constructor & Destructor Documentation

◆ FAIMoveRequest() [1/3]

FAIMoveRequest::FAIMoveRequest ( )

◆ FAIMoveRequest() [2/3]

FAIMoveRequest::FAIMoveRequest ( const AActor InGoalActor)

◆ FAIMoveRequest() [3/3]

FAIMoveRequest::FAIMoveRequest ( const FVector InGoalLocation)

Member Function Documentation

◆ CanStrafe()

bool FAIMoveRequest::CanStrafe ( ) const
inline

◆ GetAcceptanceRadius()

float FAIMoveRequest::GetAcceptanceRadius ( ) const
inline

◆ GetCostLimitFactor()

float FAIMoveRequest::GetCostLimitFactor ( ) const
inline

◆ GetDestination()

FVector FAIMoveRequest::GetDestination ( ) const

retrieves request's requested destination location, GoalActor's location or GoalLocation, depending on the request itself

◆ GetGoalActor()

AActor * FAIMoveRequest::GetGoalActor ( ) const
inline

◆ GetGoalLocation()

FVector FAIMoveRequest::GetGoalLocation ( ) const
inline

◆ GetMinimumCostLimit()

float FAIMoveRequest::GetMinimumCostLimit ( ) const
inline

◆ GetNavigationFilter()

TSubclassOf< UNavigationQueryFilter > FAIMoveRequest::GetNavigationFilter ( ) const
inline

◆ GetUserData()

const FCustomMoveSharedPtr & FAIMoveRequest::GetUserData ( ) const
inline

◆ GetUserFlags()

int32 FAIMoveRequest::GetUserFlags ( ) const
inline

◆ IsApplyingCostLimitFromHeuristic()

bool FAIMoveRequest::IsApplyingCostLimitFromHeuristic ( ) const
inline

◆ IsMoveToActorRequest()

bool FAIMoveRequest::IsMoveToActorRequest ( ) const
inline

◆ IsNavigableEndLocationRequired()

bool FAIMoveRequest::IsNavigableEndLocationRequired ( ) const
inline

◆ IsProjectingGoal()

bool FAIMoveRequest::IsProjectingGoal ( ) const
inline

◆ IsReachTestIncludingAgentRadius()

bool FAIMoveRequest::IsReachTestIncludingAgentRadius ( ) const
inline

◆ IsReachTestIncludingGoalRadius()

bool FAIMoveRequest::IsReachTestIncludingGoalRadius ( ) const
inline

◆ IsUsingPartialPaths()

bool FAIMoveRequest::IsUsingPartialPaths ( ) const
inline

◆ IsUsingPathfinding()

bool FAIMoveRequest::IsUsingPathfinding ( ) const
inline

◆ IsValid()

bool FAIMoveRequest::IsValid ( ) const
inline

the request should be either set up to move to a location, of go to a valid actor

◆ SetAcceptanceRadius()

FAIMoveRequest & FAIMoveRequest::SetAcceptanceRadius ( float  Radius)
inline

◆ SetAllowPartialPath()

FAIMoveRequest & FAIMoveRequest::SetAllowPartialPath ( bool  bAllowPartial)
inline

◆ SetApplyCostLimitFromHeuristic()

FAIMoveRequest & FAIMoveRequest::SetApplyCostLimitFromHeuristic ( bool  bApply,
float  InCostLimitFactor = FLT_MAX,
float  InMinimumCostLimit = 0.f 
)
inline

Defines if the underlying pathfind query should limit its exploration based on the navigation cost

Parameters
bApplyif set - the pathfind query cost will be limited based on the heuristic between the start and end location
InCostLimitFactorthis multiplier is used to compute a max node cost allowed to the open list (cost limit = CostLimitFactor*InitialHeuristicEstimate)
InMinimumCostLimitminimum cost limit clamping value (in cost units) used to allow large deviation in short paths

◆ SetCanStrafe()

FAIMoveRequest & FAIMoveRequest::SetCanStrafe ( bool  bStrafe)
inline

◆ SetGoalActor()

void FAIMoveRequest::SetGoalActor ( const AActor InGoalActor)

◆ SetGoalLocation()

void FAIMoveRequest::SetGoalLocation ( const FVector InGoalLocation)

◆ SetNavigationFilter()

FAIMoveRequest & FAIMoveRequest::SetNavigationFilter ( TSubclassOf< UNavigationQueryFilter Filter)
inline

◆ SetProjectGoalLocation()

FAIMoveRequest & FAIMoveRequest::SetProjectGoalLocation ( bool  bProject)
inline

◆ SetReachTestIncludesAgentRadius()

FAIMoveRequest & FAIMoveRequest::SetReachTestIncludesAgentRadius ( bool  bIncludeRadius)
inline

◆ SetReachTestIncludesGoalRadius()

FAIMoveRequest & FAIMoveRequest::SetReachTestIncludesGoalRadius ( bool  bIncludeRadius)
inline

◆ SetRequireNavigableEndLocation()

FAIMoveRequest & FAIMoveRequest::SetRequireNavigableEndLocation ( bool  bRequire)
inline

◆ SetStartFromPreviousPath()

FAIMoveRequest & FAIMoveRequest::SetStartFromPreviousPath ( const bool  bInStartFromPreviousPath)
inline

◆ SetUsePathfinding()

FAIMoveRequest & FAIMoveRequest::SetUsePathfinding ( bool  bPathfinding)
inline

◆ SetUserData()

FAIMoveRequest & FAIMoveRequest::SetUserData ( const FCustomMoveSharedPtr InUserData)
inline

◆ SetUserFlags()

FAIMoveRequest & FAIMoveRequest::SetUserFlags ( int32  InUserFlags)
inline

◆ ShouldStartFromPreviousPath()

const bool FAIMoveRequest::ShouldStartFromPreviousPath ( ) const
inline

◆ ToString()

FString FAIMoveRequest::ToString ( ) const

◆ UpdateGoalLocation()

bool FAIMoveRequest::UpdateGoalLocation ( const FVector NewLocation) const

Member Data Documentation

◆ AcceptanceRadius

float FAIMoveRequest::AcceptanceRadius
protected

pathfollowing: required distance to goal to complete move

◆ bAllowPartialPath

uint32 FAIMoveRequest::bAllowPartialPath
protected

pathfinding: allow using incomplete path going toward goal but not reaching it

◆ bApplyCostLimitFromHeuristic

uint32 FAIMoveRequest::bApplyCostLimitFromHeuristic
protected

pathfinding: if set - the pathfind query cost will be limited based on the heuristic between the start and end location (c.f. CostLimitFactor and MinimumCostLimit).

◆ bCanStrafe

uint32 FAIMoveRequest::bCanStrafe
protected

pathfollowing: keep focal point at move goal

◆ bInitialized

uint32 FAIMoveRequest::bInitialized
protected

move goal is an actor

◆ bMoveToActor

uint32 FAIMoveRequest::bMoveToActor
protected

move goal is an actor

◆ bProjectGoalOnNavigation

uint32 FAIMoveRequest::bProjectGoalOnNavigation
protected

pathfinding: goal location will be projected on navigation data before use

◆ bReachTestIncludesAgentRadius

uint32 FAIMoveRequest::bReachTestIncludesAgentRadius
protected

pathfollowing: acceptance radius needs to be increased by agent radius (stop on overlap vs exact point)

◆ bReachTestIncludesGoalRadius

uint32 FAIMoveRequest::bReachTestIncludesGoalRadius
protected

pathfollowing: acceptance radius needs to be increased by goal actor radius

◆ bRequireNavigableEndLocation

uint32 FAIMoveRequest::bRequireNavigableEndLocation
protected

pathfinding: if set - require the end location to be linked to the navigation data

◆ bStartFromPreviousPath

uint32 FAIMoveRequest::bStartFromPreviousPath
protected

pathfinding: the request will start from the end of the previous path (if any), and the generated path will be merged with the remaining points of the previous path

◆ bUsePathfinding

uint32 FAIMoveRequest::bUsePathfinding
protected

pathfinding: if set - regular pathfinding will be used, if not - direct path between two points

◆ CostLimitFactor

float FAIMoveRequest::CostLimitFactor
protected

pathfinding: this multiplier is used to compute a max node cost allowed to the open list (cost limit = CostLimitFactor*InitialHeuristicEstimate)

◆ FilterClass

TSubclassOf<UNavigationQueryFilter> FAIMoveRequest::FilterClass
protected

pathfinding: navigation filter to use

◆ GoalActor

TWeakObjectPtr<AActor> FAIMoveRequest::GoalActor
protected

move goal: actor

◆ GoalLocation

FVector FAIMoveRequest::GoalLocation
mutableprotected

move goal: location

◆ MinimumCostLimit

float FAIMoveRequest::MinimumCostLimit
protected

pathfinding: minimum cost limit clamping value (in cost units) used to allow large deviation in short paths

◆ UserData

FCustomMoveSharedPtr FAIMoveRequest::UserData
protected

custom user data: structure

◆ UserFlags

int32 FAIMoveRequest::UserFlags
protected

custom user data: flags


The documentation for this struct was generated from the following files: