UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSequenceInstance.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Containers/Array.h"
9#include "CoreTypes.h"
17#include "Templates/UniquePtr.h"
18
22class UObject;
23struct FFrameTime;
25template <typename ElementType> class TRange;
26
27namespace UE
28{
29namespace MovieScene
30{
31
32struct FCompiledDataVolatilityManager;
33struct FPreAnimatedStateExtension;
34struct FSequenceInstance;
35struct FSharedPlaybackState;
36struct FSubSequencePath;
37struct ISequenceUpdater;
38
40{
41 None = 0,
42 NeedsDissection = 1u << 0,
43 NeedsPreEvaluation = 1u << 1,
44 NeedsPostEvaluation = 1u << 2,
45 HasLegacyTemplates = 1u << 3,
46};
48
64
70{
73
74public:
75
83
93
101
108
116
124
130 MOVIESCENE_API void Finish();
131
138
143
144public:
145
150 {
151 return SharedPlaybackState;
152 }
153
159 UE_DEPRECATED(5.5, "The player interface is now optional and will be deprecated in a future relase. Please use FPlayerIndexPlaybackCapability::GetPlayer()")
161
165 UE_DEPRECATED(5.5, "The player interface is now optional and will be deprecated in a future relase. Please use FPlayerIndexPlaybackCapability::GetPlayerIndex()")
167
174 {
175 return SequenceID;
176 }
177
184 {
185 return Context;
186 }
187
192 {
193 return InstanceHandle;
194 }
195
202 {
203 return RootInstanceHandle;
204 }
205
212 {
213 return ParentInstanceHandle;
214 }
215
219 bool IsRootSequence() const
220 {
221 return RootInstanceHandle == InstanceHandle;
222 }
223
227 bool IsSubSequence() const
228 {
229 return RootInstanceHandle != InstanceHandle;
230 }
231
238 {
239 return InstanceHandle.InstanceSerial;
240 }
241
247 bool HasFinished() const
248 {
249 return bFinished;
250 }
251
255 bool HasEverUpdated() const
256 {
257 return bHasEverUpdated;
258 }
259
267
272
277
282
287 {
288 return LegacyEvaluator.Get();
289 }
290
295
296public:
297
304 {
305 Context = InContext;
306 }
307
312 {
313 bFinished = bInFinished;
314 }
315
320
325
330
331 /*
332 * Evaluate a condition on this sequence instance hierarchy, utilizing any cache as relevant.
333 */
334 MOVIESCENE_API bool EvaluateCondition(const FGuid& BindingID, const FMovieSceneSequenceID& SequenceID, const UMovieSceneCondition* Condition, UObject* ConditionOwnerObject) const;
335
336public:
337
340
343
346
349
353
357
358public:
359
360 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
362 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
364 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
366 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
368 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
370 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
372 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
374 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
376 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
378 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
380 UE_DEPRECATED(5.4, "Please use the version of this method without a Linker parameter")
382
383private:
384
385 void InitializeLegacyEvaluator();
386 void InitializeLegacyPlayer();
387
388private:
389
390 FMovieSceneContext Context;
391
392#if !UE_BUILD_SHIPPING && !UE_BUILD_TEST
394 FString RootSequenceName;
395#endif
396
402 TUniquePtr<ISequenceUpdater> SequenceUpdater;
405
407 TSharedRef<FSharedPlaybackState> SharedPlaybackState;
408
410 FMovieSceneSequenceID SequenceID;
412 FMovieSceneSequenceID RootOverrideSequenceID;
416 FInstanceHandle InstanceHandle;
418 FInstanceHandle ParentInstanceHandle;
420 FRootInstanceHandle RootInstanceHandle;
422 bool bInitialized : 1;
424 bool bFinished : 1;
426 bool bHasEverUpdated : 1;
427
429};
430
431
432} // namespace MovieScene
433} // namespace UE
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
const bool
Definition NetworkReplayStreaming.h:178
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition MovieSceneLegacyPlayer.h:30
Definition IMovieScenePlayer.h:90
Definition MovieScene.Build.cs:6
Definition Array.h:670
Definition Range.h:50
Definition SharedPointer.h:153
Definition UniquePtr.h:107
UE_FORCEINLINE_HINT T * Get() const
Definition UniquePtr.h:324
Definition MovieSceneCondition.h:88
Definition MovieSceneEntitySystemLinker.h:113
Definition Object.h:95
UpdateFlags
Definition DetourCrowd.h:208
Definition Linker.cpp:38
ESequenceInstanceUpdateFlags
Definition MovieSceneSequenceInstance.h:40
ESequenceInstanceInvalidationType
Definition MovieSceneSequenceInstance.h:53
Definition AdvancedWidgetsModule.cpp:13
Definition FrameTime.h:16
Definition Guid.h:109
Definition MovieScenePlayback.h:184
Definition MovieSceneSequenceID.h:13
Definition MovieSceneTrackEvaluator.h:30
Definition MovieSceneEntityLedger.h:38
Definition MovieSceneSequenceInstanceHandle.h:15
uint16 InstanceSerial
Definition MovieSceneSequenceInstanceHandle.h:17
Definition MovieSceneEntityIDs.h:302
Definition IMovieScenePlayer.h:41
Definition MovieSceneSequenceInstanceHandle.h:58
Definition MovieSceneInstanceRegistry.h:140
Definition MovieSceneSequenceInstance.h:70
FEntityLedger Ledger
Definition MovieSceneSequenceInstance.h:72
MOVIESCENE_API void DestroyImmediately()
Definition MovieSceneSequenceInstance.cpp:474
MOVIESCENE_API FMovieSceneEntityID FindEntity(UObject *Owner, uint32 EntityID) const
Definition MovieSceneSequenceInstance.cpp:515
MOVIESCENE_API void FindEntities(UObject *Owner, TArray< FMovieSceneEntityID > &OutEntityIDs) const
Definition MovieSceneSequenceInstance.cpp:520
const FMovieSceneTrackEvaluator * GetLegacyEvaluator() const
Definition MovieSceneSequenceInstance.h:286
FSequenceInstance(const FSequenceInstance &)=delete
MOVIESCENE_API void Finish()
Definition MovieSceneSequenceInstance.cpp:361
FInstanceHandle GetInstanceHandle() const
Definition MovieSceneSequenceInstance.h:191
const FMovieSceneContext & GetContext() const
Definition MovieSceneSequenceInstance.h:183
MOVIESCENE_API void OverrideRootSequence(FMovieSceneSequenceID NewRootSequenceID)
Definition MovieSceneSequenceInstance.cpp:490
MOVIESCENE_API void DissectContext(const FMovieSceneContext &Context, TArray< TRange< FFrameTime > > &OutDissections)
Definition MovieSceneSequenceInstance.cpp:305
FInstanceHandle GetParentInstanceHandle() const
Definition MovieSceneSequenceInstance.h:211
MOVIESCENE_API bool CanFinishImmediately() const
Definition MovieSceneSequenceInstance.cpp:349
void SetFinished(bool bInFinished)
Definition MovieSceneSequenceInstance.h:311
bool IsSubSequence() const
Definition MovieSceneSequenceInstance.h:227
FRootInstanceHandle GetRootInstanceHandle() const
Definition MovieSceneSequenceInstance.h:201
MOVIESCENE_API void PostEvaluation()
Definition MovieSceneSequenceInstance.cpp:438
bool HasEverUpdated() const
Definition MovieSceneSequenceInstance.h:255
TSharedRef< FSharedPlaybackState > GetSharedPlaybackState() const
Definition MovieSceneSequenceInstance.h:149
MOVIESCENE_API bool EvaluateCondition(const FGuid &BindingID, const FMovieSceneSequenceID &SequenceID, const UMovieSceneCondition *Condition, UObject *ConditionOwnerObject) const
Definition MovieSceneSequenceInstance.cpp:501
MOVIESCENE_API void RunLegacyTrackTemplates()
Definition MovieSceneSequenceInstance.cpp:419
MOVIESCENE_API FSubSequencePath GetSubSequencePath() const
Definition MovieSceneSequenceInstance.cpp:525
MOVIESCENE_API void InvalidateCachedData(ESequenceInstanceInvalidationType InvalidationType=ESequenceInstanceInvalidationType::All)
Definition MovieSceneSequenceInstance.cpp:211
MOVIESCENE_API void Initialize()
Definition MovieSceneSequenceInstance.cpp:112
bool HasFinished() const
Definition MovieSceneSequenceInstance.h:247
void SetContext(const FMovieSceneContext &InContext)
Definition MovieSceneSequenceInstance.h:303
ESequenceInstanceUpdateFlags GetUpdateFlags() const
Definition MovieSceneSequenceInstance.h:263
MOVIESCENE_API FSequenceInstance & operator=(FSequenceInstance &&)
MOVIESCENE_API IMovieScenePlayer * GetPlayer() const
Definition MovieSceneSequenceInstance.cpp:138
MOVIESCENE_API bool ConditionalRecompile()
Definition MovieSceneSequenceInstance.cpp:289
uint16 GetSerialNumber() const
Definition MovieSceneSequenceInstance.h:237
MOVIESCENE_API FInstanceHandle FindSubInstance(FMovieSceneSequenceID SequenceID) const
Definition MovieSceneSequenceInstance.cpp:510
MOVIESCENE_API uint16 GetPlayerIndex() const
Definition MovieSceneSequenceInstance.cpp:143
MOVIESCENE_API void PreEvaluation()
Definition MovieSceneSequenceInstance.cpp:402
FSequenceInstance & operator=(const FSequenceInstance &)=delete
FMovieSceneSequenceID GetSequenceID() const
Definition MovieSceneSequenceInstance.h:173
MOVIESCENE_API ~FSequenceInstance()
Definition MovieSceneSequenceInstance.cpp:120
bool IsRootSequence() const
Definition MovieSceneSequenceInstance.h:219
MOVIESCENE_API FSequenceInstance(FSequenceInstance &&)
Definition MovieSceneRootOverridePath.h:25