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

#include <MovieSceneSequenceInstance.h>

Public Member Functions

MOVIESCENE_API bool ConditionalRecompile ()
 
MOVIESCENE_API void DissectContext (const FMovieSceneContext &Context, TArray< TRange< FFrameTime > > &OutDissections)
 
MOVIESCENE_API void Start (const FMovieSceneContext &InContext)
 
MOVIESCENE_API void PreEvaluation ()
 
MOVIESCENE_API void Update (const FMovieSceneContext &InContext)
 
MOVIESCENE_API bool CanFinishImmediately () const
 
MOVIESCENE_API void Finish ()
 
MOVIESCENE_API void PostEvaluation ()
 
MOVIESCENE_API void RunLegacyTrackTemplates ()
 
TSharedRef< FSharedPlaybackStateGetSharedPlaybackState () const
 
MOVIESCENE_API IMovieScenePlayerGetPlayer () const
 
MOVIESCENE_API uint16 GetPlayerIndex () const
 
FMovieSceneSequenceID GetSequenceID () const
 
const FMovieSceneContextGetContext () const
 
FInstanceHandle GetInstanceHandle () const
 
FRootInstanceHandle GetRootInstanceHandle () const
 
FInstanceHandle GetParentInstanceHandle () const
 
bool IsRootSequence () const
 
bool IsSubSequence () const
 
uint16 GetSerialNumber () const
 
bool HasFinished () const
 
bool HasEverUpdated () const
 
ESequenceInstanceUpdateFlags GetUpdateFlags () const
 
MOVIESCENE_API FInstanceHandle FindSubInstance (FMovieSceneSequenceID SequenceID) const
 
MOVIESCENE_API FMovieSceneEntityID FindEntity (UObject *Owner, uint32 EntityID) const
 
MOVIESCENE_API void FindEntities (UObject *Owner, TArray< FMovieSceneEntityID > &OutEntityIDs) const
 
const FMovieSceneTrackEvaluatorGetLegacyEvaluator () const
 
MOVIESCENE_API FSubSequencePath GetSubSequencePath () const
 
void SetContext (const FMovieSceneContext &InContext)
 
void SetFinished (bool bInFinished)
 
MOVIESCENE_API void InvalidateCachedData (ESequenceInstanceInvalidationType InvalidationType=ESequenceInstanceInvalidationType::All)
 
MOVIESCENE_API void DestroyImmediately ()
 
MOVIESCENE_API void OverrideRootSequence (FMovieSceneSequenceID NewRootSequenceID)
 
MOVIESCENE_API bool EvaluateCondition (const FGuid &BindingID, const FMovieSceneSequenceID &SequenceID, const UMovieSceneCondition *Condition, UObject *ConditionOwnerObject) const
 
MOVIESCENE_API FSequenceInstance (TSharedRef< FSharedPlaybackState > PlaybackState)
 
MOVIESCENE_API FSequenceInstance (TSharedRef< FSharedPlaybackState > PlaybackState, FInstanceHandle ThisInstanceHandle, FInstanceHandle InParentInstanceHandle, FMovieSceneSequenceID InSequenceID)
 
MOVIESCENE_API void Initialize ()
 
MOVIESCENE_API ~FSequenceInstance ()
 
 FSequenceInstance (const FSequenceInstance &)=delete
 
FSequenceInstanceoperator= (const FSequenceInstance &)=delete
 
MOVIESCENE_API FSequenceInstance (FSequenceInstance &&)
 
MOVIESCENE_API FSequenceInstanceoperator= (FSequenceInstance &&)
 
bool ConditionalRecompile (UMovieSceneEntitySystemLinker *Linker)
 
void DissectContext (UMovieSceneEntitySystemLinker *Linker, const FMovieSceneContext &Context, TArray< TRange< FFrameTime > > &OutDissections)
 
void Start (UMovieSceneEntitySystemLinker *Linker, const FMovieSceneContext &InContext)
 
void PreEvaluation (UMovieSceneEntitySystemLinker *Linker)
 
void Update (UMovieSceneEntitySystemLinker *Linker, const FMovieSceneContext &InContext)
 
bool CanFinishImmediately (UMovieSceneEntitySystemLinker *Linker) const
 
void Finish (UMovieSceneEntitySystemLinker *Linker)
 
void PostEvaluation (UMovieSceneEntitySystemLinker *Linker)
 
