UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Mass::FTypeManager Struct Reference

#include <MassTypeManager.h>

+ Inheritance diagram for UE::Mass::FTypeManager:

Public Types

using FTypeInfoConstIterator = TMap< FTypeHandle, FTypeInfo >::TConstIterator
 
using FSubsystemTypeConstIterator = TSet< FTypeHandle >::TConstIterator
 

Public Member Functions

 DECLARE_MULTICAST_DELEGATE_OneParam (FOnRegisterBuiltInTypes, FTypeManager &)
 
UE_API FTypeManager (FMassEntityManager &InEntityManager)
 
void RegisterBuiltInTypes ()
 
bool IsEmpty () const
 
UE_API FTypeHandle RegisterType (TNotNull< const UStruct * > InType, FSubsystemTypeTraits &&)
 
UE_API FTypeHandle RegisterType (TNotNull< const UStruct * > InType, FSharedFragmentTypeTraits &&)
 
UE_API FTypeHandle RegisterType (FRelationTypeTraits &&)
 
template<CSharedFragment T>
FTypeHandle RegisterType ()
 
template<typename T >
requires TIsDerivedFrom<typename TRemoveReference<T>::Type, USubsystem>
::Value FTypeHandle RegisterType ()
 
const FTypeInfoGetTypeInfo (FTypeHandle TypeHandle) const
 
const FTypeInfoGetTypeInfo (TObjectKey< const UStruct > TypeKey) const
 
const FRelationTypeTraitsGetRelationTypeChecked (const FTypeHandle TypeHandle) const
 
const FRelationTypeTraitsGetRelationTypeChecked (const TNotNull< const UScriptStruct * > RelationOrElementType) const
 
UE_API FTypeHandle GetRelationTypeHandle (const TNotNull< const UScriptStruct * > RelationOrElementType) const
 
UE_API bool IsValidRelationType (const TNotNull< const UScriptStruct * > RelationOrElementType) const
 
FTypeInfoConstIterator MakeIterator () const
 
FSubsystemTypeConstIterator MakeSubsystemIterator () const
 
FMassEntityManagerGetEntityManager ()
 
template<typename T >
requires TIsDerivedFrom<typename TRemoveReference<T>::Type, USubsystem>
::Value FTypeHandle RegisterType ()
 
- Public Member Functions inherited from TSharedFromThis< FTypeManager >
TSharedRef< FTypeManager, Mode > AsShared ()
 
TSharedRef< FTypeManager const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FTypeManager, Mode > AsWeak ()
 
TWeakPtr< FTypeManager const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Static Public Member Functions

static FTypeHandle MakeTypeHandle (TNotNull< const UStruct * > InTypeKey)
 

Static Public Attributes

static UE_API FOnRegisterBuiltInTypes OnRegisterBuiltInTypes
 

Additional Inherited Members

- Protected Member Functions inherited from TSharedFromThis< FTypeManager >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 
- Static Protected Member Functions inherited from TSharedFromThis< FTypeManager >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Member Typedef Documentation

◆ FSubsystemTypeConstIterator

Alias for the iterator type that can be used to iterate over stored subsystem types. Note that this iterator will only point to types, not type trait data. Contents of this iterator need to be used with GetTypeInfo to get actual traits data.

◆ FTypeInfoConstIterator

Alias for the iterator type that can be used to iterate all of stored type traits information

Constructor & Destructor Documentation

◆ FTypeManager()

UE::Mass::FTypeManager::FTypeManager ( FMassEntityManager InEntityManager)
explicit

Member Function Documentation

◆ DECLARE_MULTICAST_DELEGATE_OneParam()

UE::Mass::FTypeManager::DECLARE_MULTICAST_DELEGATE_OneParam ( FOnRegisterBuiltInTypes  ,
FTypeManager  
)

◆ GetEntityManager()

FMassEntityManager & UE::Mass::FTypeManager::GetEntityManager ( )
inline

◆ GetRelationTypeChecked() [1/2]

const FRelationTypeTraits & UE::Mass::FTypeManager::GetRelationTypeChecked ( const FTypeHandle  TypeHandle) const
inline

◆ GetRelationTypeChecked() [2/2]

const FRelationTypeTraits & UE::Mass::FTypeManager::GetRelationTypeChecked ( const TNotNull< const UScriptStruct * >  RelationOrElementType) const
inline

◆ GetRelationTypeHandle()

FTypeHandle UE::Mass::FTypeManager::GetRelationTypeHandle ( const TNotNull< const UScriptStruct * >  RelationOrElementType) const

◆ GetTypeInfo() [1/2]

const FTypeInfo * UE::Mass::FTypeManager::GetTypeInfo ( FTypeHandle  TypeHandle) const
inline
Returns
stored traits for the type represented by TypeHandle, or null if the type is unknown

◆ GetTypeInfo() [2/2]

const FTypeInfo * UE::Mass::FTypeManager::GetTypeInfo ( TObjectKey< const UStruct TypeKey) const
inline
Returns
stored traits for the type represented by TypeKey, or null if the type is unknown

◆ IsEmpty()

bool UE::Mass::FTypeManager::IsEmpty ( ) const
inline
Returns
whether the type manager instance has any types registered at all.

◆ IsValidRelationType()

bool UE::Mass::FTypeManager::IsValidRelationType ( const TNotNull< const UScriptStruct * >  RelationOrElementType) const

◆ MakeIterator()

FTypeManager::FTypeInfoConstIterator UE::Mass::FTypeManager::MakeIterator ( ) const
inline

◆ MakeSubsystemIterator()

FTypeManager::FSubsystemTypeConstIterator UE::Mass::FTypeManager::MakeSubsystemIterator ( ) const
inline

◆ MakeTypeHandle()

FTypeHandle UE::Mass::FTypeManager::MakeTypeHandle ( TNotNull< const UStruct * >  InTypeKey)
inlinestatic

◆ RegisterBuiltInTypes()

void UE::Mass::FTypeManager::RegisterBuiltInTypes ( )

◆ RegisterType() [1/6]

template<CSharedFragment T>
FTypeHandle UE::Mass::FTypeManager::RegisterType ( )

Registration helper for shared fragments

◆ RegisterType() [2/6]

template<typename T >
requires TIsDerivedFrom<typename TRemoveReference<T>::Type, USubsystem>
::Value FTypeHandle UE::Mass::FTypeManager::RegisterType ( )

Registration helper for subsystems

◆ RegisterType() [3/6]

template<typename T >
requires TIsDerivedFrom<typename TRemoveReference<T>::Type, USubsystem>
::Value FTypeHandle UE::Mass::FTypeManager::RegisterType ( )

◆ RegisterType() [4/6]

FTypeHandle UE::Mass::FTypeManager::RegisterType ( FRelationTypeTraits &&  TypeTraits)

Register traits for given relation type

◆ RegisterType() [5/6]

FTypeHandle UE::Mass::FTypeManager::RegisterType ( TNotNull< const UStruct * >  InType,
FSharedFragmentTypeTraits &&  TypeTraits 
)

Register traits for given shared fragments type

◆ RegisterType() [6/6]

FTypeHandle UE::Mass::FTypeManager::RegisterType ( TNotNull< const UStruct * >  InType,
FSubsystemTypeTraits &&  TypeTraits 
)

Register traits for given subsystem type

Member Data Documentation

◆ OnRegisterBuiltInTypes

FTypeManager::FOnRegisterBuiltInTypes UE::Mass::FTypeManager::OnRegisterBuiltInTypes
static

Broadcasts as part of FTypeManager::RegisterBuiltInTypes call, giving a chance to the external code to register additional types that are supposed to be available from the very start.


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