UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
EnvQueryTypes.h File Reference
#include "CoreMinimal.h"
#include "Stats/Stats.h"
#include "UObject/ObjectMacros.h"
#include "UObject/Object.h"
#include "Templates/SubclassOf.h"
#include "Engine/EngineTypes.h"
#include "EnvironmentQuery/Items/EnvQueryItemType.h"
#include "EnvironmentQuery/EnvQueryContext.h"
#include "BehaviorTree/BehaviorTreeTypes.h"
#include "EnvQueryTypes.generated.h"

Go to the source code of this file.

Classes

struct  FEnvNamedValue
 
struct  FEnvDirection
 
struct  FEnvTraceData
 
struct  FEnvOverlapData
 
struct  FEnvQueryItem
 
struct  TIsZeroConstructType< FEnvQueryItem >
 
struct  FEnvQueryResult
 
struct  FEnvQuerySpatialData
 
struct  FEnvQueryItemDetails
 
struct  FEnvQueryContextData
 
struct  FEnvQueryOptionInstance
 
struct  FEnvQueryDebugProfileData
 
struct  FEnvQueryDebugProfileData::FStep
 
struct  FEnvQueryDebugProfileData::FOptionStat
 
struct  FEnvQueryDebugProfileData::FOptionData
 
struct  FEnvQueryDebugData
 
struct  FEQSQueryDebugData
 
class  UEnvQueryTypes
 
struct  FEnvQueryInstanceContextCacheItem
 
struct  FEnvQueryInstance
 
struct  FAIDynamicParam
 
struct  FEQSParametrizedQueryExecutionRequest
 

Namespaces

namespace  EEnvTestPurpose
 
namespace  EEnvTestFilterType
 
namespace  EEnvTestScoreEquation
 
namespace  EEnvTestWeight
 
namespace  EEnvTestCost
 
namespace  EEnvTestFilterOperator
 
namespace  EEnvTestScoreOperator
 
namespace  EEnvItemStatus
 
namespace  EEnvQueryStatus
 
namespace  EEnvQueryRunMode
 
namespace  EEnvQueryParam
 
namespace  EEnvQueryTrace
 
namespace  EEnvTraceShape
 
namespace  EEnvOverlapShape
 
namespace  EEnvDirection
 
namespace  EEnvQueryTestClamping
 
namespace  FEQSHelpers
 

Macros

#define USE_EQS_DEBUGGER   (1 && !(UE_BUILD_SHIPPING || UE_BUILD_TEST))
 
#define USE_EQS_TICKLOADDATA   (1 && USE_EQS_DEBUGGER && WITH_EDITOR)
 
#define EQSHEADERLOG(msg)   Log(msg)
 
#define UE_EQS_DBGMSG(Condition, Format, ...)
 
#define UE_EQS_LOG(CategoryName, Verbosity, Format, ...)
 

Enumerations

enum  EEnvTestPurpose::Type : int { EEnvTestPurpose::UMETA =(DisplayName="Filter Only") , EEnvTestPurpose::UMETA =(DisplayName="Filter Only") , EEnvTestPurpose::UMETA =(DisplayName="Filter Only") }
 
enum  EEnvTestFilterType::Type : int { EEnvTestFilterType::Minimum , EEnvTestFilterType::Maximum , EEnvTestFilterType::Range , EEnvTestFilterType::Match }
 
enum  EEnvTestScoreEquation::Type : int {
  EEnvTestScoreEquation::Linear , EEnvTestScoreEquation::Square , EEnvTestScoreEquation::InverseLinear , EEnvTestScoreEquation::SquareRoot ,
  EEnvTestScoreEquation::Constant
}
 
enum  EEnvTestWeight::Type : int {
  EEnvTestWeight::None , EEnvTestWeight::Square , EEnvTestWeight::Inverse , EEnvTestWeight::UMETA =(Hidden) ,
  EEnvTestWeight::Constant , EEnvTestWeight::UMETA =(Hidden)
}
 
enum  EEnvTestCost::Type : int { EEnvTestCost::Low , EEnvTestCost::Medium , EEnvTestCost::High }
 
enum  EEnvTestFilterOperator::Type : int { EEnvTestFilterOperator::UMETA =(Tooltip = "All contexts must pass condition") , EEnvTestFilterOperator::UMETA =(Tooltip = "All contexts must pass condition") }
 
enum  EEnvTestScoreOperator::Type : int { EEnvTestScoreOperator::UMETA =(Tooltip = "Use average score from all contexts") , EEnvTestScoreOperator::UMETA =(Tooltip = "Use average score from all contexts") , EEnvTestScoreOperator::UMETA =(Tooltip = "Use average score from all contexts") , EEnvTestScoreOperator::UMETA =(Tooltip = "Use average score from all contexts") }
 