void InvalidateCachedData (UMovieSceneEntitySystemLinker *Linker)
 
void DestroyImmediately (UMovieSceneEntitySystemLinker *Linker)
 
void OverrideRootSequence (UMovieSceneEntitySystemLinker *Linker, FMovieSceneSequenceID NewRootSequenceID)
 

Public Attributes

FEntityLedger Ledger
 

Friends

struct FScopedVolatilityManagerSuppression
 

Detailed Description

A sequence instance represents a specific instance of a currently playing sequence, either as a top-level sequence in an IMovieScenePlayer, or as a sub sequence. Any given sequence asset may have any number of instances created for it at any given time depending on how many times it is referenced by playing sequences

Constructor & Destructor Documentation

◆ FSequenceInstance() [1/4]

UE::MovieScene::FSequenceInstance::FSequenceInstance ( TSharedRef< FSharedPlaybackState PlaybackState)
explicit

Constructor for top level sequences

◆ FSequenceInstance() [2/4]

UE::MovieScene::FSequenceInstance::FSequenceInstance ( TSharedRef< FSharedPlaybackState PlaybackState,
FInstanceHandle  ThisInstanceHandle,
FInstanceHandle  InParentInstanceHandle,
FMovieSceneSequenceID  InSequenceID 
)
explicit

Constructor for sub sequences

◆ ~FSequenceInstance()

UE::MovieScene::FSequenceInstance::~FSequenceInstance ( )

Destructor

◆ FSequenceInstance() [3/4]

UE::MovieScene::FSequenceInstance::FSequenceInstance ( const FSequenceInstance )
delete

Sequence instances are not copyable

◆ FSequenceInstance() [4/4]

UE::MovieScene::FSequenceInstance::FSequenceInstance ( FSequenceInstance &&  )
default

Move constructors implemented in cpp to avoid includes for TUniquePtr

Member Function Documentation

◆ CanFinishImmediately() [1/2]

bool UE::MovieScene::FSequenceInstance::CanFinishImmediately ( ) const

Returns whether this instance can be finished immediately without any last update.

Parameters
LinkerThe linker that owns this sequence instance
Returns
Whether the instance can be finished immediately

◆ CanFinishImmediately() [2/2]

bool UE::MovieScene::FSequenceInstance::CanFinishImmediately ( UMovieSceneEntitySystemLinker Linker) const

◆ ConditionalRecompile() [1/2]

bool UE::MovieScene::FSequenceInstance::ConditionalRecompile ( )

Conditionally recompile this sequence if it needs to be

Parameters
LinkerThe linker that owns this sequence instance
Returns
true if a recompile has ocurred, false otherwise

◆ ConditionalRecompile() [2/2]

bool UE::MovieScene::FSequenceInstance::ConditionalRecompile ( UMovieSceneEntitySystemLinker Linker)

◆ DestroyImmediately() [1/2]

void UE::MovieScene::FSequenceInstance::DestroyImmediately ( )

Destroy this sequence instance immediately - Finish must previously have been called

◆ DestroyImmediately() [2/2]

void UE::MovieScene::FSequenceInstance::DestroyImmediately ( UMovieSceneEntitySystemLinker Linker)

◆ DissectContext() [1/2]

void UE::MovieScene::FSequenceInstance::DissectContext ( const FMovieSceneContext Context,
TArray< TRange< FFrameTime > > &  OutDissections 
)

Called only for top-level sequence instances before any updates to it with the specified context. This allows the sequence an opportunity to dissect the context into a series of distinct evaluations to force determinism.

Parameters
LinkerThe linker that owns this sequence instance
ContextThe overall context that this sequence instance is being evaluated with
OutDissectionsAn array to populate with dissected time ranges that should be evaluated separately, in order.

◆ DissectContext() [2/2]

void UE::MovieScene::FSequenceInstance::DissectContext ( UMovieSceneEntitySystemLinker Linker,
const FMovieSceneContext Context,
TArray< TRange< FFrameTime > > &  OutDissections 
)

◆ EvaluateCondition()

bool UE::MovieScene::FSequenceInstance::EvaluateCondition ( const FGuid BindingID,
const FMovieSceneSequenceID SequenceID,
const UMovieSceneCondition Condition,
UObject ConditionOwnerObject 
) const

◆ FindEntities()

