#include <ComposableCameraModifierDataAsset.h>

Inherits: UDataAsset

Data asset for node modifiers. Every entry is a fixed base wrapper selecting either a generic node-property override or a custom Modifier subclass. Modifiers can only be applied to non-transient cameras.

Public Attributes

Return Name Description
EComposableCameraModifierApplyMode ApplyMode Controls whether runtime changes reactivate the current camera or modify the existing camera instance.
TArray< TObjectPtr< UComposableCameraModifierBase > > Modifiers Modifier wrappers. Each entry selects Node Type or Custom Modifier Class mode.
TObjectPtr< UComposableCameraTransitionBase > OverrideEnterTransition Camera-pose transition used when this ReactivateCamera group is applied; falls back to the camera default when null.
TObjectPtr< UComposableCameraTransitionBase > OverrideExitTransition Camera-pose transition used when this ReactivateCamera group is removed; falls back to the camera default when null.
TObjectPtr< UComposableCameraModifierTransitionBase > OverrideEnterValueTransition Value transition used when this in-place Modifier becomes effective. Null means immediate.
TObjectPtr< UComposableCameraModifierTransitionBase > OverrideReplaceValueTransition Value transition used when this in-place Modifier replaces another owner of the same property. Null uses the legacy priority handoff rule.
TObjectPtr< UComposableCameraModifierTransitionBase > OverrideExitValueTransition Value transition used when this in-place Modifier stops being effective. Null means immediate.
FGameplayTagQuery CameraTagQuery Boolean gameplay-tag expression selecting cameras. Empty means all cameras.
FGameplayTagContainer CameraTags Deprecated exact-match legacy list migrated to an ANY query during PostLoad.
int32 Priority Higher priority wins when several assets target the same node property.

ApplyMode

EComposableCameraModifierApplyMode ApplyMode = EComposableCameraModifierApplyMode::ReactivateCamera

Existing assets deserialize to ReactivateCamera because it is value zero. ModifyExistingInstance is opt-in and never inserts nodes into the Evaluation Tree.


Modifiers

TArray< TObjectPtr< UComposableCameraModifierBase > > Modifiers

OverrideEnterTransition

TObjectPtr< UComposableCameraTransitionBase > OverrideEnterTransition

Visible only when ApplyMode == ReactivateCamera.


OverrideExitTransition

TObjectPtr< UComposableCameraTransitionBase > OverrideExitTransition

Visible only when ApplyMode == ReactivateCamera.


OverrideEnterValueTransition

TObjectPtr< UComposableCameraModifierTransitionBase > OverrideEnterValueTransition

Visible only when ApplyMode == ModifyExistingInstance.


OverrideReplaceValueTransition

TObjectPtr< UComposableCameraModifierTransitionBase > OverrideReplaceValueTransition

Visible only when ApplyMode == ModifyExistingInstance. Used when this asset replaces another in-place owner for a property checked by both assets. Null preserves legacy selection: the desired Enter transition is used when its priority is at least the previous priority; otherwise the previous Exit transition is used.


OverrideExitValueTransition

TObjectPtr< UComposableCameraModifierTransitionBase > OverrideExitValueTransition

Visible only when ApplyMode == ModifyExistingInstance.


CameraTagQuery

FGameplayTagQuery CameraTagQuery

Supports nested ALL, ANY, and NONE expressions. Empty queries match every camera.


CameraTags

FGameplayTagContainer CameraTags

Deprecated. Use CameraTagQuery instead.


Priority

int32 Priority { 0 }

Public Methods

Return Name Description
bool MatchesCameraTags const Empty queries match every camera.
void PostLoad virtual Migrates legacy CameraTags data.

MatchesCameraTags

const

bool MatchesCameraTags(const FGameplayTagContainer & InCameraTags) const

PostLoad

virtual

virtual void PostLoad()