#include <AsyncPlayCutsceneSequence.h>
Inherits:
UBlueprintAsyncActionBase
Action that plays a level sequence as a CCS cutscene.
This is the high-level entry point for Level Sequence integration. It handles:
-
Pushing a cutscene context (inter-context transition from gameplay).
-
Starting ULevelSequencePlayer playback with user-provided settings.
-
Popping the cutscene context when the LS ends (or is manually stopped).
Camera cuts within the LS are handled by the engine's CameraCut track, which calls SetViewTarget on the PCM at each section boundary. The PCM's overridden SetViewTarget creates transient proxy cameras for each LS camera actor and activates them in the cutscene context's director with CCS transitions converted from FViewTargetTransitionParams (implicit camera activation).
Blueprint usage: The "Play Cutscene Sequence" K2 node (UK2Node_PlayCutsceneSequence) provides a "Cutscene Action" output pin and an "On Finished" exec pin. Cache the Cutscene Action to call StopCutsceneSequence() later.
Public Attributes¶
| Return | Name | Description |
|---|---|---|
FOnCutsceneSequenceFinished |
OnFinished |
Fires when the level sequence finishes playing (not fired on infinite loop or manual stop). |
OnFinished¶
FOnCutsceneSequenceFinished OnFinished
Fires when the level sequence finishes playing (not fired on infinite loop or manual stop).
Public Methods¶
| Return | Name | Description |
|---|---|---|
void |
StopCutsceneSequence |
Stop the cutscene, pop the cutscene context, and clean up all resources. Triggers an inter-context transition back to gameplay using ExitTransition. |
void |
Activate virtual |
StopCutsceneSequence¶
void StopCutsceneSequence(UComposableCameraTransitionDataAsset * ExitTransition)
Stop the cutscene, pop the cutscene context, and clean up all resources. Triggers an inter-context transition back to gameplay using ExitTransition.
Parameters
ExitTransitionOptional transition for the context pop back to gameplay. If nullptr, falls back to the resume camera's default enter transition.
Activate¶
virtual
virtual void Activate()
Public Static Methods¶
| Return | Name | Description |
|---|---|---|
UAsyncPlayCutsceneSequence * |
Create static |
Create the action and register it with the game instance. Does NOT call Activate() — the K2 node's ExpandNode handles that after delegate binding. |
Create¶
static
static UAsyncPlayCutsceneSequence * Create(UObject * WorldContextObject, ULevelSequence * InLevelSequence, FName ContextName, UComposableCameraTransitionDataAsset * InEnterTransition, FMovieSceneSequencePlaybackSettings PlaybackSettings)
Create the action and register it with the game instance. Does NOT call Activate() — the K2 node's ExpandNode handles that after delegate binding.
This is a plain C++ static, not a UFUNCTION. The Blueprint entry point is UComposableCameraBlueprintLibrary::PlayCutsceneSequence, which the K2 node calls via ExpandNode.
Private Attributes¶
| Return | Name | Description |
|---|---|---|
TObjectPtr< ULevelSequence > |
LevelSequence |
|
TObjectPtr< ULevelSequencePlayer > |
SequencePlayer |
|
TObjectPtr< ALevelSequenceActor > |
SequenceActor |
|
TObjectPtr< UComposableCameraTransitionDataAsset > |
EnterTransition |
|
TWeakObjectPtr< AComposableCameraPlayerCameraManager > |
CachedPCM |
|
TWeakObjectPtr< UWorld > |
CachedWorld |
Cached from the WorldContextObject in the factory — GetWorld() on the base class is unreliable. |
FName |
CutsceneContextName |
|
FMovieSceneSequencePlaybackSettings |
CachedPlaybackSettings |
|
bool |
bIsActive |
LevelSequence¶
TObjectPtr< ULevelSequence > LevelSequence
SequencePlayer¶
TObjectPtr< ULevelSequencePlayer > SequencePlayer
SequenceActor¶
TObjectPtr< ALevelSequenceActor > SequenceActor
EnterTransition¶
TObjectPtr< UComposableCameraTransitionDataAsset > EnterTransition
CachedPCM¶
TWeakObjectPtr< AComposableCameraPlayerCameraManager > CachedPCM
CachedWorld¶
TWeakObjectPtr< UWorld > CachedWorld
Cached from the WorldContextObject in the factory — GetWorld() on the base class is unreliable.
CutsceneContextName¶
FName CutsceneContextName
CachedPlaybackSettings¶
FMovieSceneSequencePlaybackSettings CachedPlaybackSettings
bIsActive¶
bool bIsActive { false }
Private Methods¶
| Return | Name | Description |
|---|---|---|
void |
OnSequenceFinished |
Called when the LS player reports playback finished. |
void |
CleanUp |
Internal cleanup: pop context, destroy player. |
OnSequenceFinished¶
void OnSequenceFinished()
Called when the LS player reports playback finished.
CleanUp¶
void CleanUp(UComposableCameraTransitionDataAsset * PopTransition)
Internal cleanup: pop context, destroy player.