void UE::MovieScene::FSequenceInstance::FindEntities ( UObject Owner,
TArray< FMovieSceneEntityID > &  OutEntityIDs 
) const

Attempt to locate all entities given their owner

◆ FindEntity()

FMovieSceneEntityID UE::MovieScene::FSequenceInstance::FindEntity ( UObject Owner,
uint32  EntityID 
) const

Attempt to locate an entity given its owner and ID

◆ FindSubInstance()

FInstanceHandle UE::MovieScene::FSequenceInstance::FindSubInstance ( FMovieSceneSequenceID  SequenceID) const

Attempt to locate a sub instance based on its sequence ID

◆ Finish() [1/2]

void UE::MovieScene::FSequenceInstance::Finish ( )

Mark this instance as finished, causing all its entities to be unlinked and the instance to become inactive at the end of the next update.

Parameters
LinkerThe linker that owns this sequence instance

◆ Finish() [2/2]

void UE::MovieScene::FSequenceInstance::Finish ( UMovieSceneEntitySystemLinker Linker)

◆ GetContext()

const FMovieSceneContext & UE::MovieScene::FSequenceInstance::GetContext ( ) const
inline

Get the evaluation context for the current frame

Returns
This sequence instance's playback context

◆ GetInstanceHandle()

FInstanceHandle UE::MovieScene::FSequenceInstance::GetInstanceHandle ( ) const
inline

Gets the handle to this instance

◆ GetLegacyEvaluator()

const FMovieSceneTrackEvaluator * UE::MovieScene::FSequenceInstance::GetLegacyEvaluator ( ) const
inline

Retrieve the legacy evaluator for this sequence, if it is available (may return nullptr)

◆ GetParentInstanceHandle()

FInstanceHandle UE::MovieScene::FSequenceInstance::GetParentInstanceHandle ( ) const
inline

Get a handle to the parent instance for this sequence instance, or an invalid handle if it is a root instance

Returns
A a handle to the parent instance for this sequence instance, or an invalid handle if it is a root instance

◆ GetPlayer()

IMovieScenePlayer * UE::MovieScene::FSequenceInstance::GetPlayer ( ) const

Retrieve the IMovieScenePlayer that is playing back the top level sequence for this instance

Returns
A pointer to this instance's player

◆ GetPlayerIndex()

uint16 UE::MovieScene::FSequenceInstance::GetPlayerIndex ( ) const

Retrieve the IMovieScenePlayer's unique index

◆ GetRootInstanceHandle()

FRootInstanceHandle UE::MovieScene::FSequenceInstance::GetRootInstanceHandle ( ) const
inline

Get a handle to the root instance for this sub sequence instance

Returns
A handle to the root sequence instance for this sub sequence, or a handle to this sequence instance if it is not a sub sequence

◆ GetSequenceID()

FMovieSceneSequenceID UE::MovieScene::FSequenceInstance::GetSequenceID ( ) const
inline

Retrieve the SequenceID for this instance

Returns
This sequence instance's SequenceID within the root-sequences hierachy, or MovieSceneSequenceID::Root for root sequence instances.

◆ GetSerialNumber()

uint16 UE::MovieScene::FSequenceInstance::GetSerialNumber ( ) const
inline

Get the serial number for this sequence instance that it was created with on construction.

Returns
The serial number of this instance that is used to check that handles to it are still valid.

◆ GetSharedPlaybackState()

TSharedRef< FSharedPlaybackState > UE::MovieScene::FSequenceInstance::GetSharedPlaybackState ( ) const
inline

Retrieve the shared playback state for this instance's hierarchy

◆ GetSubSequencePath()

FSubSequencePath UE::MovieScene::FSequenceInstance::GetSubSequencePath ( ) const

Retrieve a path for this sequence instance back to the root

◆ GetUpdateFlags()

ESequenceInstanceUpdateFlags UE::MovieScene::FSequenceInstance::GetUpdateFlags ( ) const
inline

Retrieve this sequence's update flags

◆ HasEverUpdated()

bool UE::MovieScene::FSequenceInstance::HasEverUpdated ( ) const
inline

Check whether this sequence instance has ever been updated or not

◆ HasFinished()

bool UE::MovieScene::FSequenceInstance::HasFinished ( ) const
inline

Check whether this sequence instance has finished evaluating

Returns
True if this sequence has finished evaluation, false otherwise

◆ Initialize()

void UE::MovieScene::FSequenceInstance::Initialize ( )

