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

#include <MovieSceneEntityLedger.h>

Public Member Functions

MOVIESCENE_API void UpdateEntities (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntitySet &NewEntities)
 
MOVIESCENE_API void UpdateEntities (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntitySet &NewEntities, FMovieSceneEvaluationFieldEntitySet &OutPerTickConditionalEntities, TMap< uint32, bool > &ConditionResultCache)
 
MOVIESCENE_API void UpdateOneShotEntities (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntitySet &NewEntities)
 
MOVIESCENE_API void UpdateOneShotEntities (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntitySet &NewEntities, TMap< uint32, bool > &ConditionResultCache)
 
MOVIESCENE_API void UpdateConditionalEntities (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntitySet &ConditionalEntities)
 
MOVIESCENE_API void Invalidate ()
 
bool IsInvalidated () const
 
MOVIESCENE_API bool IsEmpty () const
 
MOVIESCENE_API bool HasImportedEntity (const FMovieSceneEvaluationFieldEntityKey &EntityKey) const
 
MOVIESCENE_API FMovieSceneEntityID FindImportedEntity (const FMovieSceneEvaluationFieldEntityKey &EntityKey) const
 
MOVIESCENE_API void FindImportedEntities (TWeakObjectPtr< UObject > EntityOwner, TArray< FMovieSceneEntityID > &OutEntityIDs) const
 
MOVIESCENE_API bool CanImportEntity (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntityQuery &Query, FMovieSceneEvaluationFieldEntitySet &OutPerTickConditionalEntities, TMap< uint32, bool > &ConditionResultCache, bool bUpdatingPerTickEntities=false)
 
MOVIESCENE_API void ImportEntity (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntityQuery &Query)
 
MOVIESCENE_API void ImportEntity (UMovieSceneEntitySystemLinker *Linker, const FEntityImportSequenceParams &ImportParams, const FMovieSceneEntityComponentField *EntityField, const FMovieSceneEvaluationFieldEntityQuery &Query, FMovieSceneEvaluationFieldEntitySet &OutPerTickConditionalEntities, TMap< uint32, bool > &ConditionResultCache)
 
MOVIESCENE_API void UnlinkEverything (UMovieSceneEntitySystemLinker *Linker, EUnlinkEverythingMode Garbage=EUnlinkEverythingMode::Normal)
 
MOVIESCENE_API void UnlinkOneShots (UMovieSceneEntitySystemLinker *Linker)
 
MOVIESCENE_API bool Contains (UMovieSceneEntitySystemLinker *Linker, const FEntityComponentFilter &Filter) const
 
MOVIESCENE_API void MutateAll (UMovieSceneEntitySystemLinker *Linker, const FEntityComponentFilter &Filter, const IMovieScenePerEntityMutation &Mutation) const
 
MOVIESCENE_API void TagGarbage (UMovieSceneEntitySystemLinker *Linker)
 
MOVIESCENE_API void CleanupLinkerEntities (const TSet< FMovieSceneEntityID > &LinkerEntities)
 

Detailed Description

An entity ledger is responsible for tracking the entites that have been imported for the currently relevant frame of a sequence instance. It is responsible for linking and unlinking new and expired entities in the linker's entity manager based on the current set of entities required for evaluation.

Member Function Documentation

◆ CanImportEntity()

bool UE::MovieScene::FEntityLedger::CanImportEntity ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntityQuery Query,
FMovieSceneEvaluationFieldEntitySet OutPerTickConditionalEntities,
TMap< uint32, bool > &  ConditionResultCache,
bool  bUpdatingPerTickEntities = false 
)

◆ CleanupLinkerEntities()

void UE::MovieScene::FEntityLedger::CleanupLinkerEntities ( const TSet< FMovieSceneEntityID > &  LinkerEntities)

Remove linker entity IDs that exist in the specified set since they are no longer valid

Parameters
LinkerEntitiesSet of entity IDs that have been destroyed

◆ Contains()

bool UE::MovieScene::FEntityLedger::Contains ( UMovieSceneEntitySystemLinker Linker,
const FEntityComponentFilter Filter 
) const

Check whether any of the entities in this ledger or their children match the specified filter

◆ FindImportedEntities()

void UE::MovieScene::FEntityLedger::FindImportedEntities ( TWeakObjectPtr< UObject EntityOwner,
TArray< FMovieSceneEntityID > &  OutEntityIDs 
) const

Find imported entities

◆ FindImportedEntity()

FMovieSceneEntityID UE::MovieScene::FEntityLedger::FindImportedEntity ( const FMovieSceneEvaluationFieldEntityKey EntityKey) const

Find an imported entity

◆ HasImportedEntity()

bool UE::MovieScene::FEntityLedger::HasImportedEntity ( const FMovieSceneEvaluationFieldEntityKey EntityKey) const

Check whether the specified entity is being tracked by this ledger at all

◆ ImportEntity() [1/2]

void UE::MovieScene::FEntityLedger::ImportEntity ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntityQuery Query 
)

◆ ImportEntity() [2/2]

