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

#include <MassEntityQuery.h>

+ Inheritance diagram for FMassEntityQuery:

Public Types

enum class  EParallelExecutionFlags { Default = 0 , Force = 1 << 0 , AutoBalance = 1 << 1 }
 
enum  EParallelForMode { Default = static_cast<int32>(EParallelExecutionFlags::Default) , ForceParallelExecution = static_cast<int32>(EParallelExecutionFlags::Force) }
 

Public Member Functions

 FMassEntityQuery ()=default
 
UE_API FMassEntityQuery (UMassProcessor &Owner)
 
UE_API FMassEntityQuery (const TSharedPtr< FMassEntityManager > &EntityManager)
 
UE_API FMassEntityQuery (const TSharedRef< FMassEntityManager > &EntityManager, std::initializer_list< UScriptStruct * > InitList)
 
UE_API FMassEntityQuery (const TSharedRef< FMassEntityManager > &EntityManager, TConstArrayView< const UScriptStruct * > InitList)
 
UE_API void RegisterWithProcessor (UMassProcessor &Owner)
 
UE_API void ForEachEntityChunk (FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ForEachEntityChunk (FMassExecutionContext &ExecutionContext, UE::Mass::FExecutionLimiter &Limiter, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ForEachEntityChunk (const FMassArchetypeEntityCollection &EntityCollection, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ParallelForEachEntityChunk (FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelExecutionFlags Flags=EParallelExecutionFlags::Default)
 
UE_API void ForEachEntityChunkInCollections (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ParallelForEachEntityChunkInCollection (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelExecutionFlags Flags=EParallelExecutionFlags::Default)
 
UE_API void CacheArchetypes ()
 
void Clear ()
 
void DirtyCachedData ()
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode)
 
bool DoesRequireGameThreadExecution () const
 
void RequireMutatingWorldAccess ()
 
bool IsEmpty () const
 
const TArray< FMassArchetypeHandle > & GetArchetypes () const
 
UE_API int32 GetNumMatchingEntities ()
 
UE_API int32 GetNumMatchingEntities (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections)
 
UE_API bool HasMatchingEntities ()
 
UE_API TArray< FMassArchetypeEntityCollectionCreateMatchingEntitiesCollection ()
 
UE_API TArray< FMassEntityHandleGetMatchingEntityHandles ()
 
void SetChunkFilter (const FMassChunkConditionFunction &InFunction)
 
void ClearChunkFilter ()
 
bool HasChunkFilter () const
 
UE_API void GroupBy (UE::Mass::FArchetypeGroupType GroupType)
 
UE_API void GroupBy (UE::Mass::FArchetypeGroupType GroupType, const TFunction< bool(const UE::Mass::FArchetypeGroupID, const UE::Mass::FArchetypeGroupID)> &Predicate)
 
UE_API void ResetGrouping ()
 
bool IsGrouping () const
 
const TSharedPtr< FMassEntityManager > & GetEntityManager () const
 
UE_API const FMassQueryRequirementIndicesMappingGetRequirementsMappingForArchetype (const FMassArchetypeHandle ArchetypeHandle) const
 
UE_API void ExportRequirements (FMassExecutionRequirements &OutRequirements) const
 
void SetParallelCommandBufferEnabled (const bool bInAllowParallelCommands)
 
UE_API void DebugEnableEntityOwnerLogging ()
 
UE_API FMassEntityQuery (std::initializer_list< UScriptStruct * > InitList)
 
UE_API FMassEntityQuery (TConstArrayView< const UScriptStruct * > InitList)
 
UE_API void ForEachEntityChunk (FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ForEachEntityChunk (const FMassArchetypeEntityCollection &EntityCollection, FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ParallelForEachEntityChunk (FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelForMode ParallelMode=Default)
 
UE_API void ForEachEntityChunkInCollections (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction)
 
UE_API void ParallelForEachEntityChunkInCollection (TConstArrayView< FMassArchetypeEntityCollection > EntityCollections, FMassEntityManager &EntityManager, FMassExecutionContext &ExecutionContext, const FMassExecuteFunction &ExecuteFunction, const EParallelForMode ParallelMode)
 
UE_API void CacheArchetypes (const FMassEntityManager &InEntityManager)
 
UE_API int32 GetNumMatchingEntities (FMassEntityManager &InEntityManager)
 
UE_API bool HasMatchingEntities (FMassEntityManager &InEntityManager)
 
template<typename T >
FMassSubsystemRequirementsAddSubsystemRequirement (const EMassFragmentAccess AccessMode)
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const bool bGameThreadOnly)
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const TSharedRef< FMassEntityManager > &EntityManager)
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode)
 
- Public Member Functions inherited from FMassFragmentRequirements
 FMassFragmentRequirements ()=default
 
MASSENTITY_API FMassFragmentRequirements (const TSharedPtr< FMassEntityManager > &EntityManager)
 
MASSENTITY_API FMassFragmentRequirements (const TSharedRef< FMassEntityManager > &EntityManager)
 
MASSENTITY_API void Initialize (const TSharedRef< FMassEntityManager > &EntityManager)
 
FMassFragmentRequirementsAddElementRequirement (TNotNull< const UScriptStruct * > ElementType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
FMassFragmentRequirementsAddRequirement (const UScriptStruct *FragmentType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
template<typename T >
FMassFragmentRequirementsAddRequirement (const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
FMassFragmentRequirementsAddTagRequirement (TNotNull< const UScriptStruct * > TagType, const EMassFragmentPresence Presence)
 
void AddTagRequirement (const UScriptStruct &TagType, const EMassFragmentPresence Presence)
 
template<typename T >
FMassFragmentRequirementsAddTagRequirement (const EMassFragmentPresence Presence)
 
template<EMassFragmentPresence Presence>
FMassFragmentRequirementsAddTagRequirements (const FMassTagBitSet &TagBitSet)
 
MASSENTITY_API FMassFragmentRequirementsClearTagRequirements (const FMassTagBitSet &TagsToRemoveBitSet)
 
template<typename T >
FMassFragmentRequirementsAddChunkRequirement (const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
FMassFragmentRequirementsAddChunkRequirement (TNotNull< const UScriptStruct * > ChunkFragmentType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
template<typename T >
FMassFragmentRequirementsAddConstSharedRequirement (const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
FMassFragmentRequirementsAddConstSharedRequirement (const UScriptStruct *FragmentType, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
template<typename T >
FMassFragmentRequirementsAddSharedRequirement (const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
FMassFragmentRequirementsAddSharedRequirement (TNotNull< const UScriptStruct * > SharedFragmentType, const EMassFragmentAccess AccessMode, const EMassFragmentPresence Presence=EMassFragmentPresence::All)
 
MASSENTITY_API void Reset ()
 
MASSENTITY_API bool CheckValidity () const
 
TConstArrayView< FMassFragmentRequirementDescriptionGetFragmentRequirements () const
 
TConstArrayView< FMassFragmentRequirementDescriptionGetChunkFragmentRequirements () const
 
TConstArrayView< FMassFragmentRequirementDescriptionGetConstSharedFragmentRequirements () const
 
TConstArrayView< FMassFragmentRequirementDescriptionGetSharedFragmentRequirements () const
 
const FMassFragmentBitSetGetRequiredAllFragments () const
 
const FMassFragmentBitSetGetRequiredAnyFragments () const
 
const FMassFragmentBitSetGetRequiredOptionalFragments () const
 
const FMassFragmentBitSetGetRequiredNoneFragments () const
 
const FMassTagBitSetGetRequiredAllTags () const
 
const FMassTagBitSetGetRequiredAnyTags () const
 
const FMassTagBitSetGetRequiredNoneTags () const
 
const FMassTagBitSetGetRequiredOptionalTags () const
 
const FMassChunkFragmentBitSetGetRequiredAllChunkFragments () const
 
const FMassChunkFragmentBitSetGetRequiredOptionalChunkFragments () const
 
const FMassChunkFragmentBitSetGetRequiredNoneChunkFragments () const
 
const FMassSharedFragmentBitSetGetRequiredAllSharedFragments () const
 
const FMassSharedFragmentBitSetGetRequiredOptionalSharedFragments () const
 
const FMassSharedFragmentBitSetGetRequiredNoneSharedFragments () const
 
const FMassConstSharedFragmentBitSetGetRequiredAllConstSharedFragments () const
 
const FMassConstSharedFragmentBitSetGetRequiredOptionalConstSharedFragments () const
 
const FMassConstSharedFragmentBitSetGetRequiredNoneConstSharedFragments () const
 
bool IsInitialized () const
 
MASSENTITY_API bool IsEmpty () const
 
bool HasPositiveRequirements () const
 
bool HasNegativeRequirements () const
 
bool HasOptionalRequirements () const
 
MASSENTITY_API bool DoesArchetypeMatchRequirements (const FMassArchetypeHandle &ArchetypeHandle) const
 
MASSENTITY_API bool DoesArchetypeMatchRequirements (const FMassArchetypeCompositionDescriptor &ArchetypeComposition) const
 
MASSENTITY_API bool DoesMatchAnyOptionals (const FMassArchetypeCompositionDescriptor &ArchetypeComposition) const
 
bool DoesRequireGameThreadExecution () const
 
MASSENTITY_API void ExportRequirements (FMassExecutionRequirements &OutRequirements) const
 
MASSENTITY_API FMassFragmentRequirements (std::initializer_list< UScriptStruct * > InitList)
 
MASSENTITY_API FMassFragmentRequirements (TConstArrayView< const UScriptStruct * > InitList)
 
- Public Member Functions inherited from FMassSubsystemRequirements
template<typename T >
FMassSubsystemRequirementsAddSubsystemRequirement (const EMassFragmentAccess AccessMode)
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const bool bGameThreadOnly)
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode, const TSharedRef< FMassEntityManager > &EntityManager)
 
FMassSubsystemRequirementsAddSubsystemRequirement (const TSubclassOf< USubsystem > SubsystemClass, const EMassFragmentAccess AccessMode)
 
MASSENTITY_API void Reset ()
 
const FMassExternalSubsystemBitSetGetRequiredConstSubsystems () const
 
const FMassExternalSubsystemBitSetGetRequiredMutableSubsystems () const
 
bool IsEmpty () const
 
bool DoesRequireGameThreadExecution () const
 
MASSENTITY_API void ExportRequirements (FMassExecutionRequirements &OutRequirements) const
 

Static Public Attributes

static constexpr int32 ArchetypeMatchOverrideSize = MASS_ACHETYPE_OVERRIDE_MAX_SIZE
 
static constexpr uint32 ArchetypeMatchOverrideAlignment = MASS_ACHETYPE_OVERRIDE_MAX_ALIGNMENT
 

Friends

struct FMassDebugger
 

Additional Inherited Members

- Public Attributes inherited from FMassFragmentRequirements
friend FMassDebugger
 
friend FMassRequirementAccessDetector
 
- Public Attributes inherited from FMassSubsystemRequirements
friend FMassDebugger
 
friend FMassRequirementAccessDetector
 
- Protected Member Functions inherited from FMassFragmentRequirements
MASSENTITY_API void SortRequirements ()
 
void IncrementChangeCounter ()
 
void ConsumeIncrementalChangesCount ()
 
bool HasIncrementalChanges () const
 
MASSENTITY_API bool IsGameThreadOnlySharedFragment (TNotNull< const UScriptStruct * > SharedFragmentType) const
 
- Static Protected Member Functions inherited from FMassSubsystemRequirements
static MASSENTITY_API bool IsGameThreadOnlySubsystem (const TSubclassOf< USubsystem > SubsystemClass, const TSharedRef< FMassEntityManager > &EntityManager)
 
- Protected Attributes inherited from FMassFragmentRequirements
TArray< FMassFragmentRequirementDescriptionFragmentRequirements
 
TArray< FMassFragmentRequirementDescriptionChunkFragmentRequirements
 
TArray< FMassFragmentRequirementDescriptionConstSharedFragmentRequirements
 
TArray< FMassFragmentRequirementDescriptionSharedFragmentRequirements
 
FMassTagBitSet RequiredAllTags
 
FMassTagBitSet RequiredAnyTags
 
FMassTagBitSet RequiredNoneTags
 
FMassTagBitSet RequiredOptionalTags
 
FMassFragmentBitSet RequiredAllFragments
 
FMassFragmentBitSet RequiredAnyFragments
 
FMassFragmentBitSet RequiredOptionalFragments
 
FMassFragmentBitSet RequiredNoneFragments
 
FMassChunkFragmentBitSet RequiredAllChunkFragments
 
FMassChunkFragmentBitSet RequiredOptionalChunkFragments
 
FMassChunkFragmentBitSet RequiredNoneChunkFragments
 
FMassSharedFragmentBitSet RequiredAllSharedFragments
 
FMassSharedFragmentBitSet RequiredOptionalSharedFragments
 
FMassSharedFragmentBitSet RequiredNoneSharedFragments
 
FMassConstSharedFragmentBitSet RequiredAllConstSharedFragments
 
FMassConstSharedFragmentBitSet RequiredOptionalConstSharedFragments
 
FMassConstSharedFragmentBitSet RequiredNoneConstSharedFragments
 
TSharedPtr< FMassEntityManagerCachedEntityManager
 
- Protected Attributes inherited from FMassSubsystemRequirements
FMassExternalSubsystemBitSet RequiredConstSubsystems
 
FMassExternalSubsystemBitSet RequiredMutableSubsystems
 

Detailed Description

FMassEntityQuery is a structure that is used to trigger calculations on cached set of valid archetypes as described by requirements. See the parent classes FMassFragmentRequirements and FMassSubsystemRequirements for setting up the required fragments and subsystems.

A query to be considered valid needs declared at least one EMassFragmentPresence::All, EMassFragmentPresence::Any EMassFragmentPresence::Optional fragment requirement.

Member Enumeration Documentation

◆ EParallelExecutionFlags

Enumerator
Default 
Force 
AutoBalance 

◆ EParallelForMode

Enumerator
Default 
ForceParallelExecution 

Constructor & Destructor Documentation

◆ FMassEntityQuery() [1/7]

FMassEntityQuery::FMassEntityQuery ( )
default

◆ FMassEntityQuery() [2/7]

FMassEntityQuery::FMassEntityQuery ( UMassProcessor Owner)

◆ FMassEntityQuery() [3/7]

FMassEntityQuery::FMassEntityQuery ( const TSharedPtr< FMassEntityManager > &  EntityManager)

◆ FMassEntityQuery() [4/7]

FMassEntityQuery::FMassEntityQuery ( const TSharedRef< FMassEntityManager > &  EntityManager,
std::initializer_list< UScriptStruct * >  InitList 
)

◆ FMassEntityQuery() [5/7]

FMassEntityQuery::FMassEntityQuery ( const TSharedRef< FMassEntityManager > &  EntityManager,
TConstArrayView< const UScriptStruct * >  InitList 
)

◆ FMassEntityQuery() [6/7]

FMassEntityQuery::FMassEntityQuery ( std::initializer_list< UScriptStruct * >  InitList)

◆ FMassEntityQuery() [7/7]

FMassEntityQuery::FMassEntityQuery ( TConstArrayView< const UScriptStruct * >  InitList)

Member Function Documentation

◆ AddSubsystemRequirement() [1/5]

template<typename T >
FMassSubsystemRequirements & FMassSubsystemRequirements::AddSubsystemRequirement ( const EMassFragmentAccess  AccessMode)
inline

◆ AddSubsystemRequirement() [2/5]

FMassSubsystemRequirements & FMassSubsystemRequirements::AddSubsystemRequirement ( const TSubclassOf< USubsystem SubsystemClass,
const EMassFragmentAccess  AccessMode 
)
inline

◆ AddSubsystemRequirement() [3/5]

FMassSubsystemRequirements & FMassEntityQuery::AddSubsystemRequirement ( const TSubclassOf< USubsystem SubsystemClass,
const EMassFragmentAccess  AccessMode 
)
inline

◆ AddSubsystemRequirement() [4/5]

FMassSubsystemRequirements & FMassSubsystemRequirements::AddSubsystemRequirement ( const TSubclassOf< USubsystem SubsystemClass,
const EMassFragmentAccess  AccessMode,
const bool  bGameThreadOnly 
)
inline

◆ AddSubsystemRequirement() [5/5]

FMassSubsystemRequirements & FMassSubsystemRequirements::AddSubsystemRequirement ( const TSubclassOf< USubsystem SubsystemClass,
const EMassFragmentAccess  AccessMode,
const TSharedRef< FMassEntityManager > &  EntityManager 
)
inline

◆ CacheArchetypes() [1/2]

void FMassEntityQuery::CacheArchetypes ( )

Will gather all archetypes from InEntityManager matching this->Requirements. Note that no work will be done if the cached data is up to date (as tracked by EntitySubsystemHash and ArchetypeDataVersion properties).

◆ CacheArchetypes() [2/2]

void FMassEntityQuery::CacheArchetypes ( const FMassEntityManager InEntityManager)

◆ Clear()

void FMassEntityQuery::Clear ( )
inline

◆ ClearChunkFilter()

void FMassEntityQuery::ClearChunkFilter ( )
inline

◆ CreateMatchingEntitiesCollection()

TArray< FMassArchetypeEntityCollection > FMassEntityQuery::CreateMatchingEntitiesCollection ( )

Creates an array of FMassArchetypeEntityCollection instances that identify all the entities currently matching this query.

◆ DebugEnableEntityOwnerLogging()

void FMassEntityQuery::DebugEnableEntityOwnerLogging ( )

Configures the query to support per-entity logging based on their individual UObject "owners", as declared via debug fragments.

◆ DirtyCachedData()

void FMassEntityQuery::DirtyCachedData ( )
inline

◆ DoesRequireGameThreadExecution()

bool FMassEntityQuery::DoesRequireGameThreadExecution ( ) const
inline

◆ ExportRequirements()

void FMassEntityQuery::ExportRequirements ( FMassExecutionRequirements OutRequirements) const

◆ ForEachEntityChunk() [1/5]

void FMassEntityQuery::ForEachEntityChunk ( const FMassArchetypeEntityCollection EntityCollection,
FMassEntityManager EntityManager,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction 
)

◆ ForEachEntityChunk() [2/5]

void FMassEntityQuery::ForEachEntityChunk ( const FMassArchetypeEntityCollection EntityCollection,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction 
)

Will first verify that the archetype given with Collection matches the query's requirements, and if so will run the other, more generic ForEachEntityChunk implementation

◆ ForEachEntityChunk() [3/5]

void FMassEntityQuery::ForEachEntityChunk ( FMassEntityManager EntityManager,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction 
)

◆ ForEachEntityChunk() [4/5]

void FMassEntityQuery::ForEachEntityChunk ( FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction 
)

Runs ExecuteFunction on all entities matching Requirements

◆ ForEachEntityChunk() [5/5]

void FMassEntityQuery::ForEachEntityChunk ( FMassExecutionContext ExecutionContext,
UE::Mass::FExecutionLimiter Limiter,
const FMassExecuteFunction ExecuteFunction 
)

Runs ExecuteFunction on entities matching Requirements up to the EntityLimit specified in the ExecutionLimiter. Resumes from last index set in Limiter. Will always complete the current chunk once the limit is reached. Does not account for changes to entity count or organization between iterations (Entities could be skipped). Identical to the unlimited version if the Limit exceeds the number of applicable entities.

◆ ForEachEntityChunkInCollections() [1/2]

void FMassEntityQuery::ForEachEntityChunkInCollections ( TConstArrayView< FMassArchetypeEntityCollection EntityCollections,
FMassEntityManager EntityManager,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction 
)

◆ ForEachEntityChunkInCollections() [2/2]

void FMassEntityQuery::ForEachEntityChunkInCollections ( TConstArrayView< FMassArchetypeEntityCollection EntityCollections,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction 
)

◆ GetArchetypes()

const TArray< FMassArchetypeHandle > & FMassEntityQuery::GetArchetypes ( ) const
inline

◆ GetEntityManager()

const TSharedPtr< FMassEntityManager > & FMassEntityQuery::GetEntityManager ( ) const
inline

◆ GetMatchingEntityHandles()

TArray< FMassEntityHandle > FMassEntityQuery::GetMatchingEntityHandles ( )

Fetches entity handles of all the entities currently matching this query.

◆ GetNumMatchingEntities() [1/3]

int32 FMassEntityQuery::GetNumMatchingEntities ( )

Goes through ValidArchetypes and sums up the number of entities contained in them. Note that the function is not const because calling it can result in re-caching of ValidArchetypes

Returns
the number of entities this given query would process if called "now"

◆ GetNumMatchingEntities() [2/3]

int32 FMassEntityQuery::GetNumMatchingEntities ( FMassEntityManager InEntityManager)

◆ GetNumMatchingEntities() [3/3]

int32 FMassEntityQuery::GetNumMatchingEntities ( TConstArrayView< FMassArchetypeEntityCollection EntityCollections)

Sums the entity range lengths for each collection in EntityCollections, where the collection's archetype matches the query's requirements.

Returns
the number of entities this given query would process if called "now" for EntityCollections

◆ GetRequirementsMappingForArchetype()

const FMassQueryRequirementIndicesMapping & FMassEntityQuery::GetRequirementsMappingForArchetype ( const FMassArchetypeHandle  ArchetypeHandle) const

If ArchetypeHandle is among ValidArchetypes then the function retrieves requirements mapping cached for it, otherwise an empty mapping will be returned (and the requirements binding will be done the slow way).

◆ GroupBy() [1/2]

void FMassEntityQuery::GroupBy ( UE::Mass::FArchetypeGroupType  GroupType)

◆ GroupBy() [2/2]

void FMassEntityQuery::GroupBy ( UE::Mass::FArchetypeGroupType  GroupType,
const TFunction< bool(const UE::Mass::FArchetypeGroupID, const UE::Mass::FArchetypeGroupID)> &  Predicate 
)

◆ HasChunkFilter()

bool FMassEntityQuery::HasChunkFilter ( ) const
inline

◆ HasMatchingEntities() [1/2]

bool FMassEntityQuery::HasMatchingEntities ( )

Checks if any of ValidArchetypes has any entities. Note that the function is not const because calling it can result in re-caching of ValidArchetypes

Returns
"true" if any of the ValidArchetypes has any entities, "false" otherwise

◆ HasMatchingEntities() [2/2]

bool FMassEntityQuery::HasMatchingEntities ( FMassEntityManager InEntityManager)

◆ IsEmpty()

bool FMassEntityQuery::IsEmpty ( ) const
inline

◆ IsGrouping()

bool FMassEntityQuery::IsGrouping ( ) const
inline
Returns
whether the query is configured to use archetype group information to group and sort archetypes to be processed.

◆ ParallelForEachEntityChunk() [1/2]

void FMassEntityQuery::ParallelForEachEntityChunk ( FMassEntityManager EntityManager,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction,
const EParallelForMode  ParallelMode = Default 
)

◆ ParallelForEachEntityChunk() [2/2]

void FMassEntityQuery::ParallelForEachEntityChunk ( FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction,
const EParallelExecutionFlags  Flags = EParallelExecutionFlags::Default 
)

Attempts to process every chunk of every affected archetype in parallel.

◆ ParallelForEachEntityChunkInCollection() [1/2]

void FMassEntityQuery::ParallelForEachEntityChunkInCollection ( TConstArrayView< FMassArchetypeEntityCollection EntityCollections,
FMassEntityManager EntityManager,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction,
const EParallelForMode  ParallelMode 
)

◆ ParallelForEachEntityChunkInCollection() [2/2]

void FMassEntityQuery::ParallelForEachEntityChunkInCollection ( TConstArrayView< FMassArchetypeEntityCollection EntityCollections,
FMassExecutionContext ExecutionContext,
const FMassExecuteFunction ExecuteFunction,
const EParallelExecutionFlags  Flags = EParallelExecutionFlags::Default 
)

◆ RegisterWithProcessor()

void FMassEntityQuery::RegisterWithProcessor ( UMassProcessor Owner)

◆ RequireMutatingWorldAccess()

void FMassEntityQuery::RequireMutatingWorldAccess ( )
inline

◆ ResetGrouping()

void FMassEntityQuery::ResetGrouping ( )

◆ SetChunkFilter()

void FMassEntityQuery::SetChunkFilter ( const FMassChunkConditionFunction InFunction)
inline

Sets a chunk filter condition that will be applied to each chunk of all valid archetypes. Note that this condition won't be applied when a specific entity collection is used (via FMassArchetypeEntityCollection ) The value returned by InFunction controls whether to allow execution (true) or block it (false).

◆ SetParallelCommandBufferEnabled()

void FMassEntityQuery::SetParallelCommandBufferEnabled ( const bool  bInAllowParallelCommands)
inline

Controls whether ParallelForEachEntityChunk creates separate command buffers for each job.

See also
bAllowParallelCommands for more details

Friends And Related Symbol Documentation

◆ FMassDebugger

Member Data Documentation

◆ ArchetypeMatchOverrideAlignment

constexpr uint32 FMassEntityQuery::ArchetypeMatchOverrideAlignment = MASS_ACHETYPE_OVERRIDE_MAX_ALIGNMENT
staticconstexpr

◆ ArchetypeMatchOverrideSize

constexpr int32 FMassEntityQuery::ArchetypeMatchOverrideSize = MASS_ACHETYPE_OVERRIDE_MAX_SIZE
staticconstexpr

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