enum  EEnvItemStatus::Type { EEnvItemStatus::Passed , EEnvItemStatus::Failed }
 
enum  EEnvQueryStatus::Type : int {
  EEnvQueryStatus::Processing , EEnvQueryStatus::Success , EEnvQueryStatus::Failed , EEnvQueryStatus::Aborted ,
  EEnvQueryStatus::OwnerLost , EEnvQueryStatus::MissingParam
}
 
enum  EEnvQueryRunMode::Type : int { EEnvQueryRunMode::UMETA =(Tooltip="Pick first item with the best score", DisplayName="Single Best Item") , EEnvQueryRunMode::UMETA =(Tooltip="Pick first item with the best score", DisplayName="Single Best Item") , EEnvQueryRunMode::UMETA =(Tooltip="Pick first item with the best score", DisplayName="Single Best Item") , EEnvQueryRunMode::UMETA =(Tooltip="Pick first item with the best score", DisplayName="Single Best Item") }
 
enum class  EEnvQueryResultNormalizationOption : uint8 { Default , Normalized , Unaltered }
 
enum  EEnvQueryParam::Type : int { EEnvQueryParam::Float , EEnvQueryParam::Int , EEnvQueryParam::Bool }
 
enum class  EAIParamType : uint8 { Float , Int , Bool , UMETA =(Hidden) }
 
enum  EEnvQueryTrace::Type : int {
  EEnvQueryTrace::None , EEnvQueryTrace::Navigation , EEnvQueryTrace::GeometryByChannel , EEnvQueryTrace::GeometryByProfile ,
  EEnvQueryTrace::NavigationOverLedges
}
 
enum  EEnvTraceShape::Type : int { EEnvTraceShape::Line , EEnvTraceShape::Box , EEnvTraceShape::Sphere , EEnvTraceShape::Capsule }
 
enum  EEnvOverlapShape::Type : int { EEnvOverlapShape::Box , EEnvOverlapShape::Sphere , EEnvOverlapShape::Capsule }
 
enum  EEnvDirection::Type : int { EEnvDirection::UMETA =(DisplayName="Two Points",ToolTip="Direction from location of one context to another.") , EEnvDirection::UMETA =(DisplayName="Two Points",ToolTip="Direction from location of one context to another.") }
 
enum  EEnvQueryTestClamping::Type : int { EEnvQueryTestClamping::None , EEnvQueryTestClamping::SpecifiedValue , EEnvQueryTestClamping::FilterThreshold }
 

Functions

AIMODULE_API DECLARE_LOG_CATEGORY_EXTERN (LogEQS, Display, All)
 
 DECLARE_STATS_GROUP (TEXT("Environment Query"), STATGROUP_AI_EQS, STATCAT_Advanced)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Tick"), STAT_AI_EQS_Tick, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Tick - EQS work"), STAT_AI_EQS_TickWork, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Tick - OnFinished delegates"), STAT_AI_EQS_TickNotifies, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Tick - Removal of completed queries"), STAT_AI_EQS_TickQueryRemovals, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Load Time"), STAT_AI_EQS_LoadTime, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Execute One Step Time"), STAT_AI_EQS_ExecuteOneStep, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Generator Time"), STAT_AI_EQS_GeneratorTime, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Test Time"), STAT_AI_EQS_TestTime, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("EQS Debug StoreQuery"), STAT_AI_EQS_Debug_StoreQuery, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("EQS Debug StoreTickTime"), STAT_AI_EQS_Debug_StoreTickTime, STATGROUP_AI_EQS,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("EQS Debug StoreStats"), STAT_AI_EQS_Debug_StoreStats, STATGROUP_AI_EQS,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Instances"), STAT_AI_EQS_NumInstances, STATGROUP_AI_EQS,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Num Items"), STAT_AI_EQS_NumItems, STATGROUP_AI_EQS,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Instance memory"), STAT_AI_EQS_InstanceMemory, STATGROUP_AI_EQS, AIMODULE_API)
 
 DECLARE_FLOAT_COUNTER_STAT_EXTERN (TEXT("Avg Instance Response Time (ms)"), STAT_AI_EQS_AvgInstanceResponseTime, STATGROUP_AI_EQS,)
 
 DECLARE_DELEGATE_OneParam (FQueryFinishedSignature, TSharedPtr< FEnvQueryResult >)
 
FArchiveoperator<< (FArchive &Ar, FEnvQueryDebugProfileData::FStep &Data)
 
