#include <ComposableCameraBlueprintLibrary.h>
Inherits:
UBlueprintFunctionLibrary
Blueprint library.
Public Methods¶
| Return | Name | Description |
|---|---|---|
DECLARE_FUNCTION inline |
DECLARE_FUNCTION¶
inline
inline DECLARE_FUNCTION(execSetParameterBlockValue)
Public Static Methods¶
| Return | Name | Description |
|---|---|---|
AComposableCameraCameraBase * |
ActivateComposableCameraFromTypeAsset static |
Activate a composable camera from a Camera Type Asset (data-driven workflow). |
AComposableCameraCameraBase * |
ActivateComposableCameraFromDataTable static |
Activate a composable camera from a DataTable row. |
UAsyncPlayCutsceneSequence * |
PlayCutsceneSequence static |
Create and register a PlayCutsceneSequence action. Does NOT call Activate(). |
void |
TerminateCurrentCamera static |
Terminate the current camera — pops the active (top) context off the stack. The previous context resumes with an optional transition. Cannot pop the base context. |
void |
PopCameraContext static |
Pop a specific camera context by name. If this is the active context, the previous context resumes with an optional transition. Cannot pop the base context if it is the last one remaining. |
int32 |
GetCameraContextStackDepth static |
Get the current depth of the camera context stack. |
FName |
GetActiveContextName static |
Get the name of the currently active (top) context. |
void |
AddModifier static |
Add a modifier data asset. |
void |
RemoveModifier static |
Remove a modifier data asset. |
UComposableCameraActionBase * |
AddAction static |
Add a camera action. Multiple actions of the same class are not allowed. |
void |
ExpireAction static |
Expire a camera action. |
AComposableCameraPlayerCameraManager * |
GetComposableCameraPlayerCameraManager static |
Get player camera manager and cast it to ComposableCameraPlayerCameraManager. Can be null if it's not the type. |
UComposableCameraPatchHandle * |
AddCameraPatch static |
Add a Camera Patch on the active context's Director, or on a named context if ContextName is non-None. |
void |
ExpireCameraPatch static |
Manually retire a Patch by its handle. Flips the Patch to Exiting via the normal envelope ramp; the actual removal happens at the end of the next Apply pass. |
void |
ExpireAllPatchesOnContext static |
Soft-expire every active Patch on the named context's Director. Each Patch flips to Exiting via its normal envelope ramp — mid-Entering patches fade out from their current alpha rather than popping to 1 first. Already-Exiting / Expired patches are left alone (idempotent). |
bool |
IsPatchActive static |
True iff the handle's instance is still alive AND in Entering / Active phase. |
EComposableCameraPatchPhase |
GetPatchPhase static |
Current lifecycle phase. Returns Expired when the handle is stale. |
float |
GetPatchAlpha static |
Current envelope alpha [0..1]. Returns 0 when the handle is stale. |
float |
GetPatchElapsedTime static |
Cumulative time spent in Active phase (seconds). The Duration channel fires when this reaches the Patch's resolved Duration. Returns 0 for a stale handle or a Patch that hasn't reached Active yet. |
void |
SetParameterBlockValue static |
Custom thunk function for setting a single value in a ParameterBlock. Used internally by UK2Node_ActivateComposableCamera to fill the parameter block at compile time. |
FVector |
MakeLiteralVector static |
|
FVector4 |
MakeLiteralVector4 static |
|
FVector2D |
MakeLiteralVector2D static |
|
FRotator |
MakeLiteralRotator static |
|
FTransform |
MakeLiteralTransform static |
|
UObject * |
MakeLiteralObject static |
|
FName |
MakeLiteralName static |
|
uint8 |
MakeLiteralByte static |
|
void |
SetParameterBlockBool static |
|
void |
SetParameterBlockInt32 static |
|
void |
SetParameterBlockFloat static |
|
void |
SetParameterBlockDouble static |
|
void |
SetParameterBlockName static |
|
void |
SetParameterBlockVector2D static |
|
void |
SetParameterBlockVector static |
|
void |
SetParameterBlockVector4 static |
|
void |
SetParameterBlockRotator static |
|
void |
SetParameterBlockTransform static |
|
void |
SetParameterBlockFloatInterval static |
|
void |
SetParameterBlockActor static |
|
void |
SetParameterBlockObject static |
ActivateComposableCameraFromTypeAsset¶
static
static AComposableCameraCameraBase * ActivateComposableCameraFromTypeAsset(const UObject * WorldContextObject, int32 PlayerIndex, UComposableCameraTypeAsset * CameraTypeAsset, FName ContextName, UComposableCameraTransitionDataAsset * TransitionOverride, FComposableCameraParameterBlock Parameters, FComposableCameraActivateParams ActivationParams)
Activate a composable camera from a Camera Type Asset (data-driven workflow).
The type asset defines the node composition, exposed parameters, internal variables, and default transition.
This function is hidden from the Blueprint palette because designers should author activation calls through UK2Node_ActivateComposableCamera instead — that K2 node generates a typed pin per exposed parameter and expands into this call at compile time. Exposing the raw FComposableCameraParameterBlock form in the BP menu would create a second, untyped, strictly worse workflow alongside the K2 node.
Parameters
-
WorldContextObjectWorld context object. -
PlayerIndexPlayer index (0 for single player). -
CameraTypeAssetThe camera type data asset to instantiate. -
ContextNameOptional context name. If valid, the camera activates in the specified context (auto-pushing if needed). If NAME_None, activates in the current active context. -
TransitionOverrideOptional transition. If nullptr, the type asset's EnterTransition is used. -
ParametersParameter block with exposed parameter values for this camera type. -
ActivationParamsParameters to define transient, lifetime, and pose preservation behavior.
Returns
The activated camera instance.
ActivateComposableCameraFromDataTable¶
static
static AComposableCameraCameraBase * ActivateComposableCameraFromDataTable(const UObject * WorldContextObject, int32 PlayerIndex, UDataTable * DataTable, FName RowName, FComposableCameraParameterBlock OverrideParameters)
Activate a composable camera from a DataTable row.
The row is expected to be of type FComposableCameraParameterTableRow. The row's CameraType is sync-loaded and its Parameters.Values map is parsed via FComposableCameraParameterBlock::ApplyStringValue using the type's exposed parameters. Parse failures are logged to LogComposableCameraSystem and fall back to the node pin's authored default so activation never refuses to proceed on a single bad cell; parameters with no valid source at all end up at the runtime data block's zero-initialized default.
If OverrideParameters is non-empty, its entries take precedence over the row-parsed values — an override entry for a given name replaces the row value entirely. This is how the K2 node's "Add Override Pin" feature works: the row provides the base configuration, and the override block carries per-call-site adjustments authored on the K2 node's dynamic pins.
This function is hidden from the Blueprint palette because designers should author DataTable-driven activation calls through UK2Node_ActivateComposableCameraFromDataTable instead — that K2 node provides a row-struct-filtered DataTable asset picker and a live row-name dropdown, and expands into this call at compile time.
Parameters
-
WorldContextObjectWorld context object. -
PlayerIndexPlayer index (0 for single player). -
DataTableDataTable asset containing the row. -
RowNameName of the row to activate. The row's ActivationParams struct is used directly. -
OverrideParametersOptional per-call-site overrides that take precedence over the row's string-map values.
Returns
The activated camera instance, or nullptr on failure.
PlayCutsceneSequence¶
static
static UAsyncPlayCutsceneSequence * PlayCutsceneSequence(UObject * WorldContextObject, ULevelSequence * InLevelSequence, FName ContextName, UComposableCameraTransitionDataAsset * EnterTransition, FMovieSceneSequencePlaybackSettings PlaybackSettings)
Create and register a PlayCutsceneSequence action. Does NOT call Activate().
This is BlueprintInternalUseOnly because the Blueprint entry point is UK2Node_PlayCutsceneSequence, which calls this function in its ExpandNode and then binds delegates + calls Activate() as separate expansion steps.
The factory lives here (not on UAsyncPlayCutsceneSequence) to prevent UK2Node_AsyncAction from auto-registering a second, broken async node.
TerminateCurrentCamera¶
static
static void TerminateCurrentCamera(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager, UComposableCameraTransitionDataAsset * TransitionOverride, FComposableCameraActivateParams ActivationParams)
Terminate the current camera — pops the active (top) context off the stack. The previous context resumes with an optional transition. Cannot pop the base context.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager. -
TransitionOverrideOptional transition. If nullptr, falls back to the resume camera's EnterTransition. -
ActivationParamsOptional activation params for the resume camera.
PopCameraContext¶
static
static void PopCameraContext(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager, FName ContextName, UComposableCameraTransitionDataAsset * TransitionOverride, FComposableCameraActivateParams ActivationParams)
Pop a specific camera context by name. If this is the active context, the previous context resumes with an optional transition. Cannot pop the base context if it is the last one remaining.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager. -
ContextNameThe name identifying which context to pop. -
TransitionOverrideOptional transition. If nullptr, falls back to the resume camera's EnterTransition. -
ActivationParamsOptional activation params for the resume camera.
GetCameraContextStackDepth¶
static
static int32 GetCameraContextStackDepth(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager)
Get the current depth of the camera context stack.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager.
Returns
The number of contexts on the stack (1 = base context only).
GetActiveContextName¶
static
static FName GetActiveContextName(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager)
Get the name of the currently active (top) context.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager.
Returns
The active context's name.
AddModifier¶
static
static void AddModifier(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager, UComposableCameraNodeModifierDataAsset * ModifierAsset)
Add a modifier data asset.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager. -
ModifierAssetData asset for modifiers to add.
RemoveModifier¶
static
static void RemoveModifier(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager, UComposableCameraNodeModifierDataAsset * ModifierAsset)
Remove a modifier data asset.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager. -
ModifierAssetData asset for modifiers to remove.
AddAction¶
static
static UComposableCameraActionBase * AddAction(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager, TSubclassOf< UComposableCameraActionBase > ActionClass, bool bOnlyForCurrentCamera)
Add a camera action. Multiple actions of the same class are not allowed.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager. -
ActionClassThe class of action you want to add. -
bOnlyForCurrentCameraIf this action is only valid for current running camera. If true, the action will expire when the current camera is blended out.
ExpireAction¶
static
static void ExpireAction(const UObject * WorldContextObject, AComposableCameraPlayerCameraManager * PlayerCameraManager, TSubclassOf< UComposableCameraActionBase > ActionClass)
Expire a camera action.
Parameters
-
WorldContextObjectWorld context object. -
PlayerCameraManagerThe player camera manager, must be a ComposableCameraPlayerCameraManager. -
ActionClassThe class of action you want to expire.
GetComposableCameraPlayerCameraManager¶
static
static AComposableCameraPlayerCameraManager * GetComposableCameraPlayerCameraManager(const UObject * WorldContextObject, int Index)
Get player camera manager and cast it to ComposableCameraPlayerCameraManager. Can be null if it's not the type.
Parameters
IndexPlayer index.
AddCameraPatch¶
static
static UComposableCameraPatchHandle * AddCameraPatch(const UObject * WorldContextObject, int32 PlayerIndex, UComposableCameraPatchTypeAsset * PatchAsset, FName ContextName, FComposableCameraPatchActivateParams Params, FComposableCameraParameterBlock Parameters)
Add a Camera Patch on the active context's Director, or on a named context if ContextName is non-None.
Hidden from the Blueprint palette — designers should author this through UK2Node_AddCameraPatch, which generates a typed pin per exposed parameter / exposed variable on the chosen Patch asset and expands into this call at compile time.
Parameters
-
PlayerIndexPlayer index (0 for single player). Resolved to a UComposableCameraPlayerCameraManager via GetComposableCameraPlayerCameraManager — matches ActivateComposableCameraFromTypeAsset's PlayerIndex surface so the two K2 nodes feel like siblings. -
PatchAssetThe Patch type asset (a subclass of CameraTypeAsset). -
ContextNameNAME_None → target the current active context (the common case). Otherwise the context with that name must already be on the stack — the patch attaches to THAT context's Director, even if it is currently buried below the active context. Patches on a buried context tick (their Director's Evaluate still runs) but are not user-visible until the context returns to the top — useful for staging gameplay overlays while a cutscene is playing. -
ParamsEnvelope / lifetime / composition activation parameters; see FComposableCameraPatchActivateParams docs for sentinels. -
ParametersExposed-parameter / exposed-variable values for the Patch evaluator. Same keyspace as the block accepted by ActivateComposableCameraFromTypeAsset.
Returns
A handle to the added Patch (nullptr on rejection — see log warning for the reason).
ExpireCameraPatch¶
static
static void ExpireCameraPatch(UComposableCameraPatchHandle * Handle, float ExitDurationOverride)
Manually retire a Patch by its handle. Flips the Patch to Exiting via the normal envelope ramp; the actual removal happens at the end of the next Apply pass.
Parameters
-
HandleHandle returned from AddCameraPatch. -
ExitDurationOverride< 0 → use the Patch's authored ExitDuration. >= 0 replaces the per-Patch ExitDuration (pass 0 for an instant cut-off).
ExpireAllPatchesOnContext¶
static
static void ExpireAllPatchesOnContext(const UObject * WorldContextObject, int32 PlayerIndex, FName ContextName, float ExitDurationOverride)
Soft-expire every active Patch on the named context's Director. Each Patch flips to Exiting via its normal envelope ramp — mid-Entering patches fade out from their current alpha rather than popping to 1 first. Already-Exiting / Expired patches are left alone (idempotent).
Parameters
-
ContextNameThe context whose Director's PatchManager to sweep. NAME_None → active context. -
ExitDurationOverride< 0 → each patch keeps its own ExitDuration. >= 0 replaces every patch's ExitDuration uniformly.
IsPatchActive¶
static
static bool IsPatchActive(const UComposableCameraPatchHandle * Handle)
True iff the handle's instance is still alive AND in Entering / Active phase.
GetPatchPhase¶
static
static EComposableCameraPatchPhase GetPatchPhase(const UComposableCameraPatchHandle * Handle)
Current lifecycle phase. Returns Expired when the handle is stale.
GetPatchAlpha¶
static
static float GetPatchAlpha(const UComposableCameraPatchHandle * Handle)
Current envelope alpha [0..1]. Returns 0 when the handle is stale.
GetPatchElapsedTime¶
static
static float GetPatchElapsedTime(const UComposableCameraPatchHandle * Handle)
Cumulative time spent in Active phase (seconds). The Duration channel fires when this reaches the Patch's resolved Duration. Returns 0 for a stale handle or a Patch that hasn't reached Active yet.
SetParameterBlockValue¶
static
static void SetParameterBlockValue(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, const int32 & Value)
Custom thunk function for setting a single value in a ParameterBlock. Used internally by UK2Node_ActivateComposableCamera to fill the parameter block at compile time.
Parameters
-
ParameterBlockThe parameter block to modify. -
ParameterNameThe parameter name key. -
ValueThe value to set (type-erased via CustomStructureParam).
MakeLiteralVector¶
static
static FVector MakeLiteralVector(FVector Value)
MakeLiteralVector4¶
static
static FVector4 MakeLiteralVector4(FVector4 Value)
MakeLiteralVector2D¶
static
static FVector2D MakeLiteralVector2D(FVector2D Value)
MakeLiteralRotator¶
static
static FRotator MakeLiteralRotator(FRotator Value)
MakeLiteralTransform¶
static
static FTransform MakeLiteralTransform(FTransform Value)
MakeLiteralObject¶
static
static UObject * MakeLiteralObject(UObject * Value)
MakeLiteralName¶
static
static FName MakeLiteralName(FName Value)
MakeLiteralByte¶
static
static uint8 MakeLiteralByte(uint8 Value)
SetParameterBlockBool¶
static
static void SetParameterBlockBool(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, bool Value)
SetParameterBlockInt32¶
static
static void SetParameterBlockInt32(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, int32 Value)
SetParameterBlockFloat¶
static
static void SetParameterBlockFloat(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, float Value)
SetParameterBlockDouble¶
static
static void SetParameterBlockDouble(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, double Value)
SetParameterBlockName¶
static
static void SetParameterBlockName(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FName Value)
SetParameterBlockVector2D¶
static
static void SetParameterBlockVector2D(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FVector2D Value)
SetParameterBlockVector¶
static
static void SetParameterBlockVector(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FVector Value)
SetParameterBlockVector4¶
static
static void SetParameterBlockVector4(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FVector4 Value)
SetParameterBlockRotator¶
static
static void SetParameterBlockRotator(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FRotator Value)
SetParameterBlockTransform¶
static
static void SetParameterBlockTransform(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FTransform Value)
SetParameterBlockFloatInterval¶
static
static void SetParameterBlockFloatInterval(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, FFloatInterval Value)
SetParameterBlockActor¶
static
static void SetParameterBlockActor(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, AActor * Value)
SetParameterBlockObject¶
static
static void SetParameterBlockObject(FComposableCameraParameterBlock & ParameterBlock, FName ParameterName, UObject * Value)