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

#include <EnvQueryTypes.h>

+ Inheritance diagram for FEnvQueryInstance:

Public Types

typedef float FNamedParamValueType
 

Public Member Functions

AIMODULE_API FEnvQueryInstance ()
 
AIMODULE_API FEnvQueryInstance (const FEnvQueryInstance &Other)
 
AIMODULE_API ~FEnvQueryInstance ()
 
AIMODULE_API void ExecuteOneStep (double TimeLimit)
 
AIMODULE_API bool PrepareContext (UClass *Context, FEnvQueryContextData &ContextData)
 
AIMODULE_API bool PrepareContext (UClass *Context, TArray< FEnvQuerySpatialData > &Data)
 
AIMODULE_API bool PrepareContext (UClass *Context, TArray< FVector > &Data)
 
AIMODULE_API bool PrepareContext (UClass *Context, TArray< FRotator > &Data)
 
AIMODULE_API bool PrepareContext (UClass *Context, TArray< AActor * > &Data)
 
bool IsInSingleItemFinalSearch () const
 
bool CanBatchTest () const
 
bool IsCurrentlyRunningAsync () const
 
AIMODULE_API void ReserveItemData (int32 NumAdditionalItems)
 
template<typename TypeItem >
void AddItemData (typename TypeItem::FValueType ItemValue)
 
template<typename TypeItem >
void AddItemData (TArray< typename TypeItem::FValueType > &ItemCollection)
 
template<typename TypeItem , typename TypeValue >
void AddItemData (TypeValue ItemValue)
 
template<typename TypeItem , typename TypeValue >
void AddItemData (TArray< TypeValue > &ItemCollection)
 
AIMODULE_API void StripRedundantData ()
 
uint32 GetAllocatedSize () const
 
uint32 GetContextAllocatedSize () const
 
void IncStats ()
 
void DecStats ()
 
AIMODULE_API void Log (const FString Msg) const
 
AIMODULE_API FString GetExecutionTimeDescription () const
 
AIMODULE_API FBox GetBoundingBox () const
 
template<>
AIMODULE_API void AddItemData (FVector ItemValue)
 
template<>
void AddItemData (FVector ItemValue)
 
- Public Member Functions inherited from FEnvQueryResult
float GetItemScore (int32 Index) const
 
AIMODULE_API AActorGetItemAsActor (int32 Index) const
 
AIMODULE_API FVector GetItemAsLocation (int32 Index) const
 
template<typename TItemType >
const TItemType::FValueType & GetItemAsTypeChecked (const int32 Index) const
 
AIMODULE_API void GetAllAsActors (TArray< AActor * > &OutActors) const
 
AIMODULE_API void GetAllAsLocations (TArray< FVector > &OutLocations) const
 
const uint8GetItemRawMemory (const int32 Index) const
 
 FEnvQueryResult ()
 
 FEnvQueryResult (const EEnvQueryStatus::Type &InStatus)
 
bool IsFinished () const
 
bool IsAborted () const
 
bool IsSuccessful () const
 
void MarkAsMissingParam ()
 
void MarkAsAborted ()
 
void MarkAsFailed ()
 
void MarkAsFinishedWithoutIssues ()
 
void MarkAsOwnerLost ()
 
EEnvQueryStatus::Type GetRawStatus () const
 
bool IsSuccsessful () const
 

Public Attributes

FString QueryName
 
FName UniqueName
 
TObjectPtr< UWorldWorld
 
FQueryFinishedSignature FinishDelegate
 
TMap< FName, FNamedParamValueTypeNamedParams
 
TArray< FEnvQueryInstanceContextCacheItemContextCache
 
TArray< FEnvQueryOptionInstanceOptions
 
int32 CurrentTest
 
int32 CurrentTestStartingItem
 
TArray< FEnvQueryItemDetailsItemDetails
 
int32 NumValidItems
 
uint16 ValueSize
 
int32 NumProcessedItems
 
uint8 bStoreDebugInfo: 1
 
uint8 bFoundSingleResult: 1
 
uint8 bPassOnSingleResult: 1
 
uint8 bHasLoggedTimeLimitWarning: 1
 
uint8 bIsCurrentlyRunningAsync: 1
 
double StartTime
 
double TotalExecutionTime
 
double CurrentStepTimeLimit
 
double GenerationTimeWarningSeconds = 0.01f
 
EEnvQueryRunMode::Type Mode
 
TObjectPtr< UEnvQueryItemType_VectorBaseItemTypeVectorCDO
 
TObjectPtr< UEnvQueryItemType_ActorBaseItemTypeActorCDO
 
FEnvQueryDebugData DebugData
 
