Curves
Every Curves command in CodeFizz Editor Agent, with parameters and examples.
Every Curves command in CodeFizz Editor Agent, with parameters and examples.
13 commands. Each shows its parameters and an example, and has a copyable deep link, so you (or an AI agent) can jump straight to one.
create_curveCreate a Curve asset (float, vector, or linear color)
Creates a Curve asset of the chosen type: float (CurveFloat, one value sub-curve), vector (CurveVector, x/y/z sub-curves), or linear_color (CurveLinearColor, r/g/b/a sub-curves). The curve starts empty; add keys with set_curve_keys. For an Ease Curve Library (UE 5.7+) use create_data_asset with class_name EaseCurveLibrary instead, it is a plain data asset.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path to create at (e.g. /Game/Curves/C_Speed) |
| curve_type | string | Yes | float | vector | linear_color |
| save | bool | No | Save the asset immediately |
cfa create_curve --asset-path /Game/Curves/C_Speed --curve-type floatget_curveRead a curve asset's keys, settings, and ranges
Returns each sub-curve's keys (time, value, interp, tangents), pre/post infinity extrapolation, and the asset's time/value ranges. Pass eval_times to also evaluate the curve at given times (handy for verifying results). Pass as_json true to get the engine's own full-fidelity JSON export instead, which round-trips through import_curve.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve asset |
| sub_curve | string | No | Restrict to one sub-curve: value (float), x/y/z (vector), r/g/b/a (linear_color) |
| include_keys | bool | No | Include per-key data (false = counts and settings only) |
| eval_times | json | No | JSON array of times to evaluate each sub-curve at (e.g. [0,0.5,1]) |
| as_json | bool | No | Return the engine's full JSON export of the asset |
cfa get_curve --asset-path /Game/Curves/C_Speed --eval-times '[0, 0.5, 1]'set_curve_keysWrite keys on one sub-curve of a curve asset
Writes keys on one sub-curve: value (float curves), x/y/z (vector), or r/g/b/a (linear color). Mode replace (default) rebuilds the sub-curve from the given keys; merge updates-or-adds by time and leaves other keys alone. Each key: time and value required, plus optional interp (cubic default, linear, constant), tangent_mode (auto default, smart_auto, user, break; explicit arrive/leave tangent slopes apply with user/break), and weighted tangents (weight_mode + weights). Also sets pre/post infinity extrapolation and the no-keys default value.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve asset |
| sub_curve | string | No | Target sub-curve: value (float, default), x/y/z (vector), r/g/b/a (linear_color) |
| keys | json | No | JSON array of key objects: [{time, value, interp?, tangent_mode?, arrive_tangent?, leave_tangent?, weight_mode?, arrive_weight?, leave_weight?}] |
| mode | string | No | replace | merge |
| pre_infinity | string | No | cycle | cycle_with_offset | oscillate | linear | constant | none |
| post_infinity | string | No | cycle | cycle_with_offset | oscillate | linear | constant | none |
| default_value | string | No | Value returned when the sub-curve has no keys (number) |
| save | bool | No | Save the asset after editing |
cfa set_curve_keys --asset-path /Game/Curves/C_Speed --keys '[{"time":0,"value":0},{"time":1,"value":100,"interp":"linear"}]'delete_curve_keysDelete keys from one sub-curve
Deletes keys from one sub-curve by their times (nearest key within a small tolerance), or clears the whole sub-curve with all=true.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve asset |
| sub_curve | string | No | Target sub-curve: value (float, default), x/y/z (vector), r/g/b/a (linear_color) |
| times | json | No | JSON array of key times to delete |
| all | bool | No | Delete ALL keys on the sub-curve |
| save | bool | No | Save the asset after editing |
cfa delete_curve_keys --asset-path /Game/Curves/C_Speed --times '[0.5]'import_curveReplace a curve asset's data from JSON or CSV
Replaces the whole curve from text data using the engine's own importers. Format json takes the engine curve JSON (exactly what get_curve --as-json returns, full fidelity including tangents). Format csv takes rows of time,value (one value column per sub-curve: 1 for float, 3 for vector, 4 for linear color); CSV keys import as linear.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve asset |
| format | string | Yes | json | csv |
| data | string | Yes | The JSON or CSV text |
| save | bool | No | Save the asset after importing |
cfa import_curve --asset-path /Game/Curves/C_Speed --format csv --data '0,0\n1,100'create_curve_tableCreate a Curve Table (or Composite Curve Table)
Creates an empty Curve Table. Whether it stores rich curves (per-key interpolation, like the Cubic option in the editor dialog) or simple curves (one interpolation per row, the Linear/Constant options) is fixed by the FIRST row added, pass curve_type on set_curve_table_row, or by import_curve_table's interp. With composite true it creates a Composite Curve Table that stacks the given parent tables instead.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path to create at (e.g. /Game/Curves/CT_Damage) |
| composite | bool | No | Create a Composite Curve Table that stacks parent tables |
| parent_tables | stringlist | No | Composite only: parent curve table paths, in stack order |
| save | bool | No | Save the asset immediately |
cfa create_curve_table --asset-path /Game/Curves/CT_Damageget_curve_tableRead a curve table's rows and keys
Returns the table mode (rich, simple, or empty) and its rows with key counts. Filter narrows rows by name substring; include_keys adds per-key data; eval_times evaluates each matched row at the given times. Pass export json or csv to instead get the whole table in the engine's export format (round-trips through import_curve_table).
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve table |
| filter | string | No | Case-insensitive substring filter on row names |
| include_keys | bool | No | Include per-key data for matched rows |
| eval_times | json | No | JSON array of times to evaluate each matched row at |
| export | string | No | Return the whole table as an engine export instead: json | csv |
cfa get_curve_table --asset-path /Game/Curves/CT_Damage --include-keys --eval-times '[1, 10]'set_curve_table_rowAdd or update one curve table row
Adds or updates one row (curve) in a curve table. While the table is EMPTY, curve_type picks rich (per-key interpolation, extrapolation) or simple (one interpolation for the whole row via interp); after that the table's mode applies to every row, an engine rule. Mode replace (default) rebuilds the row from the given keys; merge updates-or-adds by time. Rich rows take the same key objects as set_curve_keys.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve table |
| row_name | string | Yes | Row (curve) name to add or update |
| keys | json | No | JSON array of key objects: [{time, value, interp?, tangent_mode?...}] (simple rows use only time/value) |
| curve_type | string | No | rich | simple; only honored while the table is empty |
| interp | string | No | Simple rows: whole-row interpolation (linear, constant, cubic) |
| mode | string | No | replace | merge |
| pre_infinity | string | No | Rich rows: pre-infinity extrapolation |
| post_infinity | string | No | Rich rows: post-infinity extrapolation |
| save | bool | No | Save the asset after editing |
cfa set_curve_table_row --asset-path /Game/Curves/CT_Damage --row-name Turret --keys '[{"time":1,"value":10},{"time":10,"value":250}]'delete_curve_table_rowDelete a row from a curve table
Deletes one row (curve) from a curve table by name.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve table |
| row_name | string | Yes | Row (curve) name to delete |
| save | bool | No | Save the asset after editing |
cfa delete_curve_table_row --asset-path /Game/Curves/CT_Damage --row-name Turretrename_curve_table_rowRename a row in a curve table
Renames one row (curve) in a curve table, keeping all of its keys.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve table |
| row_name | string | Yes | Current row name |
| new_name | string | Yes | New row name |
| save | bool | No | Save the asset after editing |
cfa rename_curve_table_row --asset-path /Game/Curves/CT_Damage --row-name Turret --new-name HeavyTurretimport_curve_tableReplace ALL rows of a curve table from CSV or JSON
Rebuilds the whole curve table from text using the engine's own importers, exactly like importing in the editor. CSV: first row is a header whose columns are key times, each following row is name,value,value... JSON: the engine's curve table JSON (what get_curve_table --export json returns). interp picks how keys import: linear or constant produce simple curves, cubic produces rich curves. This REPLACES all existing rows.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve table |
| format | string | Yes | csv | json |
| data | string | Yes | The CSV or JSON text |
| interp | string | No | linear | constant (simple curves) | cubic (rich curves) |
| save | bool | No | Save the asset after importing |
cfa import_curve_table --asset-path /Game/Curves/CT_Damage --format csv --data 'Name,1,10\nTurret,10,250'create_curve_atlasCreate a Curve Atlas from linear color curves
Creates a Curve Atlas (CurveLinearColorAtlas), a texture whose rows are gradients baked from CurveLinearColor assets, for use with the CurveAtlasRowParameter material node. Width sets the texture width (per-curve sample count). Curves can be added now or later with set_curve_atlas.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path to create at (e.g. /Game/Curves/CA_Gradients) |
| width | int | No | Texture width in pixels (also the per-curve sample count) |
| gradient_curves | stringlist | No | CurveLinearColor asset paths to add as gradient rows, in order |
| save | bool | No | Save the asset immediately |
cfa create_curve_atlas --asset-path /Game/Curves/CA_Gradients --width 256 --gradient-curves /Game/Curves/C_Heat,/Game/Curves/C_Coolset_curve_atlasEdit a Curve Atlas (resize, add/remove/replace curves)
Edits a Curve Atlas: width resizes the texture, add_curves appends gradient rows, remove_curves removes them, and set_curves replaces the entire list in one go (do not combine set_curves with add/remove). Textures rebuild and dependent materials refresh automatically, the same path the editor's details panel uses.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the curve atlas |
| width | int | No | New texture width (0 = keep current) |
| add_curves | stringlist | No | CurveLinearColor paths to append |
| remove_curves | stringlist | No | CurveLinearColor paths to remove |
| set_curves | stringlist | No | Replace the ENTIRE gradient list with these paths, in order |
| save | bool | No | Save the asset after editing |
cfa set_curve_atlas --asset-path /Game/Curves/CA_Gradients --add-curves /Game/Curves/C_Toxic