UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MovieSceneReplaceableBinding.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
9#include "MovieSceneReplaceableBinding.generated.h"
10
11#define UE_API MOVIESCENE_API
12
13namespace UE
14{
15 namespace MovieScene
16 {
17 struct FSharedPlaybackState;
18 }
19}
20struct FGuid;
21class UMovieScene;
22struct FSlateBrush;
24
32UCLASS(MinimalAPI, Abstract)
35{
36public:
37
39
40public:
41
42 /* UMovieSceneCustomBinding overrides */
43 UE_API virtual bool SupportsBindingCreationFromObject(const UObject* SourceObject) const override;
44 UE_API virtual UClass* GetBoundObjectClass() const override;
45#if WITH_EDITOR
46 UE_API virtual void SetupDefaults(UObject* SpawnedObject, FGuid ObjectBindingId, UMovieScene& OwnerMovieScene) override;
47 UE_API virtual FSlateIcon GetBindingTrackCustomIconOverlay() const override;
48 UE_API virtual FText GetBindingTrackIconTooltip() const override;
49
50 UE_API virtual bool SupportsConversionFromBinding(const FMovieSceneBindingReference& BindingReference, const UObject* SourceObject) const override;
52#endif
53
54#if WITH_EDITORONLY_DATA
55 // Optional Editor-only preview object
56 UPROPERTY(Instanced, VisibleAnywhere, BlueprintReadOnly, Category="Editor")
58#endif
59
60public:
61
62 /*
63 * Note that we choose to implement CreateCustomBinding here rather than in subclasses.
64 * Instead we rely on subclasses to implement CreateInnerSpawnable and InitReplaceableBinding which we call here.
65 */
67
68protected:
70 UE_API virtual void PostDuplicate(EDuplicateMode::Type DuplicateMode) override;
71
72 /*
73 * Must be implemented. Called during non-editor/runtime to resolve the binding dynamically. In editor worlds/Sequencer will instead use the PreviewSpawnable binding to spawn a preview object.
74 * If no object is returned, Sequencer's BindingOverrides can still be used to dynamically bind the object. See UMovieSceneReplaceableActorBinding for an example.
75 */
77
78 /* Called from CreateNewCustomBinding to create the inner spawnable used for sequencer preview. By default will just call GetInnerSpawnableClass and call CreateNewCustomBinding on that. */
79 UE_API virtual UMovieSceneSpawnableBindingBase* CreateInnerSpawnable(UObject* SourceObject, UMovieScene& OwnerMovieScene);
80
81 /*
82 * Must be implemented and return a non abstract spawnable binding class inheriting from UMovieSceneSpawnableBindingBase to use for the preview for this replaceable binding.
83 */
85
86 /* Must be implemented. Called from CreateNewCustomBinding to allow the replaceable to initialize any data members from the source object. */
87 virtual void InitReplaceableBinding(UObject* SourceObject, UMovieScene & OwnerMovieScene) PURE_VIRTUAL(UMovieSceneReplaceableBindingBase::InitReplaceableBinding, return;);
88
90
91 /* UMovieSceneCustomBinding overrides*/
92 UE_API bool WillSpawnObject(TSharedRef<const UE::MovieScene::FSharedPlaybackState> SharedPlaybackState) const override final;
93 UE_API FMovieSceneBindingResolveResult ResolveBinding(const FMovieSceneBindingResolveParams& ResolveParams, int32 BindingIndex, TSharedRef<const UE::MovieScene::FSharedPlaybackState> SharedPlaybackState) const override final;
94 UE_API const UMovieSceneSpawnableBindingBase* AsSpawnable(TSharedRef<const UE::MovieScene::FSharedPlaybackState> SharedPlaybackState) const override final;
95
96};
97
98#undef UE_API
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
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 UE_API
Definition MovieSceneReplaceableBinding.h:11
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
Definition Text.h:385
Definition MovieScene.Build.cs:6
Definition SharedPointer.h:153
Definition SubclassOf.h:30
Definition Class.h:3793
Definition MovieSceneCustomBinding.h:62
virtual UClass * GetBoundObjectClass() const PURE_VIRTUAL(UMovieSceneCustomBinding
Definition MovieSceneCustomBinding.h:126
virtual bool SupportsBindingCreationFromObject(const UObject *SourceObject) const PURE_VIRTUAL(UMovieSceneCustomBinding
Definition MovieSceneCustomBinding.h:95
virtual UMovieSceneCustomBinding * CreateNewCustomBinding(UObject *SourceObject, UMovieScene &OwnerMovieScene) PURE_VIRTUAL(UMovieSceneCustomBinding
Definition MovieSceneCustomBinding.h:103
virtual FMovieSceneBindingResolveResult ResolveBinding(const FMovieSceneBindingResolveParams &ResolveParams, int32 BindingIndex, TSharedRef< const UE::MovieScene::FSharedPlaybackState > SharedPlaybackState) const PURE_VIRTUAL(UMovieSceneCustomBinding
Definition MovieSceneCustomBinding.h:79
Definition MovieSceneReplaceableBinding.h:35
virtual TSubclassOf< UMovieSceneSpawnableBindingBase > GetInnerSpawnableClass() const PURE_VIRTUAL(UMovieSceneReplaceableBindingBase
Definition MovieSceneReplaceableBinding.h:84
virtual FMovieSceneBindingResolveResult ResolveRuntimeBindingInternal(const FMovieSceneBindingResolveParams &ResolveParams, int32 BindingIndex, TSharedRef< const UE::MovieScene::FSharedPlaybackState > SharedPlaybackState) const PURE_VIRTUAL(UMovieSceneReplaceableBindingBase
Definition MovieSceneReplaceableBinding.h:76
Definition MovieSceneSpawnableBinding.h:33
Definition MovieScene.h:358
Definition Object.h:95
virtual void PostDuplicate(bool bDuplicateForPIE)
Definition Object.h:538
Type
Definition UObjectGlobals.h:128
Definition AdvancedWidgetsModule.cpp:13
Definition Guid.h:109
Definition MovieSceneBindingReferences.h:27
Definition MovieSceneBindingReferences.h:47
Definition MovieSceneCustomBinding.h:28
Definition SlateBrush.h:239
Definition SlateIcon.h:13
Definition ObjectPtr.h:488