- Public Attributes inherited from FEnvQueryResult
TArray< FEnvQueryItemItems
 
TSubclassOf< UEnvQueryItemTypeItemType
 
TArray< uint8RawData
 
int32 OptionIndex
 
int32 QueryID
 
TWeakObjectPtr< UObjectOwner
 

Static Public Attributes

static AIMODULE_API bool bDebuggingInfoEnabled
 

Protected Member Functions

AIMODULE_API void FinalizeGeneration ()
 
AIMODULE_API void FinalizeTest ()
 
AIMODULE_API void FinalizeQuery ()
 
AIMODULE_API void NormalizeScores ()
 
AIMODULE_API void SortScores ()
 
AIMODULE_API void PickRandomItemOfScoreAtLeast (float MinScore)
 
AIMODULE_API void PickSingleItem (int32 ItemIndex)
 

Member Typedef Documentation

◆ FNamedParamValueType

Constructor & Destructor Documentation

◆ FEnvQueryInstance() [1/2]

FEnvQueryInstance::FEnvQueryInstance ( )

◆ FEnvQueryInstance() [2/2]

FEnvQueryInstance::FEnvQueryInstance ( const FEnvQueryInstance Other)

◆ ~FEnvQueryInstance()

FEnvQueryInstance::~FEnvQueryInstance ( )

Member Function Documentation

◆ AddItemData() [1/6]

template<>
AIMODULE_API void FEnvQueryInstance::AddItemData ( FVector  ItemValue)

◆ AddItemData() [2/6]

template<>
void FEnvQueryInstance::AddItemData ( FVector  ItemValue)

◆ AddItemData() [3/6]

template<typename TypeItem >
void FEnvQueryInstance::AddItemData ( TArray< typename TypeItem::FValueType > &  ItemCollection)
inline

AddItemData specialization for arrays if values

◆ AddItemData() [4/6]

void FEnvQueryInstance::AddItemData ( TArray< TypeValue > &  ItemCollection)
inline

◆ AddItemData() [5/6]

template<typename TypeItem >
void FEnvQueryInstance::AddItemData ( typename TypeItem::FValueType  ItemValue)
inline

◆ AddItemData() [6/6]

void FEnvQueryInstance::AddItemData ( TypeValue  ItemValue)
inline

◆ CanBatchTest()

bool FEnvQueryInstance::CanBatchTest ( ) const
inline

check if current test can batch its calculations

◆ DecStats()

void FEnvQueryInstance::DecStats ( )
inline

◆ ExecuteOneStep()

void FEnvQueryInstance::ExecuteOneStep ( double  TimeLimit)

execute single step of query

◆ FinalizeGeneration()

void FEnvQueryInstance::FinalizeGeneration ( )
protected

prepare item data after generator has finished

◆ FinalizeQuery()

void FEnvQueryInstance::FinalizeQuery ( )
protected

final pass on items of finished query

◆ FinalizeTest()

void FEnvQueryInstance::FinalizeTest ( )
protected

update costs and flags after test has finished

◆ GetAllocatedSize()

uint32 FEnvQueryInstance::GetAllocatedSize ( ) const
inline

◆ GetBoundingBox()

FBox FEnvQueryInstance::GetBoundingBox ( ) const

◆ GetContextAllocatedSize()

uint32 FEnvQueryInstance::GetContextAllocatedSize ( ) const
inline

◆ GetExecutionTimeDescription()

FString FEnvQueryInstance::GetExecutionTimeDescription ( ) const

describe for logging purposes what the query spent time on

◆ IncStats()

void FEnvQueryInstance::IncStats ( )
inline

◆ IsCurrentlyRunningAsync()

bool FEnvQueryInstance::IsCurrentlyRunningAsync ( ) const
inline

◆ IsInSingleItemFinalSearch()

bool FEnvQueryInstance::IsInSingleItemFinalSearch ( ) const
inline

◆ Log()

void FEnvQueryInstance::Log ( const FString  Msg) const

◆ NormalizeScores()

void FEnvQueryInstance::NormalizeScores ( )
protected

normalize total score in range 0..1

◆ PickRandomItemOfScoreAtLeast()

void FEnvQueryInstance::PickRandomItemOfScoreAtLeast ( float  MinScore)
protected

pick one of items with score equal or higher than specified

◆ PickSingleItem()

void FEnvQueryInstance::PickSingleItem ( int32  ItemIndex)
protected

discard all items but one

◆ PrepareContext() [1/5]

bool FEnvQueryInstance::PrepareContext ( UClass Context,
FEnvQueryContextData ContextData 
)

update context cache

