UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneSequence.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
8#include "CoreMinimal.h"
9#include "CoreTypes.h"
13#include "Misc/Guid.h"
14#include "MovieSceneFwd.h"
15#include "MovieSceneObjectBindingID.h" // only for FMovieSceneObjectBindingID in .gen.cpp
16#include "MovieSceneSection.h" // only for FMovieSceneTimecodeSource in .gen.cpp
20#include "MovieSceneTrack.h"
22#include "UObject/NameTypes.h"
24#include "UObject/ObjectPtr.h"
26
27#include "MovieSceneSequence.generated.h"
28
29class FArchive;
32class ITargetPlatform;
33class UMovieScene;
37class UObject;
38struct FFrame;
45
46#if WITH_EDITOR
47struct FSlateBrush;
48#endif
49
50
51namespace UE::MovieScene
52{
53 struct FSharedPlaybackState;
54}
55
56enum class ETrackSupport
57{
64};
65
66
70UCLASS(abstract, MinimalAPI, Config = Engine, BlueprintType)
73{
74public:
75
77
79
81
82public:
83
93
97 MOVIESCENE_API FMovieSceneBindingReferences* GetBindingReferences();
98
102 MOVIESCENE_API virtual const FMovieSceneBindingReferences* GetBindingReferences() const;
103
107 UE_DEPRECATED(5.5, "UnloadBoundObject no longer supported")
108 void UnloadBoundObject(const UE::UniversalObjectLocator::FResolveParams& ResolveParams, const FGuid& ObjectId, int32 BindingIndex) {}
109
110
119 virtual void BindPossessableObject(const FGuid& ObjectId, UObject& PossessedObject, UObject* Context) PURE_VIRTUAL(UMovieSceneSequence::BindPossessableObject,);
120
129
137 UE_DEPRECATED(5.4, "Please call the FResolveParams overload")
138 virtual void LocateBoundObjects(const FGuid& ObjectId, UObject* Context, TArray<UObject*, TInlineAllocator<1>>& OutObjects) const {}
139
148 UE_DEPRECATED(5.5, "Please use the version that also takes a SharedPlaybackState")
149 MOVIESCENE_API void LocateBoundObjects(const FGuid& ObjectId, const UE::UniversalObjectLocator::FResolveParams& ResolveParams, TArray<UObject*, TInlineAllocator<1>>& OutObjects) const;
150
159 UE_DEPRECATED(5.5, "Please use the version that also takes a SharedPlaybackState")
168
179
187 MOVIESCENE_API FGuid FindPossessableObjectId(UObject& Object, UObject* Context) const;
188
189 UE_DEPRECATED(5.5, "Use the version that takes a SharedPlaybackState")
190 MOVIESCENE_API virtual FGuid FindBindingFromObject(UObject* InObject, UObject* Context) const;
191
199 virtual FGuid FindBindingFromObject(UObject* InObject, TSharedRef<const FSharedPlaybackState> SharedPlaybackState) const { return FGuid(); }
200
208
217 virtual UMovieScene* GetMovieScene() const PURE_VIRTUAL(UMovieSceneSequence::GetMovieScene(), return nullptr;);
218
225 virtual UObject* GetParentObject(UObject* Object) const PURE_VIRTUAL(UMovieSceneSequence::GetParentObject(), return nullptr;);
226
232 virtual bool AllowsSpawnableObjects() const { return false; }
233
239 virtual bool AllowsCustomBindings() const { return false; }
240
247 virtual void UnbindPossessableObjects(const FGuid& ObjectId) PURE_VIRTUAL(UMovieSceneSequence::UnbindPossessableObjects, );
248
256 virtual void UnbindObjects(const FGuid& ObjectId, const TArray<UObject*>& InObjects, UObject* Context) PURE_VIRTUAL(UMovieSceneSequence::UnbindObjects, );
257
264 virtual void UnbindInvalidObjects(const FGuid& ObjectId, UObject* Context) PURE_VIRTUAL(UMovieSceneSequence::UnbindInvalidObjects, );
265
274
281 virtual bool CanRebindPossessable(const FMovieScenePossessable& InPossessable) const { return false; }
282
289 virtual bool CanAnimateObject(UObject& InObject) const { return true; }
290
295
300
304 virtual UObject* CreateDirectorInstance(TSharedRef<const FSharedPlaybackState> SharedPlaybackState, FMovieSceneSequenceID SequenceID) { return nullptr; }
305
306 UE_DEPRECATED(5.4, "Please use the version that takes a SharedPlaybackState")
307 UObject* CreateDirectorInstance(IMovieScenePlayer& Player, FMovieSceneSequenceID SequenceID);
308
310
314 UFUNCTION(BlueprintCallable, Category = "Sequencer|Sequence")
316
320 UFUNCTION(BlueprintCallable, Category = "Sequencer|Sequence")
321 MOVIESCENE_API const TArray<FMovieSceneObjectBindingID>& FindBindingsByTag(FName InBindingName) const;
322
326 UFUNCTION(BlueprintCallable, Category = "Sequencer|Sequence")
327 MOVIESCENE_API FMovieSceneTimecodeSource GetEarliestTimecodeSource() const;
328
329#if WITH_EDITOR
331
332 virtual const FSlateBrush* GetCustomBrushForBinding(FGuid BindingID) const { return nullptr; }
333#endif
334
335public:
336
337 MOVIESCENE_API virtual void PostLoad() override;
338 MOVIESCENE_API virtual void PreSave(FObjectPreSaveContext ObjectSaveContext) override;
339 MOVIESCENE_API virtual void BeginDestroy() override;
340 MOVIESCENE_API virtual void PostDuplicate(bool bDuplicateForPIE) override;
341
342 MOVIESCENE_API virtual void Serialize(FArchive& Ar) override;
343
344public:
345
350 {
351 return bParentContextsAreSignificant;
352 }
353
360 {
361 return bPlayableDirectly;
362 }
363
370 {
371 Modify();
372 bPlayableDirectly = bInPlayableDirectly;
373 }
374
379 {
380 return SequenceFlags;
381 }
382
384 {
385 SequenceFlags = InFlags;
386 }
387
388 UMovieSceneCompiledData* GetCompiledData() const;
389 UMovieSceneCompiledData* GetOrCreateCompiledData();
390
391private:
392
393#if WITH_EDITOR
394 void OptimizeForCook();
395#endif
396
398 UPROPERTY(Instanced)
400
401public:
402
403 /* The default completion mode for this movie scene when a section's completion mode is set to project default */
404 UPROPERTY(config)
405 EMovieSceneCompletionMode DefaultCompletionMode;
406
408
414 UPROPERTY()
415 bool bParentContextsAreSignificant;
416
420 UPROPERTY()
421 bool bPlayableDirectly;
422
424 UPROPERTY()
426
427public:
428
429#if WITH_EDITOR
430
434 virtual FText GetDisplayName() const { return FText::FromName(GetFName()); }
435
436 /*
437 * Sequences can determine whether they support a particular track type
438 */
440
443
444 /*
445 * Sequences can determine whether they support a particular filter type
446 */
447 MOVIESCENE_API bool IsFilterSupported(const FString& InFilterName) const;
448
450 virtual bool IsFilterSupportedImpl(const FString& InFilterName) const { return true; }
451
452#endif
453
457 MOVIESCENE_API bool IsSubSequenceCompatible(const UMovieSceneSequence& SubSequence) const;
458
462 virtual bool IsCompatibleSubSequence(const UMovieSceneSequence& SubSequence) const { return true; }
463
467 virtual bool IsCompatibleAsSubSequence(const UMovieSceneSequence& ParentSequence) const { return true; }
468};
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
void Init()
Definition LockFreeList.h:4
EMovieSceneCompletionMode
Definition MovieSceneCompletionMode.h:10
EMovieSceneServerClientMask
Definition MovieSceneFwd.h:135
EMovieSceneSequenceFlags
Definition MovieSceneFwd.h:98
ETrackSupport
Definition MovieSceneSequence.h:57
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition NameTypes.h:617
Definition UObjectGlobals.h:1292
Definition ObjectSaveContext.h:244
Definition Text.h:385
static CORE_API FText FromName(const FName &Val)
Definition Text.cpp:1076
Definition IMovieScenePlayer.h:90
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition ContainerAllocationPolicies.h:894
Definition SubclassOf.h:30
Definition MovieSceneCompiledDataManager.h:87
Definition MovieSceneEntitySystemLinker.h:113
Definition MovieSceneSequence.h:73
virtual bool CanAnimateObject(UObject &InObject) const
Definition MovieSceneSequence.h:289
virtual bool IsCompatibleAsSubSequence(const UMovieSceneSequence &ParentSequence) const
Definition MovieSceneSequence.h:467
virtual void virtual BindPossessableObject(const FGuid &ObjectId, UObject &PossessedObject, UObject *Context) PURE_VIRTUAL(UMovieSceneSequence boo CanPossessObject)(UObject &Object, UObject *InPlaybackContext) const PURE_VIRTUAL(UMovieSceneSequence
Definition MovieSceneSequence.h:128
virtual UObject * CreateDirectorInstance(TSharedRef< const FSharedPlaybackState > SharedPlaybackState, FMovieSceneSequenceID SequenceID)
Definition MovieSceneSequence.h:304
virtual bool CanRebindPossessable(const FMovieScenePossessable &InPossessable) const
Definition MovieSceneSequence.h:281
bool IsPlayableDirectly() const
Definition MovieSceneSequence.h:359
virtual bool AllowsCustomBindings() const
Definition MovieSceneSequence.h:239
virtual FGuid CreateSpawnable(UObject *ObjectToSpawn)
Definition MovieSceneSequence.h:299
virtual bool IsCompatibleSubSequence(const UMovieSceneSequence &SubSequence) const
Definition MovieSceneSequence.h:462
void SetSequenceFlags(EMovieSceneSequenceFlags InFlags)
Definition MovieSceneSequence.h:383
EMovieSceneSequenceFlags GetFlags() const
Definition MovieSceneSequence.h:378
virtual UMovieScene * GetMovieScene() const PURE_VIRTUAL(UMovieSceneSequence
Definition MovieSceneSequence.h:217
virtual FGuid CreatePossessable(UObject *ObjectToPossess)
Definition MovieSceneSequence.h:294
virtual void GatherExpiredObjects(const FMovieSceneObjectCache &InObjectCache, TArray< FGuid > &OutInvalidIDs) const
Definition MovieSceneSequence.h:207
void SetPlayableDirectly(bool bInPlayableDirectly)
Definition MovieSceneSequence.h:369
virtual void virtual UnbindPossessableObjects(const FGuid &ObjectId) PURE_VIRTUAL(UMovieSceneSequence void virtual UnbindObjects(const FGuid &ObjectId, const TArray< UObject * > &InObjects, UObject *Context) PURE_VIRTUAL(UMovieSceneSequence void virtual UnbindInvalidObjects(const FGuid &ObjectId, UObject *Context) PURE_VIRTUAL(UMovieSceneSequence UObject MakeSpawnableTemplateFromInstance)(UObject &InSourceObject, FName ObjectName)
Definition MovieSceneSequence.h:273
bool AreParentContextsSignificant() const
Definition MovieSceneSequence.h:349
Definition MovieSceneSignedObject.h:72
Definition MovieSceneTrack.h:206
Definition MovieScene.h:358
Definition Object.h:95
Definition UniversalObjectLocator.Build.cs:6
Definition ConstraintsManager.h:14
Definition AdvancedWidgetsModule.cpp:13
Definition Stack.h:114
Definition Guid.h:109
Definition MovieSceneBindingReferences.h:72
Definition MovieSceneDynamicBinding.h:36
Definition MovieSceneObjectBindingID.h:203
Definition MovieSceneEvaluationState.h:94
Definition MovieScenePossessable.h:35
Definition MovieSceneSequenceID.h:13
Definition MovieSceneSection.h:182
Definition SlateBrush.h:239
Definition UniversalObjectLocator.h:32
Definition ObjectPtr.h:488
Definition MovieSceneSharedPlaybackState.h:59
Definition UniversalObjectLocatorResolveParams.h:47