UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::MovieScene::TFilteredEntityTask< T > Struct Template Reference

#include <MovieSceneEntitySystemTask.h>

Public Member Functions

 TFilteredEntityTask (const TEntityTaskComponents< T... > &InComponents)
 
 TFilteredEntityTask (const TEntityTaskComponents< T... > &InComponents, const FEntityComponentFilter &InFilter)
 
TFilteredEntityTask< T... > & FilterAll (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > & FilterAll (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > & FilterNone (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > & FilterNone (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > & FilterAny (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > & FilterAny (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > & FilterOut (const FComponentMask &InComponentMask)
 
TFilteredEntityTask< T... > & FilterOut (std::initializer_list< FComponentTypeID > InComponentTypes)
 
TFilteredEntityTask< T... > & CombineFilter (const FEntityComponentFilter &InFilter)
 
TFilteredEntityTask< T... > & SetDesiredThread (ENamedThreads::Type InDesiredThread)
 
TFilteredEntityTask< T... > & SetStat (TStatId InStatId)
 
TFilteredEntityTask< T... > & SetParams (const FTaskParams &InOtherParams)
 
ENamedThreads::Type GetDesiredThread () const
 
TStatId GetStatId () const
 
bool ShouldBreakOnRun () const
 
const FEntityComponentFilterGetFilter () const
 
const TEntityTaskComponents< T... > & GetComponents () const
 
TFilteredEntityTask< T... > & AddDynamicReadDependency (std::initializer_list< FComponentTypeID > InReadDependencies)
 
template<typename ComponentType >
TFilteredEntityTask< T... > & AddDynamicReadDependency (TArrayView< ComponentType > InReadDependencies)
 
TFilteredEntityTask< T... > & AddDynamicReadDependency (const FComponentMask &InDynamicReadDependency)
 
TFilteredEntityTask< T... > & AddDynamicWriteDependency (std::initializer_list< FComponentTypeID > InWriteDependencies)
 
template<typename ComponentType >
TFilteredEntityTask< T... > & AddDynamicWriteDependency (TArrayView< ComponentType > InWriteDependencies)
 
TFilteredEntityTask< T... > & AddDynamicWriteDependency (const FComponentMask &InDynamicWriteDependency)
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef Dispatch_PerAllocation (FEntityManager *EntityManager, const FSystemTaskPrerequisites &Prerequisites, FSystemSubsequentTasks *Subsequents, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl >
void RunInline_PerAllocation (FEntityManager *EntityManager, TaskImpl &Task) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef Dispatch_PerEntity (FEntityManager *EntityManager, const FSystemTaskPrerequisites &Prerequisites, FSystemSubsequentTasks *Subsequents, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Fork_PerEntity (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Fork_PerAllocation (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Schedule_PerEntity (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID Schedule_PerAllocation (FEntityManager *EntityManager, IEntitySystemScheduler *InScheduler, TaskConstructionArgs &&... InArgs) const
 
template<typename TaskImpl >
void RunInline_PerEntity (FEntityManager *EntityManager, TaskImpl Task) const
 
template<typename Callback >
void Iterate_PerEntity (FEntityManager *EntityManager, Callback &&InCallback) const
 
template<typename Callback >
void Iterate_PerAllocation (FEntityManager *EntityManager, Callback &&InCallback) const
 

Constructor & Destructor Documentation

◆ TFilteredEntityTask() [1/2]

template<typename... T>
UE::MovieScene::TFilteredEntityTask< T >::TFilteredEntityTask ( const TEntityTaskComponents< T... > &  InComponents)
inline

◆ TFilteredEntityTask() [2/2]

template<typename... T>
UE::MovieScene::TFilteredEntityTask< T >::TFilteredEntityTask ( const TEntityTaskComponents< T... > &  InComponents,
const FEntityComponentFilter InFilter 
)
inline

Member Function Documentation

◆ AddDynamicReadDependency() [1/3]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::AddDynamicReadDependency ( const FComponentMask InDynamicReadDependency)
inline

◆ AddDynamicReadDependency() [2/3]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::AddDynamicReadDependency ( std::initializer_list< FComponentTypeID InReadDependencies)
inline

◆ AddDynamicReadDependency() [3/3]

template<typename... T>
template<typename ComponentType >
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::AddDynamicReadDependency ( TArrayView< ComponentType >  InReadDependencies)
inline

◆ AddDynamicWriteDependency() [1/3]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::AddDynamicWriteDependency ( const FComponentMask InDynamicWriteDependency)
inline

◆ AddDynamicWriteDependency() [2/3]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::AddDynamicWriteDependency ( std::initializer_list< FComponentTypeID InWriteDependencies)
inline

◆ AddDynamicWriteDependency() [3/3]

template<typename... T>
template<typename ComponentType >
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::AddDynamicWriteDependency ( TArrayView< ComponentType >  InWriteDependencies)
inline

◆ CombineFilter()

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::CombineFilter ( const FEntityComponentFilter InFilter)
inline

Combine this task's filter with the specified filter

◆ Dispatch_PerAllocation()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef UE::MovieScene::TFilteredEntityTask< T >::Dispatch_PerAllocation ( FEntityManager EntityManager,
const FSystemTaskPrerequisites Prerequisites,
FSystemSubsequentTasks Subsequents,
TaskConstructionArgs &&...  InArgs 
) const
inline

Dispatch a task for every entity that matches the filters and component types. Must be explicitly instantiated with the task type to dispatch. Construction arguments are deduced. Tasks must implement a ForEachEntity function that matches this task's component accessor types.

For example: struct FForEachEntity { void ForEachEntity(FMovieSceneEntityID InEntityID, const FMovieSceneFloatChannel& Channel); };

TComponentTypeID<FMovieSceneFloatChannel> FloatChannelComponent = ...;

FGraphEventRef Task = FEntityTaskBuilder() .ReadEntityIDs() .Read(FloatChannelComponent) .SetStat(GET_STATID(MyStatName)) .SetDesiredThread(ENamedThreads::AnyThread) .Dispatch_PerEntity<FForEachEntity>(EntityManager, Prerequisites);

Parameters
EntityManagerThe entity manager to run the task on. All component types must relate to this entity manager.
PrerequisitesPrerequisite tasks that must run before this one, or nullptr if there are no prerequisites
Subsequents(Optional) Subsequent task tracking that this task should be added to for each writable component type
InArgsOptional arguments that are forwarded to the constructor of TaskImpl
Returns
A pointer to the graph event for the task, or nullptr if this task is not valid (ie contains invalid component types that would be necessary for the task to run), or threading is disabled

◆ Dispatch_PerEntity()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FGraphEventRef UE::MovieScene::TFilteredEntityTask< T >::Dispatch_PerEntity ( FEntityManager EntityManager,
const FSystemTaskPrerequisites Prerequisites,
FSystemSubsequentTasks Subsequents,
TaskConstructionArgs &&...  InArgs 
) const
inline

Dispatch a task for every entity that matches the filters and component types. Must be explicitly instantiated with the task type to dispatch. Construction arguments are deduced. Tasks must implement a ForEachEntity function that matches this task's component accessor types.

For example: struct FForEachEntity { void ForEachEntity(FMovieSceneEntityID InEntityID, const FMovieSceneFloatChannel& Channel); };

TComponentTypeID<FMovieSceneFloatChannel> FloatChannelComponent = ...;

FGraphEventRef Task = FEntityTaskBuilder() .ReadEntityIDs() .Read(FloatChannelComponent) .SetStat(GET_STATID(MyStatName)) .SetDesiredThread(ENamedThreads::AnyThread) .Dispatch_PerEntity<FForEachEntity>(EntityManager, Prerequisites);

Parameters
EntityManagerThe entity manager to run the task on. All component types must relate to this entity manager.
PrerequisitesPrerequisite tasks that must run before this one, or nullptr if there are no prerequisites
Subsequents(Optional) Subsequent task tracking that this task should be added to for each writable component type
InArgsOptional arguments that are forwarded to the constructor of TaskImpl
Returns
A pointer to the graph event for the task, or nullptr if this task is not valid (ie contains invalid component types that would be necessary for the task to run), or threading is disabled

◆ FilterAll() [1/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterAll ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that have all the specified components or tags

◆ FilterAll() [2/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterAll ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that have all the specified components or tags

◆ FilterAny() [1/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterAny ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that have at least one of the specified components or tags

◆ FilterAny() [2/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterAny ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that have at least one of the specified components or tags

◆ FilterNone() [1/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterNone ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that have none the specified components or tags

◆ FilterNone() [2/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterNone ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that have none the specified components or tags

◆ FilterOut() [1/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterOut ( const FComponentMask InComponentMask)
inline

Constrain this task to only run for entities that do not have the specific combination of components or tags

◆ FilterOut() [2/2]

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::FilterOut ( std::initializer_list< FComponentTypeID InComponentTypes)
inline

Constrain this task to only run for entities that do not have the specific combination of components or tags

◆ Fork_PerAllocation()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TFilteredEntityTask< T >::Fork_PerAllocation ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ Fork_PerEntity()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TFilteredEntityTask< T >::Fork_PerEntity ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ GetComponents()

template<typename... T>
const TEntityTaskComponents< T... > & UE::MovieScene::TFilteredEntityTask< T >::GetComponents ( ) const
inline

Access the underlying component access definitions

◆ GetDesiredThread()

template<typename... T>
ENamedThreads::Type UE::MovieScene::TFilteredEntityTask< T >::GetDesiredThread ( ) const
inline

Get the desired thread for this task to run on

◆ GetFilter()

template<typename... T>
const FEntityComponentFilter & UE::MovieScene::TFilteredEntityTask< T >::GetFilter ( ) const
inline

Access the pre-populated filter that should be used for iterating relevant entities for this task

◆ GetStatId()

template<typename... T>
TStatId UE::MovieScene::TFilteredEntityTask< T >::GetStatId ( ) const
inline

Return this task's stat id

◆ Iterate_PerAllocation()

template<typename... T>
template<typename Callback >
void UE::MovieScene::TFilteredEntityTask< T >::Iterate_PerAllocation ( FEntityManager EntityManager,
Callback &&  InCallback 
) const
inline

Perform a thread-safe iteration of all matching allocations within the specified entity manager using this task, inline on the current thread

Parameters
EntityManagerThe entity manager to iterate allocations for. All component type IDs in this class must relate to this entity manager
InCallbackA callable type that matches the signature defined by ForEachAllocation ie void(FEntityAllocation*, const TFilteredEntityTask<T...>&)

◆ Iterate_PerEntity()

template<typename... T>
template<typename Callback >
void UE::MovieScene::TFilteredEntityTask< T >::Iterate_PerEntity ( FEntityManager EntityManager,
Callback &&  InCallback 
) const
inline

Perform a thread-safe iteration of all matching entities specified entity manager using this task, inline on the current thread

Parameters
EntityManagerThe entity manager to iterate allocations for. All component type IDs in this class must relate to this entity manager
InCallbackA callable type that matches the signature defined by ForEachEntity ie void(typename T::AccessType...)

◆ RunInline_PerAllocation()

template<typename... T>
template<typename TaskImpl >
void UE::MovieScene::TFilteredEntityTask< T >::RunInline_PerAllocation ( FEntityManager EntityManager,
TaskImpl Task 
) const
inline

◆ RunInline_PerEntity()

template<typename... T>
template<typename TaskImpl >
void UE::MovieScene::TFilteredEntityTask< T >::RunInline_PerEntity ( FEntityManager EntityManager,
TaskImpl  Task 
) const
inline

◆ Schedule_PerAllocation()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TFilteredEntityTask< T >::Schedule_PerAllocation ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ Schedule_PerEntity()

template<typename... T>
template<typename TaskImpl , typename... TaskConstructionArgs>
FTaskID UE::MovieScene::TFilteredEntityTask< T >::Schedule_PerEntity ( FEntityManager EntityManager,
IEntitySystemScheduler InScheduler,
TaskConstructionArgs &&...  InArgs 
) const
inline

◆ SetDesiredThread()

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::SetDesiredThread ( ENamedThreads::Type  InDesiredThread)
inline

Assign a desired thread for this task to run on

◆ SetParams()

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::SetParams ( const FTaskParams InOtherParams)
inline

Assign the scheduled task parameters for this task

◆ SetStat()

template<typename... T>
TFilteredEntityTask< T... > & UE::MovieScene::TFilteredEntityTask< T >::SetStat ( TStatId  InStatId)
inline

Assign a stat ID for this task

◆ ShouldBreakOnRun()

template<typename... T>
bool UE::MovieScene::TFilteredEntityTask< T >::ShouldBreakOnRun ( ) const
inline

Check whether we should break the debugger when this task is run


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