void UE::MovieScene::FEntityLedger::ImportEntity ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntityQuery Query,
FMovieSceneEvaluationFieldEntitySet OutPerTickConditionalEntities,
TMap< uint32, bool > &  ConditionResultCache 
)

Indicate that the specified field entity is currently being evaluated

Parameters
LinkerThe linker To import into
InstanceHandleA handle to the sequence instance that the entity relates to (relating to Linker->GetInstanceRegistry())
EntityThe field entity that is being imported
OutConditionalEntitiesOutput set returning conditional entities that require re-evaluating in between full updates.
ConditionResultCacheCache of previous condition results, to be used and potentially modified during any condition checking in updating entities.

◆ Invalidate()

void UE::MovieScene::FEntityLedger::Invalidate ( )

Invalidate any and all entities that are currently being tracked, causing new linker entities to be created on the next evaluation, and ones to become unlinked (preserving any components with the preserve flag)

◆ IsEmpty()

bool UE::MovieScene::FEntityLedger::IsEmpty ( ) const

Check whether this ledger contains any information at all (ie is tracking any global entities, even if it has not created any linker entities for them)

◆ IsInvalidated()

bool UE::MovieScene::FEntityLedger::IsInvalidated ( ) const
inline

◆ MutateAll()

void UE::MovieScene::FEntityLedger::MutateAll ( UMovieSceneEntitySystemLinker Linker,
const FEntityComponentFilter Filter,
const IMovieScenePerEntityMutation Mutation 
) const

Mutate all the entities within this ledger by using the specified filter

◆ TagGarbage()

void UE::MovieScene::FEntityLedger::TagGarbage ( UMovieSceneEntitySystemLinker Linker)

Called in order to tag garbage as NeedsUnlink

Parameters
LinkerThe linker that owns this ledger

◆ UnlinkEverything()

void UE::MovieScene::FEntityLedger::UnlinkEverything ( UMovieSceneEntitySystemLinker Linker,
EUnlinkEverythingMode  Garbage = EUnlinkEverythingMode::Normal 
)

Unlink all imported linker entities and their children, whilst maintaining the map of imported entities

Parameters
LinkerThe linker that owns this ledger

◆ UnlinkOneShots()

void UE::MovieScene::FEntityLedger::UnlinkOneShots ( UMovieSceneEntitySystemLinker Linker)

Unlink all imported one-shot linker entities and their children and clear the list of one shots

Parameters
LinkerThe linker that owns this ledger
Returns
A mask representing the changes made to the environment

◆ UpdateConditionalEntities()

void UE::MovieScene::FEntityLedger::UpdateConditionalEntities ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntitySet ConditionalEntities 
)

Update any conditional entities for the current frame

Parameters
LinkerThe linker that owns this ledger
ImportParamsBasis for import parameters
EntityFieldPossibly null if NewEntities is empty- an entity field containing structural information about the sequence
ConditionalEntitiesA set specifying any conditional entities that need to be checked again and possibly imported or removed.

◆ UpdateEntities() [1/2]

void UE::MovieScene::FEntityLedger::UpdateEntities ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntitySet NewEntities 
)

◆ UpdateEntities() [2/2]

void UE::MovieScene::FEntityLedger::UpdateEntities ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntitySet NewEntities,
FMovieSceneEvaluationFieldEntitySet OutPerTickConditionalEntities,
TMap< uint32, bool > &  ConditionResultCache 
)

To be called any time this ledger's instance is to be evaluated with a different set of entities - updates the set of entities that are required for the current evaluation environment

Parameters
LinkerThe linker that owns this ledger
ImportParamsBasis for import parameters
EntityFieldPossibly null if NewEntities is empty- an entity field containing structural information about the sequence
NewEntitiesA set specifying all the entities required for the next evaluation. Specifying an empty set will unlink all existing entities.
OutConditionalEntitiesOutput set returning conditional entities that require re-evaluating in between full updates.
ConditionResultCacheCache of previous condition results, to be used and potentially modified during any condition checking in updating entities.

◆ UpdateOneShotEntities() [1/2]

void UE::MovieScene::FEntityLedger::UpdateOneShotEntities ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntitySet NewEntities 
)

◆ UpdateOneShotEntities() [2/2]

void UE::MovieScene::FEntityLedger::UpdateOneShotEntities ( UMovieSceneEntitySystemLinker Linker,
const FEntityImportSequenceParams ImportParams,
const FMovieSceneEntityComponentField EntityField,
const FMovieSceneEvaluationFieldEntitySet NewEntities,
TMap< uint32, bool > &  ConditionResultCache 
)

Update any one-shot entities for the current frame

Parameters
LinkerThe linker that owns this ledger
ImportParamsBasis for import parameters
EntityFieldPossibly null if NewEntities is empty- an entity field containing structural information about the sequence
NewEntitiesA set specifying all the entities required for the next evaluation. Specifying an empty set will unlink all existing entities.
ConditionResultCacheCache of previous condition results, to be used and potentially modified during any condition checking in updating entities.

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