CodeFizz
ToolsDemoDocsRoadmapChangelogPricingFAQ
Get the plugin

Getting Started

  • Introduction
  • Quick Start
  • Requirements
  • Installing the CLI
  • License & Machines

Guides

  • Installing the Plugin
  • The AI Skill
  • CLI vs MCP
  • Multiple Editors
  • How It Works
  • Discovering Commands

Walkthroughs

  • Build a Blueprint with AI
  • Author a Material Graph
  • Create a Niagara System

Reference

  • Reference
  • Niagara
  • PCG
  • Materials
  • StateTree
  • Sequencer
  • Level Actors
  • Project Settings
  • Blueprints
  • Blueprint Structs
  • Enhanced Input
  • Asset Management
  • Bulk Asset Ops
  • Data Assets
  • Object Properties
  • UMG Widgets
  • Data Tables
  • Curves
  • Console Commands
  • Profiling
  • Core
  • Debug

Help

  • FAQ
  • Troubleshooting
  • For AI Agents
DocsReferenceCurves

Curves

Every Curves command in CodeFizz Editor Agent, with parameters and examples.

Loading…
PreviousData TablesNextConsole Commands
CodeFizz

A drop-in Unreal Engine 5 plugin that exposes the entire editor surface (Blueprints, Materials, Niagara, PCG, StateTree, Insights profiling, and more) over the Model Context Protocol. Connect Claude Code, Cursor, VS Code, or any MCP-compatible client and let your AI build inside the engine.

Product

  • Features
  • Docs
  • Tools
  • Demo
  • Roadmap
  • Changelog
  • Pricing
  • FAQ

Resources

  • Install guide
  • Discord
  • YouTube
  • Open-source edition
  • Manage subscription

Legal

  • Refund Policy
  • Privacy Policy
  • Terms of Service

© 2026 CodeFizz. All rights reserved.

CodeFizz Editor Agent is a CodeFizz product. Payments processed by Polar Software, Inc. (Polar), the Merchant of Record.

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_curve

Create 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path to create at (e.g. /Game/Curves/C_Speed)
curve_typestringYesfloat | vector | linear_color
saveboolNoSave the asset immediately
example
cfa create_curve --asset-path /Game/Curves/C_Speed --curve-type float
get_curve

Read 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve asset
sub_curvestringNoRestrict to one sub-curve: value (float), x/y/z (vector), r/g/b/a (linear_color)
include_keysboolNoInclude per-key data (false = counts and settings only)
eval_timesjsonNoJSON array of times to evaluate each sub-curve at (e.g. [0,0.5,1])
as_jsonboolNoReturn the engine's full JSON export of the asset
example
cfa get_curve --asset-path /Game/Curves/C_Speed --eval-times '[0, 0.5, 1]'
set_curve_keys

Write 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve asset
sub_curvestringNoTarget sub-curve: value (float, default), x/y/z (vector), r/g/b/a (linear_color)
keysjsonNoJSON array of key objects: [{time, value, interp?, tangent_mode?, arrive_tangent?, leave_tangent?, weight_mode?, arrive_weight?, leave_weight?}]
modestringNoreplace | merge
pre_infinitystringNocycle | cycle_with_offset | oscillate | linear | constant | none
post_infinitystringNocycle | cycle_with_offset | oscillate | linear | constant | none
default_valuestringNoValue returned when the sub-curve has no keys (number)
saveboolNoSave the asset after editing
example
cfa set_curve_keys --asset-path /Game/Curves/C_Speed --keys '[{"time":0,"value":0},{"time":1,"value":100,"interp":"linear"}]'
delete_curve_keys

Delete 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve asset
sub_curvestringNoTarget sub-curve: value (float, default), x/y/z (vector), r/g/b/a (linear_color)
timesjsonNoJSON array of key times to delete
allboolNoDelete ALL keys on the sub-curve
saveboolNoSave the asset after editing
example
cfa delete_curve_keys --asset-path /Game/Curves/C_Speed --times '[0.5]'
import_curve

Replace 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve asset
formatstringYesjson | csv
datastringYesThe JSON or CSV text
saveboolNoSave the asset after importing
example
cfa import_curve --asset-path /Game/Curves/C_Speed --format csv --data '0,0\n1,100'
create_curve_table

Create 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path to create at (e.g. /Game/Curves/CT_Damage)
compositeboolNoCreate a Composite Curve Table that stacks parent tables
parent_tablesstringlistNoComposite only: parent curve table paths, in stack order
saveboolNoSave the asset immediately
example
cfa create_curve_table --asset-path /Game/Curves/CT_Damage
get_curve_table

Read 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).

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve table
filterstringNoCase-insensitive substring filter on row names
include_keysboolNoInclude per-key data for matched rows
eval_timesjsonNoJSON array of times to evaluate each matched row at
exportstringNoReturn the whole table as an engine export instead: json | csv
example
cfa get_curve_table --asset-path /Game/Curves/CT_Damage --include-keys --eval-times '[1, 10]'
set_curve_table_row

Add 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve table
row_namestringYesRow (curve) name to add or update
keysjsonNoJSON array of key objects: [{time, value, interp?, tangent_mode?...}] (simple rows use only time/value)
curve_typestringNorich | simple; only honored while the table is empty
interpstringNoSimple rows: whole-row interpolation (linear, constant, cubic)
modestringNoreplace | merge
pre_infinitystringNoRich rows: pre-infinity extrapolation
post_infinitystringNoRich rows: post-infinity extrapolation
saveboolNoSave the asset after editing
example
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_row

Delete a row from a curve table

Deletes one row (curve) from a curve table by name.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve table
row_namestringYesRow (curve) name to delete
saveboolNoSave the asset after editing
example
cfa delete_curve_table_row --asset-path /Game/Curves/CT_Damage --row-name Turret
rename_curve_table_row

Rename a row in a curve table

Renames one row (curve) in a curve table, keeping all of its keys.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve table
row_namestringYesCurrent row name
new_namestringYesNew row name
saveboolNoSave the asset after editing
example
cfa rename_curve_table_row --asset-path /Game/Curves/CT_Damage --row-name Turret --new-name HeavyTurret
import_curve_table

Replace 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve table
formatstringYescsv | json
datastringYesThe CSV or JSON text
interpstringNolinear | constant (simple curves) | cubic (rich curves)
saveboolNoSave the asset after importing
example
cfa import_curve_table --asset-path /Game/Curves/CT_Damage --format csv --data 'Name,1,10\nTurret,10,250'
create_curve_atlas

Create 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path to create at (e.g. /Game/Curves/CA_Gradients)
widthintNoTexture width in pixels (also the per-curve sample count)
gradient_curvesstringlistNoCurveLinearColor asset paths to add as gradient rows, in order
saveboolNoSave the asset immediately
example
cfa create_curve_atlas --asset-path /Game/Curves/CA_Gradients --width 256 --gradient-curves /Game/Curves/C_Heat,/Game/Curves/C_Cool
set_curve_atlas

Edit 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.

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the curve atlas
widthintNoNew texture width (0 = keep current)
add_curvesstringlistNoCurveLinearColor paths to append
remove_curvesstringlistNoCurveLinearColor paths to remove
set_curvesstringlistNoReplace the ENTIRE gradient list with these paths, in order
saveboolNoSave the asset after editing
example
cfa set_curve_atlas --asset-path /Game/Curves/CA_Gradients --add-curves /Game/Curves/C_Toxic