#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:

  1. Pushing a cutscene context (inter-context transition from gameplay).

  2. Starting ULevelSequencePlayer playback with user-provided settings.

  3. 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

  • ExitTransition Optional 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.