Finish initializing this sequence instance

◆ InvalidateCachedData() [1/2]

void UE::MovieScene::FSequenceInstance::InvalidateCachedData ( ESequenceInstanceInvalidationType  InvalidationType = ESequenceInstanceInvalidationType::All)

Invalidate any cached data that may be being used for evaluation due to a change in the source asset data

◆ InvalidateCachedData() [2/2]

void UE::MovieScene::FSequenceInstance::InvalidateCachedData ( UMovieSceneEntitySystemLinker Linker)

◆ IsRootSequence()

bool UE::MovieScene::FSequenceInstance::IsRootSequence ( ) const
inline

Returns whether this instance is the root instance.

◆ IsSubSequence()

bool UE::MovieScene::FSequenceInstance::IsSubSequence ( ) const
inline

Returns whether this instance is a sub sequence.

◆ operator=() [1/2]

FSequenceInstance & UE::MovieScene::FSequenceInstance::operator= ( const FSequenceInstance )
delete

◆ operator=() [2/2]

FSequenceInstance & UE::MovieScene::FSequenceInstance::operator= ( FSequenceInstance &&  )
default

◆ OverrideRootSequence() [1/2]

void UE::MovieScene::FSequenceInstance::OverrideRootSequence ( FMovieSceneSequenceID  NewRootSequenceID)

Called to override the simulated root sequence ID for this instance. Only valid for IsRootSequence() instances.

◆ OverrideRootSequence() [2/2]

void UE::MovieScene::FSequenceInstance::OverrideRootSequence ( UMovieSceneEntitySystemLinker Linker,
FMovieSceneSequenceID  NewRootSequenceID 
)

◆ PostEvaluation() [1/2]

void UE::MovieScene::FSequenceInstance::PostEvaluation ( )

Called when this sequence instance has been evaluated in order for it to do any clean-up or other post-update work

Parameters
LinkerThe linker that owns this sequence instance

◆ PostEvaluation() [2/2]

void UE::MovieScene::FSequenceInstance::PostEvaluation ( UMovieSceneEntitySystemLinker Linker)

◆ PreEvaluation() [1/2]

void UE::MovieScene::FSequenceInstance::PreEvaluation ( )

Called when this instance has been queued for evaluation in order for it to do any pre-work setup.

Parameters
LinkerThe linker that owns this sequence instance

◆ PreEvaluation() [2/2]

void UE::MovieScene::FSequenceInstance::PreEvaluation ( UMovieSceneEntitySystemLinker Linker)

◆ RunLegacyTrackTemplates()

void UE::MovieScene::FSequenceInstance::RunLegacyTrackTemplates ( )

Called to run legacy track templates

◆ SetContext()

void UE::MovieScene::FSequenceInstance::SetContext ( const FMovieSceneContext InContext)
inline

Get the evaluation context for the current frame

Returns
This sequence instance's playback context

◆ SetFinished()

void UE::MovieScene::FSequenceInstance::SetFinished ( bool  bInFinished)
inline

Indicate that this sequence instance has finished evaluation and should remove its entities

◆ Start() [1/2]

void UE::MovieScene::FSequenceInstance::Start ( const FMovieSceneContext InContext)

Called for root level instances that have either never evaluated, or have previously finished evaluating

Parameters
LinkerThe linker that owns this sequence instance
InContextThe context that this sequence instance is to be evaluated with

◆ Start() [2/2]

void UE::MovieScene::FSequenceInstance::Start ( UMovieSceneEntitySystemLinker Linker,
const FMovieSceneContext InContext 
)

◆ Update() [1/2]

void UE::MovieScene::FSequenceInstance::Update ( const FMovieSceneContext InContext)

Called after dissection for root level instances in order for this sequence instacne to update any entities it needs for evaluation.

Parameters
LinkerThe linker that owns this sequence instance
InContextThe (potentially dissected) context that this sequence instance is to be evaluated with

◆ Update() [2/2]

void UE::MovieScene::FSequenceInstance::Update ( UMovieSceneEntitySystemLinker Linker,
const FMovieSceneContext InContext 
)

Friends And Related Symbol Documentation

◆ FScopedVolatilityManagerSuppression

Member Data Documentation

◆ Ledger

FEntityLedger UE::MovieScene::FSequenceInstance::Ledger

Ledger that tracks all currently instantiated entities for this instance


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