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

#include <MovieSceneEntityFactory.h>

Public Member Functions

void DefineChildComponent (FComponentTypeID InChildComponent)
 
void DefineChildComponent (FComponentTypeID InParentComponent, FComponentTypeID InChildComponent)
 
template<typename ComponentType >
void DuplicateChildComponent (TComponentTypeID< ComponentType > InComponent)
 
template<typename ComponentType >
void ConditionallyDuplicateChildComponent (TComponentTypeID< ComponentType > InComponent, FComponentMask InParentComponentMask)
 
template<typename ParentComponent , typename ChildComponent , typename InitializerCallback >
void DefineChildComponent (TComponentTypeID< ParentComponent > InParentType, TComponentTypeID< ChildComponent > InChildType, InitializerCallback &&InInitializer)
 
MOVIESCENE_API void DefineChildComponent (TInlineValue< FChildEntityInitializer > &&InInitializer)
 
void DefineMutuallyInclusiveComponent (FComponentTypeID InComponentA, FComponentTypeID InComponentB)
 
MOVIESCENE_API void DefineMutuallyInclusiveComponents (FComponentTypeID InComponentA, std::initializer_list< FComponentTypeID > InMutualComponents)
 
MOVIESCENE_API void DefineMutuallyInclusiveComponents (FComponentTypeID InComponentA, std::initializer_list< FComponentTypeID > InMutualComponents, FMutuallyInclusiveComponentParams &&Params)
 
MOVIESCENE_API void DefineComplexInclusiveComponents (const FComplexInclusivityFilter &InFilter, FComponentTypeID InComponent)
 
MOVIESCENE_API void DefineComplexInclusiveComponents (const FComplexInclusivityFilter &InFilter, std::initializer_list< FComponentTypeID > InComponents, FMutuallyInclusiveComponentParams &&Params)
 
MOVIESCENE_API int32 ComputeChildComponents (const FComponentMask &ParentComponentMask, FComponentMask &ChildComponentMask)
 
MOVIESCENE_API int32 ComputeMutuallyInclusiveComponents (EMutuallyInclusiveComponentType MutualTypes, FComponentMask &ComponentMask, FMutualComponentInitializers &OutInitializers)
 
MOVIESCENE_API void RunInitializers (const FComponentMask &ParentType, const FComponentMask &ChildType, const FEntityAllocation *ParentAllocation, TArrayView< const int32 > ParentAllocationOffsets, const FEntityRange &InChildEntityRange)
 

Detailed Description

A class that contains all the component factory relationships.

A source component (imported from an entity provider) can trigger the creation of other components on the same entity or on children entities of its entity.

Member Function Documentation

◆ ComputeChildComponents()

int32 UE::MovieScene::FEntityFactories::ComputeChildComponents ( const FComponentMask ParentComponentMask,
FComponentMask ChildComponentMask 
)

Given a set of components on a parent entity, compute what components should exist on a child entity.

This resolves all the parent-to-child relationships.

◆ ComputeMutuallyInclusiveComponents()

int32 UE::MovieScene::FEntityFactories::ComputeMutuallyInclusiveComponents ( EMutuallyInclusiveComponentType  MutualTypes,
FComponentMask ComponentMask,
FMutualComponentInitializers OutInitializers 
)

Given a set of components on an entity, computes what other components should also exist on this entity.

This resolves all the mutual and complex inclusivity relationships.

◆ ConditionallyDuplicateChildComponent()

template<typename ComponentType >
void UE::MovieScene::FEntityFactories::ConditionallyDuplicateChildComponent ( TComponentTypeID< ComponentType >  InComponent,
FComponentMask  InParentComponentMask 
)
inline

Makes the given component automatically copied from a parent entity to all its children entities, but only if the parent entity passes the given InParentComponentMask.

Note
: include "EntitySystem/MovieSceneEntityFactoryTemplates.h" for definition

◆ DefineChildComponent() [1/4]

void UE::MovieScene::FEntityFactories::DefineChildComponent ( FComponentTypeID  InChildComponent)
inline

Defines a component as something that should always be created on every child entity.

◆ DefineChildComponent() [2/4]

void UE::MovieScene::FEntityFactories::DefineChildComponent ( FComponentTypeID  InParentComponent,
FComponentTypeID  InChildComponent 
)
inline

Specifies that if a component is present on a parent entity, the given child component should be created on any child entity.

◆ DefineChildComponent() [3/4]

template<typename ParentComponent , typename ChildComponent , typename InitializerCallback >
void UE::MovieScene::FEntityFactories::DefineChildComponent ( TComponentTypeID< ParentComponent >  InParentType,
TComponentTypeID< ChildComponent >  InChildType,
InitializerCallback &&  InInitializer 
)
inline

Specifies that if a component is present on a parent entity, the given child component should be created on any child entity, and initialized with the given initializer.

Note
: include "EntitySystem/MovieSceneEntityFactoryTemplates.h" for definition

◆ DefineChildComponent() [4/4]

void UE::MovieScene::FEntityFactories::DefineChildComponent ( TInlineValue< FChildEntityInitializer > &&  InInitializer)

Adds the definition for a child component. The helper methods above are easier and preferrable.

◆ DefineComplexInclusiveComponents() [1/2]

void UE::MovieScene::FEntityFactories::DefineComplexInclusiveComponents ( const FComplexInclusivityFilter InFilter,
FComponentTypeID  InComponent 
)

Specifies that if an entity matches the given filter, the specified component should be created on it.

◆ DefineComplexInclusiveComponents() [2/2]

void UE::MovieScene::FEntityFactories::DefineComplexInclusiveComponents ( const FComplexInclusivityFilter InFilter,
std::initializer_list< FComponentTypeID InComponents,
FMutuallyInclusiveComponentParams &&  Params 
)

Specifies that if an entity matches the given filter, the specified components should be created on it.

◆ DefineMutuallyInclusiveComponent()

void UE::MovieScene::FEntityFactories::DefineMutuallyInclusiveComponent ( FComponentTypeID  InComponentA,
FComponentTypeID  InComponentB 
)
inline

Indicates that if the first component exists on an entity, the second component should be created on that entity too.

Note
: the inverse is not implied (ie B can still exist without A)

◆ DefineMutuallyInclusiveComponents() [1/2]

void UE::MovieScene::FEntityFactories::DefineMutuallyInclusiveComponents ( FComponentTypeID  InComponentA,
std::initializer_list< FComponentTypeID InMutualComponents 
)

Indicates that if the first component exists on an entity, the specified components should be created on that entity too.

Note
: the inverse is not implied (ie B can still exist without A)

◆ DefineMutuallyInclusiveComponents() [2/2]

void UE::MovieScene::FEntityFactories::DefineMutuallyInclusiveComponents ( FComponentTypeID  InComponentA,
std::initializer_list< FComponentTypeID InMutualComponents,
FMutuallyInclusiveComponentParams &&  Params 
)

Specifies a mutual inclusivity relationship along with a custom initializer for initializing the mutual component(s)

◆ DuplicateChildComponent()

template<typename ComponentType >
void UE::MovieScene::FEntityFactories::DuplicateChildComponent ( TComponentTypeID< ComponentType >  InComponent)
inline

Makes the given component automatically copied from a parent entity to all its children entities.

Note
: include "EntitySystem/MovieSceneEntityFactoryTemplates.h" for definition

◆ RunInitializers()

void UE::MovieScene::FEntityFactories::RunInitializers ( const FComponentMask ParentType,
const FComponentMask ChildType,
const FEntityAllocation ParentAllocation,
TArrayView< const int32 ParentAllocationOffsets,
const FEntityRange InChildEntityRange 
)

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