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

#include <MassEntityRelations.h>

Public Member Functions

UE_API FRelationTypeTraits (TNotNull< const UScriptStruct * > InRelationTagType)
 
UE_API FRelationTypeTraits (const FRelationTypeTraits &Other, TNotNull< const UScriptStruct * > NewRelationTagType)
 
 FRelationTypeTraits (const FRelationTypeTraits &Other)=default
 
TNotNull< const UScriptStruct * > GetRelationTagType () const
 
FName GetFName () const
 
bool IsValid () const
 
void SetDebugInFix (FString &&InFix)
 

Public Attributes

FName RelationName
 
TNotNull< const UScriptStruct * > RelationFragmentType
 
bool bCreateRelationEntitiesInHierarchy = false
 
TStaticArray< FRoleTraits, static_cast< uint8 >(ERelationRole::MAX)> RoleTraits
 
bool bHierarchical = false
 
FArchetypeGroupType RegisteredGroupType
 
TFunction< bool(FMassEntityManager &)> RegisterObserversDelegate
 
TWeakObjectPtr< UClassRelationEntityCreationObserverClass
 
TWeakObjectPtr< UClassRelationEntityDestructionObserverClass
 
TWeakObjectPtr< UClassSubjectEntityDestructionObserverClass
 
TWeakObjectPtr< UClassObjectEntityDestructionObserverClass
 

Constructor & Destructor Documentation

◆ FRelationTypeTraits() [1/3]

UE_API UE::Mass::Relations::FRelationTypeTraits::FRelationTypeTraits ( TNotNull< const UScriptStruct * >  InRelationTagType)

◆ FRelationTypeTraits() [2/3]

UE_API UE::Mass::Relations::FRelationTypeTraits::FRelationTypeTraits ( const FRelationTypeTraits Other,
TNotNull< const UScriptStruct * >  NewRelationTagType 
)

◆ FRelationTypeTraits() [3/3]

UE::Mass::Relations::FRelationTypeTraits::FRelationTypeTraits ( const FRelationTypeTraits Other)
default

Member Function Documentation

◆ GetFName()

FName UE::Mass::Relations::FRelationTypeTraits::GetFName ( ) const
inline

◆ GetRelationTagType()

TNotNull< const UScriptStruct * > UE::Mass::Relations::FRelationTypeTraits::GetRelationTagType ( ) const
inline

◆ IsValid()

bool UE::Mass::Relations::FRelationTypeTraits::IsValid ( ) const

Checks whether the traits are configured properly.

◆ SetDebugInFix()

void UE::Mass::FRelationTypeTraits::SetDebugInFix ( FString &&  InFix)

Member Data Documentation

◆ bCreateRelationEntitiesInHierarchy

bool UE::Mass::Relations::FRelationTypeTraits::bCreateRelationEntitiesInHierarchy = false

Whether to use hierarchical archetype groups for the relation entities Set this to true of you want to do any data calculations with data stored in the relation entities, and them being processed in hierarchy order being a requirements

◆ bHierarchical

bool UE::Mass::Relations::FRelationTypeTraits::bHierarchical = false

◆ ObjectEntityDestructionObserverClass

TWeakObjectPtr<UClass> UE::Mass::Relations::FRelationTypeTraits::ObjectEntityDestructionObserverClass

◆ RegisteredGroupType

FArchetypeGroupType UE::Mass::Relations::FRelationTypeTraits::RegisteredGroupType

◆ RegisterObserversDelegate

TFunction<bool(FMassEntityManager&)> UE::Mass::Relations::FRelationTypeTraits::RegisterObserversDelegate

Is set, gets called upon type's registration to register appropriate observers. Return value indicates whether the entity manager should register default observes as well.

◆ RelationEntityCreationObserverClass

TWeakObjectPtr<UClass> UE::Mass::Relations::FRelationTypeTraits::RelationEntityCreationObserverClass

Processor classes to be instantiated when the relation type gets registered. These will get auto-created only if RegisterObserversDelegate is empty or returns true The default values point to generic observer classes that implement the generic policies and behavior. Nulling-out any of these member variables will result in the given functionality not being implemented by the system and makes the user responsible for supplying it.

◆ RelationEntityDestructionObserverClass

TWeakObjectPtr<UClass> UE::Mass::Relations::FRelationTypeTraits::RelationEntityDestructionObserverClass

◆ RelationFragmentType

TNotNull<const UScriptStruct*> UE::Mass::Relations::FRelationTypeTraits::RelationFragmentType

The fragment type that will be automatically added to each relation entity created to represent relation instances

◆ RelationName

FName UE::Mass::Relations::FRelationTypeTraits::RelationName

◆ RoleTraits

TStaticArray<FRoleTraits, static_cast<uint8>(ERelationRole::MAX)> UE::Mass::Relations::FRelationTypeTraits::RoleTraits

◆ SubjectEntityDestructionObserverClass

TWeakObjectPtr<UClass> UE::Mass::Relations::FRelationTypeTraits::SubjectEntityDestructionObserverClass

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