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

#include <MassProcessingTypes.h>

Public Member Functions

 FMassRuntimePipeline (EProcessorExecutionFlags WorldExecutionFlags=EProcessorExecutionFlags::None)
 
UE_API FMassRuntimePipeline (TConstArrayView< TObjectPtr< UMassProcessor > > SeedProcessors, EProcessorExecutionFlags WorldExecutionFlags)
 
UE_API FMassRuntimePipeline (TConstArrayView< UMassProcessor * > SeedProcessors, EProcessorExecutionFlags WorldExecutionFlags)
 
UE_API void Reset ()
 
UE_API void Initialize (UObject &Owner, const TSharedRef< FMassEntityManager > &EntityManager)
 
UE_API void SetProcessors (TArrayView< UMassProcessor * > InProcessors)
 
UE_API void SetProcessors (TArray< TObjectPtr< UMassProcessor > > &&InProcessors)
 
UE_API void CreateFromArray (TConstArrayView< const UMassProcessor * > InProcessors, UObject &InOwner)
 
UE_API void InitializeFromArray (TConstArrayView< const UMassProcessor * > InProcessors, UObject &InOwner, const TSharedRef< FMassEntityManager > &EntityManager)
 
UE_API void InitializeFromClassArray (TConstArrayView< TSubclassOf< UMassProcessor > > InProcessorClasses, UObject &InOwner, const TSharedRef< FMassEntityManager > &EntityManager)
 
UE_API void AppendOrOverrideRuntimeProcessorCopies (TConstArrayView< const UMassProcessor * > InProcessors, UObject &InOwner)
 
UE_API void AppendUniqueRuntimeProcessorCopies (TConstArrayView< const UMassProcessor * > InProcessors, UObject &InOwner, const TSharedRef< FMassEntityManager > &EntityManager)
 
UE_API void AppendProcessor (UMassProcessor &InProcessor)
 
UE_API void AppendProcessors (TArrayView< TObjectPtr< UMassProcessor > > InProcessors)
 
UE_API void AppendProcessors (TArray< TObjectPtr< UMassProcessor > > &&InProcessors)
 
UE_API bool AppendUniqueProcessor (UMassProcessor &Processor)
 
UE_API void AppendProcessor (TSubclassOf< UMassProcessor > ProcessorClass, UObject &InOwner)
 
UE_API bool RemoveProcessor (const UMassProcessor &InProcessor)
 
UE_API UMassCompositeProcessorFindTopLevelGroupByName (const FName GroupName)
 
UE_API bool HasProcessorOfExactClass (TSubclassOf< UMassProcessor > InClass) const
 
bool IsEmpty () const
 
int32 Num () const
 
TConstArrayView< TObjectPtr< UMassProcessor > > GetProcessors () const
 
TConstArrayView< UMassProcessor * > GetProcessorsView () const
 
TArrayView< TObjectPtr< UMassProcessor > > GetMutableProcessors ()
 
TArray< TObjectPtr< UMassProcessor > > && MoveProcessorsArray ()
 
UE_API void SortByExecutionPriority ()
 
UE_API void Initialize (UObject &Owner)
 
UE_API void InitializeFromArray (TConstArrayView< const UMassProcessor * > InProcessors, UObject &InOwner)
 
UE_API void InitializeFromClassArray (TConstArrayView< TSubclassOf< UMassProcessor > > InProcessorClasses, UObject &InOwner)
 
UE_API void AppendUniqueRuntimeProcessorCopies (TConstArrayView< const UMassProcessor * > InProcessors, UObject &InOwner)
 
UE_API void SetProcessors (TArray< UMassProcessor * > &&InProcessors)
 

Friends

UE_API friend uint32 GetTypeHash (const FMassRuntimePipeline &Instance)
 

Detailed Description

Runtime-usable array of MassProcessor copies

Constructor & Destructor Documentation

◆ FMassRuntimePipeline() [1/3]

FMassRuntimePipeline::FMassRuntimePipeline ( EProcessorExecutionFlags  WorldExecutionFlags = EProcessorExecutionFlags::None)
inlineexplicit

◆ FMassRuntimePipeline() [2/3]

FMassRuntimePipeline::FMassRuntimePipeline ( TConstArrayView< TObjectPtr< UMassProcessor > >  SeedProcessors,
EProcessorExecutionFlags  WorldExecutionFlags 
)

◆ FMassRuntimePipeline() [3/3]

FMassRuntimePipeline::FMassRuntimePipeline ( TConstArrayView< UMassProcessor * >  SeedProcessors,
EProcessorExecutionFlags  WorldExecutionFlags 
)

Member Function Documentation

◆ AppendOrOverrideRuntimeProcessorCopies()

void FMassRuntimePipeline::AppendOrOverrideRuntimeProcessorCopies ( TConstArrayView< const UMassProcessor * >  InProcessors,
UObject InOwner 
)

Creates a runtime instance of every processors in the given InProcessors array. If a processor of that class already exists in Processors array it gets overridden. Otherwise it gets added to the end of the collection.

◆ AppendProcessor() [1/2]

void FMassRuntimePipeline::AppendProcessor ( TSubclassOf< UMassProcessor ProcessorClass,
UObject InOwner 
)

Creates an instance of ProcessorClass and adds it to Processors without any additional checks

◆ AppendProcessor() [2/2]

void FMassRuntimePipeline::AppendProcessor ( UMassProcessor InProcessor)

Adds InProcessor(s) to Processors without any additional checks

◆ AppendProcessors() [1/2]

void FMassRuntimePipeline::AppendProcessors ( TArray< TObjectPtr< UMassProcessor > > &&  InProcessors)

◆ AppendProcessors() [2/2]

