Modifiers target camera node classes and change node parameters before evaluation. See Concepts -> Modifiers for lifecycle and gameplay guidance.
UComposableCameraNodeModifierDataAsset¶
Concrete data asset. This is the object gameplay code adds and removes.
| Field | Type | Purpose |
|---|---|---|
Modifiers |
TArray<UComposableCameraModifierBase*> |
Instanced wrapper entries. Each entry is either Node Type override mode or Custom Modifier Class mode. |
OverrideEnterTransition |
UComposableCameraTransitionBase* |
Optional transition used when adding this asset changes the effective modifier set. |
OverrideExitTransition |
UComposableCameraTransitionBase* |
Optional transition used when removing this asset changes the effective modifier set. |
CameraTagQuery |
FGameplayTagQuery |
Boolean tag expression selecting which camera tag containers match this asset. Empty matches all cameras. |
CameraTags |
FGameplayTagContainer |
Deprecated legacy tag list. Migrated to an ANY query during load. |
Priority |
int32 |
Higher value wins when multiple matching assets target the same node class. |
Registered in the Content Browser under Composable Camera System -> Node Modifier Data Asset.
UComposableCameraModifierBase¶
Base wrapper and legacy extension class.
| Field or function | Purpose |
|---|---|
bUseCustomModifierClass |
Selects Custom Modifier Class mode. False means generic Node Type override mode. |
NodeTemplate |
Node Type override template. Checked properties copy from this template into matching runtime nodes. |
OverrideProperties |
Serialized property names enabled for Node Type mode. |
CustomModifier |
Instanced user-authored modifier object used in Custom Modifier Class mode. |
NodeClass |
Legacy/custom target class. Generic wrappers derive the target from NodeTemplate. |
ApplyModifier(Node) |
Blueprint event used by custom modifier subclasses. |
Node Type Overrides¶
In Node Type mode, choose a camera node class and check the properties that should be overridden. Only editable, non-transient, non-deprecated, top-level node properties are eligible. Properties marked with NoModifierOverride are intentionally hidden.
Checked fields are applied before node initialization and are protected from pin auto-resolution for that activation. That means a checked modifier value outranks the same field's graph wire, exposed parameter, and authored default.
Custom Modifier Class¶
Custom mode owns an instanced user-authored subclass of UComposableCameraModifierBase. The nested modifier supplies NodeClass and receives the legacy ApplyModifier(Node) Blueprint event after initialization.
Use this mode when the modifier needs logic instead of a static property copy.
Matching and Priority¶
The modifier manager filters active assets through CameraTagQuery, then resolves one winner per node class by Priority. Empty queries match every camera. Legacy CameraTags data keeps its previous "any of these tags" behavior after migration.
There is no additive stacking for the same node class. Put related same-node effects in one modifier entry if they need to combine.
Transitions¶
When an add/remove changes the effective set, the PCM reactivates the current camera. OverrideEnterTransition and OverrideExitTransition on the modifier asset can override that blend for the add/remove event. If they are unset, normal camera transition resolution applies.
Non-Transient Cameras Only¶
Transient cameras skip modifier resolution. Clear bIsTransient if a cinematic or temporary camera must respond to modifiers.