FArchiveoperator<< (FArchive &Ar, FEnvQueryDebugProfileData::FOptionStat &Data)
 
FArchiveoperator<< (FArchive &Ar, FEnvQueryDebugProfileData::FOptionData &Data)
 
FArchiveoperator<< (FArchive &Ar, FEnvQueryDebugProfileData &Data)
 
AIMODULE_API const ANavigationDataFEQSHelpers::FindNavigationDataForQuery (FEnvQueryInstance &QueryInstance)
 

Macro Definition Documentation

◆ EQSHEADERLOG

#define EQSHEADERLOG (   msg)    Log(msg)

◆ UE_EQS_DBGMSG

#define UE_EQS_DBGMSG (   Condition,
  Format,
  ... 
)
Value:
if (Condition) \
{ \
Instance.ItemDetails[CurrentItem].FailedDescription = FString::Printf(Format, ##__VA_ARGS__); \
}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127

◆ UE_EQS_LOG

#define UE_EQS_LOG (   CategoryName,
  Verbosity,
  Format,
  ... 
)
Value:
UE_LOG(CategoryName, Verbosity, Format, ##__VA_ARGS__); \
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270

◆ USE_EQS_DEBUGGER

#define USE_EQS_DEBUGGER   (1 && !(UE_BUILD_SHIPPING || UE_BUILD_TEST))

◆ USE_EQS_TICKLOADDATA

#define USE_EQS_TICKLOADDATA   (1 && USE_EQS_DEBUGGER && WITH_EDITOR)

Enumeration Type Documentation

◆ EAIParamType

enum class EAIParamType : uint8
strong
Enumerator
Float 
Int 
Bool 
UMETA 

◆ EEnvQueryResultNormalizationOption

Enumerator
Default 
Normalized 
Unaltered 

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("EQS Debug StoreQuery" ,
STAT_AI_EQS_Debug_StoreQuery  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("EQS Debug StoreStats" ,
STAT_AI_EQS_Debug_StoreStats  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("EQS Debug StoreTickTime" ,
STAT_AI_EQS_Debug_StoreTickTime  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Execute One Step Time" ,
STAT_AI_EQS_ExecuteOneStep  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Generator Time" ,
STAT_AI_EQS_GeneratorTime  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Load Time" ,
STAT_AI_EQS_LoadTime  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Test Time" ,
STAT_AI_EQS_TestTime  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [8/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Tick - EQS work" ,
STAT_AI_EQS_TickWork  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [9/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Tick - OnFinished delegates" ,
STAT_AI_EQS_TickNotifies  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [10/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Tick - Removal of completed queries" ,
STAT_AI_EQS_TickQueryRemovals  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [11/11]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Tick")  ,
STAT_AI_EQS_Tick  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_DELEGATE_OneParam()

DECLARE_DELEGATE_OneParam ( FQueryFinishedSignature  ,
TSharedPtr< FEnvQueryResult  
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [1/2]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Instances" ,
STAT_AI_EQS_NumInstances  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [2/2]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Num Items" ,
STAT_AI_EQS_NumItems  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_FLOAT_COUNTER_STAT_EXTERN()

DECLARE_FLOAT_COUNTER_STAT_EXTERN ( TEXT("Avg Instance Response Time (ms)")  ,
STAT_AI_EQS_AvgInstanceResponseTime  ,
STATGROUP_AI_EQS   
)

◆ DECLARE_LOG_CATEGORY_EXTERN()

AIMODULE_API DECLARE_LOG_CATEGORY_EXTERN ( LogEQS  ,
Display  ,
All   
)

◆ DECLARE_MEMORY_STAT_EXTERN()

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Instance memory" ,
STAT_AI_EQS_InstanceMemory  ,
STATGROUP_AI_EQS  ,
AIMODULE_API   
)

◆ DECLARE_STATS_GROUP()

DECLARE_STATS_GROUP ( TEXT("Environment Query" ,
STATGROUP_AI_EQS  ,
STATCAT_Advanced   
)

◆ operator<<() [1/4]

FArchive & operator<< ( FArchive Ar,
FEnvQueryDebugProfileData Data 
)

◆ operator<<() [2/4]

FArchive & operator<< ( FArchive Ar,
FEnvQueryDebugProfileData::FOptionData Data 
)

◆ operator<<() [3/4]

FArchive & operator<< ( FArchive Ar,
FEnvQueryDebugProfileData::FOptionStat Data 
)

◆ operator<<() [4/4]

FArchive & operator<< ( FArchive Ar,
FEnvQueryDebugProfileData::FStep Data 
)