#include <ComposableCameraTypeAsset.h>
Describes a camera-level variable (internal or caller-exposed).
This is the struct used for BOTH InternalVariables and ExposedVariables on UComposableCameraTypeAsset — the two arrays share the same field layout and the runtime also stores both in a single FName→offset map. The distinction lives purely at the authoring surface: which array an entry lives in.
-
InternalVariables: node-only slots. InitialValueString is applied at camera instantiation; callers have no way to override it.
-
ExposedVariables: same node-level read/write semantics, but the caller's FComposableCameraParameterBlock may override the initial value at activation time (by keying on VariableName, same channel used for ExposedParameters). After activation, there is no external read/write API for them — they behave exactly like internal variables from that point on.
All fields apply to both usages; none are ignored in either case.
Public Attributes¶
| Return | Name | Description |
|---|---|---|
FGuid |
VariableGuid |
Stable identifier for this variable, independent of VariableName. |
FName |
VariableName |
Name of this variable. |
EComposableCameraPinType |
VariableType |
|
TObjectPtr< UScriptStruct > |
StructType |
|
TObjectPtr< UEnum > |
EnumType |
For VariableType == Enum: the specific UEnum this variable represents. Stored internally as a normalized int64 (matching Enum pin behavior). |
FString |
InitialValueString |
Initial value at camera instantiation (serialized string). |
bool |
bResetEveryFrame |
If true, the variable resets to InitialValue at the start of every frame (before node execution). If false, the variable persists across frames. |
FText |
Tooltip |
VariableGuid¶
FGuid VariableGuid
Stable identifier for this variable, independent of VariableName.
VariableName is the user-facing key used at runtime to look up values in the ParameterBlock / RuntimeDataBlock, but the editor needs a separate identity that survives renames so existing Get/Set variable graph nodes can follow a variable across a rename in the Details panel. The editor's UComposableCameraVariableGraphNode tracks its variable by this GUID, and the toolkit populates a missing GUID lazily on load (see UComposableCameraTypeAsset::PostLoad).
This field is never read by the runtime — it exists purely for editor identity tracking and serialization round-trip.
VariableName¶
FName VariableName
Name of this variable.
Serves both as the runtime lookup key (ParameterBlock / RuntimeDataBlock) and as the display label in the graph editor context menu and on Get/Set variable nodes. There is no separate DisplayName — the FName IS the display name. Renames are tracked via VariableGuid so existing Get/Set graph nodes follow the variable through edits in the Details panel.
VariableType¶
EComposableCameraPinType VariableType =
StructType¶
TObjectPtr< UScriptStruct > StructType = nullptr
EnumType¶
TObjectPtr< UEnum > EnumType = nullptr
For VariableType == Enum: the specific UEnum this variable represents. Stored internally as a normalized int64 (matching Enum pin behavior).
InitialValueString¶
FString InitialValueString
Initial value at camera instantiation (serialized string).
bResetEveryFrame¶
bool bResetEveryFrame = false
If true, the variable resets to InitialValue at the start of every frame (before node execution). If false, the variable persists across frames.
Tooltip¶
FText Tooltip