void FMassRuntimePipeline::AppendProcessors ( TArrayView< TObjectPtr< UMassProcessor > >  InProcessors)

◆ AppendUniqueProcessor()

bool FMassRuntimePipeline::AppendUniqueProcessor ( UMassProcessor Processor)
Returns
true if the given processor has indeed been added, i.e. will return false if Processor was already part of the pipeline.

◆ AppendUniqueRuntimeProcessorCopies() [1/2]

void FMassRuntimePipeline::AppendUniqueRuntimeProcessorCopies ( TConstArrayView< const UMassProcessor * >  InProcessors,
UObject InOwner 
)

◆ AppendUniqueRuntimeProcessorCopies() [2/2]

void FMassRuntimePipeline::AppendUniqueRuntimeProcessorCopies ( TConstArrayView< const UMassProcessor * >  InProcessors,
UObject InOwner,
const TSharedRef< FMassEntityManager > &  EntityManager 
)

Creates a runtime instance of every processors in the given array if there's no processor of that class in Processors already. Call this function when adding processors to an already configured FMassRuntimePipeline instance. If you're creating one from scratch calling any of the InitializeFrom* methods will be more efficient (and will produce same results) or call AppendOrOverrideRuntimeProcessorCopies. NOTE: there's a change in functionality since 5.6 - the function will no longer create duplicates for processors returning true from ShouldAllowMultipleInstances

◆ CreateFromArray()

void FMassRuntimePipeline::CreateFromArray ( TConstArrayView< const UMassProcessor * >  InProcessors,
UObject InOwner 
)

Creates runtime copies of UMassProcessors given in InProcessors input parameter, using InOwner as new UMassProcessors' outer.

◆ FindTopLevelGroupByName()

UMassCompositeProcessor * FMassRuntimePipeline::FindTopLevelGroupByName ( const FName  GroupName)

goes through Processor looking for a UMassCompositeProcessor instance which GroupName matches the one given as the parameter

◆ GetMutableProcessors()

TArrayView< TObjectPtr< UMassProcessor > > FMassRuntimePipeline::GetMutableProcessors ( )
inline

◆ GetProcessors()

TConstArrayView< TObjectPtr< UMassProcessor > > FMassRuntimePipeline::GetProcessors ( ) const
inline

◆ GetProcessorsView()

TConstArrayView< UMassProcessor * > FMassRuntimePipeline::GetProcessorsView ( ) const
inline

◆ HasProcessorOfExactClass()

bool FMassRuntimePipeline::HasProcessorOfExactClass ( TSubclassOf< UMassProcessor InClass) const

◆ Initialize() [1/2]

void FMassRuntimePipeline::Initialize ( UObject Owner)

◆ Initialize() [2/2]

void FMassRuntimePipeline::Initialize ( UObject Owner,
const TSharedRef< FMassEntityManager > &  EntityManager 
)

◆ InitializeFromArray() [1/2]

void FMassRuntimePipeline::InitializeFromArray ( TConstArrayView< const UMassProcessor * >  InProcessors,
UObject InOwner 
)

◆ InitializeFromArray() [2/2]

void FMassRuntimePipeline::InitializeFromArray ( TConstArrayView< const UMassProcessor * >  InProcessors,
UObject InOwner,
const TSharedRef< FMassEntityManager > &  EntityManager 
)

Calls CreateFromArray and calls Initialize on all processors afterwards.

◆ InitializeFromClassArray() [1/2]

void FMassRuntimePipeline::InitializeFromClassArray ( TConstArrayView< TSubclassOf< UMassProcessor > >  InProcessorClasses,
UObject InOwner 
)

◆ InitializeFromClassArray() [2/2]

void FMassRuntimePipeline::InitializeFromClassArray ( TConstArrayView< TSubclassOf< UMassProcessor > >  InProcessorClasses,
UObject InOwner,
const TSharedRef< FMassEntityManager > &  EntityManager 
)

Creates runtime instances of UMassProcessors for each processor class given via InProcessorClasses. The instances will be created with InOwner as outer.

◆ IsEmpty()

bool FMassRuntimePipeline::IsEmpty ( ) const
inline

◆ MoveProcessorsArray()

TArray< TObjectPtr< UMassProcessor > > && FMassRuntimePipeline::MoveProcessorsArray ( )
inline

Returns Processors array using move semantics. This operation clears out this FMassRuntimePipeline instance.

◆ Num()

int32 FMassRuntimePipeline::Num ( ) const
inline

◆ RemoveProcessor()

bool FMassRuntimePipeline::RemoveProcessor ( const UMassProcessor InProcessor)
Returns
whether the given processor has been removed from hosted processors collection

◆ Reset()

void FMassRuntimePipeline::Reset ( )

◆ SetProcessors() [1/3]

void FMassRuntimePipeline::SetProcessors ( TArray< TObjectPtr< UMassProcessor > > &&  InProcessors)

Directly moves the contents of given array to the Processors member array.

◆ SetProcessors() [2/3]

void FMassRuntimePipeline::SetProcessors ( TArray< UMassProcessor * > &&  InProcessors)

◆ SetProcessors() [3/3]

void FMassRuntimePipeline::SetProcessors ( TArrayView< UMassProcessor * >  InProcessors)

Copies the given array over to this FMassRuntimePipeline instance.

◆ SortByExecutionPriority()

void FMassRuntimePipeline::SortByExecutionPriority ( )

Sorts processors aggregates in Processors array so that the ones with higher ExecutionPriority are executed first The function will also remove nullptrs, if any, before sorting.

Friends And Related Symbol Documentation

◆ GetTypeHash

UE_API friend uint32 GetTypeHash ( const FMassRuntimePipeline Instance)
friend

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