Navigation
| Name | MassEntity |
| Type | Runtime |
| Location | /Engine/Source/Runtime/MassEntity/ |
| Module Build Rules | MassEntity.Build.cs |
Classes
| Name | Remarks |
|---|---|
| FConcurrentEntityStorage | FConcurrentEntityStorage. |
| FSingleThreadedEntityStorage | FSingleThreadedEntityStorage. |
| UMassChildOfRelationEntityCreation | |
| UMassCompositeProcessor | |
| UMassEntitySettings | Implements the settings for MassEntity plugin |
| UMassEntitySubsystem | The sole responsibility of this world subsystem class is to host the default instance of FMassEntityManager for a given UWorld. |
| UMassModuleSettings | A common parrent for Mass's per-module settings. |
| UMassObserverProcessor | Base class for Processors that are used as "observers" of entity operations. |
| UMassObserverRegistry | |
| UMassProcessor | |
| UMassRelationEntityCreation | |
| UMassRelationEntityDestruction | Cleans up data, removes enties in RoleMap if Entry.IsEmpty |
| UMassRelationEntityGuardDog | Debug-time, detects relation elements being removed from the relation entities, which is not supposed to be done |
| UMassRelationObserver | |
| UMassRelationRoleDestruction | |
| UMassSettings | |
| UMassSubsystemBase | The sole responsibility of this world subsystem class is to serve functionality common to all Mass-related UWorldSubsystem-based subsystems, like whether the subsystems should get created at all. |
| UMassTickableSubsystemBase | The sole responsibility of this tickable world subsystem class is to serve functionality common to all Mass-related UTickableWorldSubsystem-based subsystems, like whether the subsystems should get created at all. |
Structs
| Name | Remarks |
|---|---|
| FArchetypeGroupHandle | FArchetypeGroupHandle. |
| FArchetypeGroupID | |
| FArchetypeGroups | FArchetypeGroups. |
| FArchetypeGroupType | FArchetypeGroupType. |
| FArchetypeStats | |
| FBreakpoint | |
| FBreakpointHandle | |
| FBufferedNotification | The type represents a single "operation", as observed by the registered observers, an operation that has been performed while the FObserverLock was active. |
| FConstChunkFragmentAccess | |
| FConstFragmentAccess | |
| FConstOptionalChunkFragmentAccess | |
| FConstOptionalFragmentAccess | |
| FConstSharedFragmentAccess | |
| FConstSubsystemAccess | |
| FCreationContext | A dedicated structure for ensuring the "on entities creation" observers get notified only once all other initialization operations are done and this creation context instance gets released. |
| FCreationNotificationHandle | Simple handle type representing a entity creation notification as stored by FObserverLock |
| FEmptyTypeTraits | Placeholder to be used when no traits have been specified nor the type is known |
| FEntityBuilder | FEntityBuilder is a utility struct that provides a convenient way to create and configure entities in the Mass framework. |
| FEntityCollection | Type represents a collection of arbitrary EntityHandles. |
| FExecutionLimiter | FExecutionLimiter is used to limit the execution of a query to a set entity count. |
| FGroupEntities | FGroupEntities. |
| FInitializationState | |
| FLoggingContext | |
| FMassArchetypeChunkIterator | FMassArchetypeChunkIterator. |
| FMassArchetypeCompositionDescriptor | The type summarily describing a composition of an entity or an archetype. |
| FMassArchetypeCreationParams | |
| FMassArchetypeEntityCollection | FMassArchetypeEntityCollection. |
| FMassArchetypeEntityCollectionWithPayload | |
| FMassArchetypeHandle | FMassArchetypeHandle. |
| FMassArchetypeSharedFragmentValues | Wrapper for const and non-const shared fragment containers that tracks which struct types it holds (via a FMassSharedFragmentBitSet). |
| FMassArchetypeVersionedHandle | |
| FMassBatchedCommand | |
| FMassBatchedEntityCommand | |
| FMassChildOfFragment | |
| FMassChildOfRelation | |
| FMassChunkFragment | |
| FMassChunkFragmentBitSetStructTrackerWrapper | |
| FMassCommandAddElement | Command capable of adding any element type, be it a fragment or a tag. |
| FMassCommandAddFragmentInstances | Struct Instances adding and setting. |
| FMassCommandAddFragmentsInternal | Simple fragment composition change. |
| FMassCommandAddTagsInternal | |
| FMassCommandBuffer | |
| FMassCommandBuildEntity | |
| FMassCommandBuildEntityWithSharedFragments | Note: that TSharedFragmentValues is always expected to be FMassArchetypeSharedFragmentValues, but is declared as template's param to maintain uniform command adding interface via FMassCommandBuffer.PushCommand. |
| FMassCommandChangeTags | Simple tag composition change. |
| FMassCommandDestroyEntities | Entity destruction. |
| FMassCommandMakeRelation | |
| FMassCommandRemoveFragmentsInternal | |
| FMassCommandRemoveTagsInternal | |
| FMassCommandSwapTagsInternal | |
| FMassConstSharedFragment | |
| FMassConstSharedFragmentBitSetStructTrackerWrapper | |
| FMassDebugger | |
| FMassDebugLogFragment | |
| FMassDeferredCommand | Commands that really can't know the types at compile time. |
| FMassEntityHandle | A handle to a Mass entity. |
| FMassEntityInChunkDataHandle | FMassEntityInChunkDataHandle. |
| FMassEntityManager | The type responsible for hosting Entities managing Archetypes. |
| FMassEntityManager_InitParams_Concurrent | Initialization parameters to configure MassEntityManager to concurrently reserve entities Only supported in editor builds. |
| FMassEntityManager_InitParams_SingleThreaded | Initialization parameters to configure MassEntityManager to reserve entities only single threaded Supported in all build configurations |
| FMassEntityObserverClassesMap | A wrapper type for a TMap to support having array-of-maps UPROPERTY members in UMassObserverRegistry |
| FMassEntityQuery | FMassEntityQuery is a structure that is used to trigger calculations on cached set of valid archetypes as described by requirements. |
| FMassEntityView | The type representing a single entity in a single archetype. |
| FMassExecutionContext | |
| FMassExecutionRequirements | |
| FMassExternalSubsystemBitSetStructTrackerWrapper | |
| FMassFragment | This is the base class for all lightweight fragments. |
| FMassFragmentBitSetStructTrackerWrapper | |
| FMassFragmentRequirementDescription | |
| FMassFragmentRequirements | FMassFragmentRequirements is a structure that describes properties required of an archetype that's a subject of calculations. |
| FMassGenericDebugEvent | |
| FMassGenericPayloadView | Note that this is a view and is valid only as long as the source data is valid. |
| FMassGenericPayloadViewSlice | Used to indicate a specific slice of a preexisting FMassGenericPayloadView, it's essentially an access pattern Note: accessing content generates copies of FStructArrayViews stored (still cheap, those are just views). |
| FMassObserverExecutionContext | Instances of the type will be fed into FMassRuntimePipeline.AuxData and at execution time will be available to observer processors via FMassExecutionContext.GetAuxData() |
| FMassObserverManager | A type that encapsulates logic related to notifying interested parties of entity composition changes. |
| FMassObserversMap | A wrapper type for a TMap to support having array-of-maps UPROPERTY members in FMassObserverManager |
| FMassPhaseProcessorConfigurationHelper | |
| FMassProcessingContext_DEPRECATED | |
| FMassProcessingPhase | |
| FMassProcessingPhaseConfig | |
| FMassProcessingPhaseManager | MassProcessingPhaseManager owns separate FMassProcessingPhase instances for every ETickingGroup. |
| FMassProcessorClassCollection | A wrapper type for a TArray to support having map-of-arrays UPROPERTY members in FMassEntityObserverClassesMap |
| FMassProcessorDependencySolver | |
| FMassProcessorExecutionOrder | |
| FMassProcessorOrderInfo | |
| FMassQueryRequirementIndicesMapping | |
| FMassRawEntityInChunkData | FMassRawEntityInChunkData. |
| FMassRelation | Relation types. |
| FMassRelationFragment | Relation data. |
| FMassRelationMappingFragment | |
| FMassRelationRoleInstanceHandle | |
| FMassRequirementAccessDetector | |
| FMassRuntimePipeline | Runtime-usable array of MassProcessor copies |
| FMassSharedFragment | |
| FMassSharedFragmentBitSetStructTrackerWrapper | |
| FMassSubsystemAccess | |
| FMassSubsystemRequirements | FMassSubsystemRequirements is a structure that declares runtime subsystem access type given calculations require. |
| FMassTag | This is the base class for types that will only be tested for presence/absence, i.e. Tags. |
| FMassTagBitSetStructTrackerWrapper | |
| FMassTagBlocked | |
| FMassTagRequired | |
| FMutableChunkFragmentAccess | |
| FMutableFragmentAccess | |
| FMutableOptionalChunkFragmentAccess | |
| FMutableOptionalFragmentAccess | |
| FMutableSharedFragmentAccess | |
| FMutableSubsystemAccess | |
| FObserverLock | Once created with MassObserverManager.GetOrMakeObserverLock will prevent triggering observers and instead buffer all the notifications to be sent. |
| FProcessingContext | |
| FProcessorAuxDataBase | |
| FQueryDefinition | Defines the entity compositions to return in the query and provides type-safe data access to entity and subsystem data. |
| FQueryDefinitionBase | Interface for QueryDefinition templates. Not intended for other direct inheritance. |
| FQueryExecutor | A MassEntityQuery wrapper with type-safe data access. |
| FQueryRequirementsView | |
| FRelationData | |
| FRelationManager | |
| FRelationTypeTraits | |
| FRoleTraits | |
| FScopedEntityBuilder | |
| FScopedRequirementAccessDetector | |
| FSharedFragmentTypeTraits | Traits of Shared Fragment types |
| FSubsystemTypeTraits | Traits of USubsystem-based types |
| FTypeHandle | Handle for identifying and managing types in the type manager |
| FTypeInfo | Wrapper for metadata and traits about specific types. |
| FTypeManager | |
| TBitTypeRegistry | Template class for registering and managing bitsets for Mass types (e.g., Fragments and Tags). |
| TCommandTraits | |
| TElementTypeHelper | |
| TMassExecutionAccess | |
| TMassExternalSubsystemTraits | Traits describing how a given piece of code can be used by Mass. |
| TMassFragmentTraits | Fragment traits. |
| TMassSharedFragmentTraits | Shared Fragment traits. |
| TMultiArray | The type hosts a statically-typed collection of TArrays, where each TArray is strongly-typed (i.e. it contains instances of given structs rather than structs wrapped up in FInstancedStruct). |
| TMultiTypeList | A statically-typed list of related types. |
| TOverridesExecute | |
| TTypeBitSetBuilder | TTypeBitSetBuilder is a template class for building and managing type-specific bitsets. |
| TTypeBitSetTraits | Traits configuring finer details of TTypeBitSetBuilder behavior. |
Interfaces
| Name | Remarks |
|---|---|
| IEntityStorageInterface | Interface that abstracts the storage system for Mass Entities in the EntityManager This may be temporary until the concurrent mechanism has been vetted for performance |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| Clean | typename TRemoveReference< T >::Type | MassEntityConcepts.h | |
| FArchetypeFunction | TFunction< void(FMassArchetypeHandle)> | MassDebugger.h | |
| FFragmentBitRegistry | Private::TBitTypeRegistry< FMassFragment > | Alias for the fragment bit registry | MassBitSetRegistry.h |
| FFragmentBitSetBuilder | FFragmentBitRegistry::FBitSetBuilder | Alias for the fragment bitset builder | MassBitSetRegistry.h |
| FFragmentBitSetFactory | FFragmentBitRegistry::FBitSetFactory | Alias for the fragment bitset factory | MassBitSetRegistry.h |
| FFragmentBitSetReader | const FFragmentBitSetBuilder | Alias for a read-only fragment bitset builder | MassBitSetRegistry.h |
| FMassChunkConditionFunction | TFunction< bool(const FMassExecutionContext &) > | MassArchetypeTypes.h | |
| FMassChunkFragmentBitSet | TStructTypeBitSet< FMassChunkFragment, FMassChunkFragmentBitSetStructTrackerWrapper, UScriptStruct > | MassEntityTypes.h | |
| FMassCommandAddFragments | FMassCommandAddFragmentsInternal< EMassCommandCheckTime::CompileTimeCheck, TTypes... > | MassCommands.h | |
| FMassCommandAddTag | FMassCommandAddTagsInternal< EMassCommandCheckTime::CompileTimeCheck, T > | MassCommands.h | |
| FMassCommandAddTags | FMassCommandAddTagsInternal< EMassCommandCheckTime::CompileTimeCheck, TTypes... > | MassCommands.h | |
| FMassCommandRemoveFragments | FMassCommandRemoveFragmentsInternal< EMassCommandCheckTime::CompileTimeCheck, TTypes... > | MassCommands.h | |
| FMassCommandRemoveTag | FMassCommandRemoveTagsInternal< EMassCommandCheckTime::CompileTimeCheck, T > | MassCommands.h | |
| FMassCommandRemoveTags | FMassCommandRemoveTagsInternal< EMassCommandCheckTime::CompileTimeCheck, TTypes... > | MassCommands.h | |
| FMassCommandSwapTags | FMassCommandSwapTagsInternal< EMassCommandCheckTime::CompileTimeCheck, TOld, TNew > | MassCommands.h | |
| FMassConstSharedFragmentBitSet | TStructTypeBitSet< FMassConstSharedFragment, FMassConstSharedFragmentBitSetStructTrackerWrapper, UScriptStruct > | MassEntityTypes.h | |
| FMassDeferredAddCommand | FMassDeferredCommand< EMassCommandOperationType::Add > | MassCommands.h | |
| FMassDeferredChangeCompositionCommand | FMassDeferredCommand< EMassCommandOperationType::ChangeComposition > | MassCommands.h | |
| FMassDeferredCreateCommand | FMassDeferredCommand< EMassCommandOperationType::Create > | MassCommands.h | |
| FMassDeferredDestroyCommand | FMassDeferredCommand< EMassCommandOperationType::Destroy > | MassCommands.h | |
| FMassDeferredRemoveCommand | FMassDeferredCommand< EMassCommandOperationType::Remove > | MassCommands.h | |
| FMassDeferredSetCommand | FMassDeferredCommand< EMassCommandOperationType::Set > | MassCommands.h | |
| FMassEntityExecuteFunction | TFunction< void(FMassExecutionContext &, int32) > | MassArchetypeTypes.h | |
| FMassEntityManagerStorageInitParams | TVariant< FMassEntityManager_InitParams_SingleThreaded, FMassEntityManager_InitParams_Concurrent > | MassEntityManagerStorage.h | |
| FMassExecuteFunction | TFunction< void(FMassExecutionContext &) > | MassArchetypeTypes.h | |
| FMassExternalSubsystemBitSet | TStructTypeBitSet< USubsystem, FMassExternalSubsystemBitSetStructTrackerWrapper, UClass > | MassEntityTypes.h | |
| FMassFragmentBitSet | TStructTypeBitSet< FMassFragment, FMassFragmentBitSetStructTrackerWrapper, UScriptStruct > | MassEntityTypes.h | |
| FMassFragmentBitSet_WIP | UE::Mass::FFragmentBitRegistry::FBitSet | MassBitSetRegistry.h | |
| FMassFragmentIndicesMapping | TArray< int32, TInlineAllocator< 16 > > | FMassQueryRequirementIndicesMapping. | MassArchetypeTypes.h |
| FMassProcessingContext | UE::Mass::FProcessingContext | MassProcessingTypes.h | |
| FMassSharedFragmentBitSet | TStructTypeBitSet< FMassSharedFragment, FMassSharedFragmentBitSetStructTrackerWrapper, UScriptStruct > | MassEntityTypes.h | |
| FMassTagBitSet | TStructTypeBitSet< FMassTag, FMassTagBitSetStructTrackerWrapper, UScriptStruct > | MassEntityTypes.h | |
| FMassTagBitSet_WIP | UE::Mass::FTagBitRegistry::FBitSet | MassBitSetRegistry.h | |
| FProcessorProviderFunction | TFunction< void(TArray< const UMassProcessor * > &)> | MassDebugger.h | |
| FStorageType | IEntityStorageInterface | MassEntityManager.h | |
| FTagBitRegistry | Private::TBitTypeRegistry< FMassTag > | Alias for the tag bit registry | MassBitSetRegistry.h |
| FTagBitSetBuilder | FTagBitRegistry::FBitSetBuilder | Alias for the tag bitset builder | MassBitSetRegistry.h |
| FTagBitSetFactory | FTagBitRegistry::FBitSetFactory | Alias for the tag bitset factory | MassBitSetRegistry.h |
| FTagBitSetReader | const FTagBitSetBuilder | Alias for a read-only tag bitset builder | MassBitSetRegistry.h |
| TElementType | typename Private::TElementTypeHelper< T >::Type | MassEntityConcepts.h |
Enums
Public
| Name | Remarks |
|---|---|
| EActivationState | |
| EMassCommandCheckTime | |
| EMassCommandOperationType | Enum used by MassBatchCommands to declare their "type". |
| EMassDebugMessageSeverity | |
| EMassExecutionContextType | |
| EMassFragmentAccess | |
| EMassFragmentPresence | |
| EMassObservedOperation | The enum is used to categorize any operation an entity can be a subject to. |
| EMassObservedOperationFlags | |
| EMassProcessingPhase | |
| EMassQueryBasedPruning | Values determining whether a processor wants to be pruned at runtime. |
| EProcessorCompletionStatus | |
| EProcessorExecutionFlags | |
| UE::Mass::ObserverManager::EObservedOperationNotification | |
| UE::Mass::Relations::EExternalMappingRequired | |
| UE::Mass::Relations::ERelationRole | |
| UE::Mass::Relations::ERemovalPolicy |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| UE::Mass::TAlwaysFalse | bool | MassEntityTypes.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| IsUnique | auto | MassQueryExecutor.h | ||
| IsUnique< T, Rest... > | auto | MassQueryExecutor.h | ||
| MAX | uint32 | MassProcessorDependencySolver.h | ||
| Read | uint32 | MassProcessorDependencySolver.h | ||
| STATCAT_Advanced | MassEntityTypes.h | |||
| Write | uint32 | MassProcessorDependencySolver.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
uint32 GetTypeHash
(
const FMassSubsystemRequirements& Instance |
MassRequirements.h | ||
FString LexToString
(
const EMassObservedOperationFlags Value |
MassEntityTypes.h | ||
bool operator!
(
FMassEntityManager::EDebugFeatures E |
MassEntityManager.h | ||
| MassEntityQuery.h | |||
bool operator!
(
EMassObservedOperationFlags E |
MassEntityTypes.h | ||
bool operator!
(
EProcessorExecutionFlags E |
MassProcessingTypes.h | ||
| MassEntityManager.h | |||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
| MassEntityManager.h | |||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
| MassEntityManager.h | |||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
| MassEntityManager.h | |||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
| MassEntityManager.h | |||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
| INLINE. | MassEntityManager.h | ||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
| MassEntityManager.h | |||
| MassEntityQuery.h | |||
| MassEntityTypes.h | |||
| MassProcessingTypes.h | |||
void UE::Mass::Debug::CallCheckBreakpoints
(
TArgs&&... InArgs |
MassCommandBuffer.h | ||
void UE::Mass::Debug::CallCheckBreakpointsByInstance
(
TArgs&&... InArgs |
MassCommandBuffer.h | ||
EMessageSeverity::Type UE::Mass::Debug::MassSeverityToMessageSeverity
(
EMessageSeverity::Type OriginalSeverity, |
MassDebugger.h | ||
PRAGMA_DISABLE_DEPRECATION_WARNINGS constexpr bool UE::Mass::Deprecation::IsExecuteOverridden() |
MassCommandBuffer.h | ||
auto UE::Mass::GetAccessorIndex() |
MassQueryExecutor.h | ||
auto UE::Mass::GetIndexRecursive() |
MassQueryExecutor.h | ||
bool UE::Mass::IsA
(
const UStruct* |
MassEntityElementTypes.h | ||
FString UE::Mass::Relations::LexToString
(
const ERelationRole Value |
MassEntityRelations.h | ||
void UE::Mass::Utils::AbstractSort
(
const int32 NumElements, |
AbstractSort is a sorting function that only needs to know how many items there are, how to compare items at individual locations - where location is in [0, NumElements) - and how to swap two elements at given locations. | MassEntityUtils.h | |
BitSetType UE::Mass::Utils::ConstructBitSet() |
MassCommands.h | ||
FMassFragmentBitSet UE::Mass::Utils::ConstructFragmentBitSet() |
MassCommands.h | ||
FMassTagBitSet UE::Mass::Utils::ConstructTagBitSet() |
MassCommands.h |