◆ PrepareContext() [2/5]

bool FEnvQueryInstance::PrepareContext ( UClass Context,
TArray< AActor * > &  Data 
)

helpers for reading actor data from context

◆ PrepareContext() [3/5]

bool FEnvQueryInstance::PrepareContext ( UClass Context,
TArray< FEnvQuerySpatialData > &  Data 
)

helpers for reading spatial data from context

◆ PrepareContext() [4/5]

bool FEnvQueryInstance::PrepareContext ( UClass Context,
TArray< FRotator > &  Data 
)

◆ PrepareContext() [5/5]

bool FEnvQueryInstance::PrepareContext ( UClass Context,
TArray< FVector > &  Data 
)

◆ ReserveItemData()

void FEnvQueryInstance::ReserveItemData ( int32  NumAdditionalItems)

raw data operations

◆ SortScores()

void FEnvQueryInstance::SortScores ( )
protected

sort all scores, from highest to lowest

◆ StripRedundantData()

void FEnvQueryInstance::StripRedundantData ( )

removes all runtime data that can be used for debugging (not a part of actual query result)

Member Data Documentation

◆ bDebuggingInfoEnabled

AIMODULE_API bool FEnvQueryInstance::bDebuggingInfoEnabled
static

◆ bFoundSingleResult

uint8 FEnvQueryInstance::bFoundSingleResult

used to breaking from item iterator loops

◆ bHasLoggedTimeLimitWarning

uint8 FEnvQueryInstance::bHasLoggedTimeLimitWarning

true if this query has logged a warning that it overran the time limit

◆ bIsCurrentlyRunningAsync

uint8 FEnvQueryInstance::bIsCurrentlyRunningAsync

true if current Generator or Test is running asynchronously

◆ bPassOnSingleResult

uint8 FEnvQueryInstance::bPassOnSingleResult

set when testing final condition of an option

◆ bStoreDebugInfo

uint8 FEnvQueryInstance::bStoreDebugInfo

set to true to store additional debug info

◆ ContextCache

TArray<FEnvQueryInstanceContextCacheItem> FEnvQueryInstance::ContextCache

contexts in use

◆ CurrentStepTimeLimit

double FEnvQueryInstance::CurrentStepTimeLimit

if > 0 then it's how much time query has for performing current step

◆ CurrentTest

int32 FEnvQueryInstance::CurrentTest

currently processed test (-1 = generator)

◆ CurrentTestStartingItem

int32 FEnvQueryInstance::CurrentTestStartingItem

non-zero if test run last step has been stopped mid-process. This indicates index of the first item that needs processing when resumed

◆ DebugData

FEnvQueryDebugData FEnvQueryInstance::DebugData

◆ FinishDelegate

FQueryFinishedSignature FEnvQueryInstance::FinishDelegate

observer's delegate

◆ GenerationTimeWarningSeconds

double FEnvQueryInstance::GenerationTimeWarningSeconds = 0.01f

Maximum EQS Generator duration (in seconds) before a warning is reported in non-shipping build.

◆ ItemDetails

TArray<FEnvQueryItemDetails> FEnvQueryInstance::ItemDetails

list of item details

◆ ItemTypeActorCDO

TObjectPtr<UEnvQueryItemType_ActorBase> FEnvQueryInstance::ItemTypeActorCDO

item type's CDO for actor tests

◆ ItemTypeVectorCDO

TObjectPtr<UEnvQueryItemType_VectorBase> FEnvQueryInstance::ItemTypeVectorCDO

item type's CDO for location tests

◆ Mode

EEnvQueryRunMode::Type FEnvQueryInstance::Mode

run mode

◆ NamedParams

TMap<FName, FNamedParamValueType> FEnvQueryInstance::NamedParams

execution params

◆ NumProcessedItems

int32 FEnvQueryInstance::NumProcessedItems

number of items processed in current step

◆ NumValidItems

int32 FEnvQueryInstance::NumValidItems

number of valid items on list

◆ Options

TArray<FEnvQueryOptionInstance> FEnvQueryInstance::Options

list of options

◆ QueryName

FString FEnvQueryInstance::QueryName

short name of query template - friendly name for debugging

◆ StartTime

double FEnvQueryInstance::StartTime

timestamp of creating query instance

◆ TotalExecutionTime

double FEnvQueryInstance::TotalExecutionTime

time spent executing this query

◆ UniqueName

FName FEnvQueryInstance::UniqueName

unique name of query template - object name

◆ ValueSize

uint16 FEnvQueryInstance::ValueSize

size of current value

◆ World

TObjectPtr<UWorld> FEnvQueryInstance::World

world owning this query instance


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