Chooser Tables
Every Chooser Tables command in CodeFizz Editor Agent, with parameters and examples.
Every Chooser Tables command in CodeFizz Editor Agent, with parameters and examples.
16 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_chooser_assetCreate a Chooser Table, Chooser Signature, Proxy Asset or Proxy Table
Creates the asset through the engine's own factory, with the setup the New Chooser dialog offers: generic, anim (an Anim Instance parameter plus Chooser Player Settings, results are animation assets), no_primary (rows only write outputs) or uaf (UE 5.8). result_type, result_class and parameters then override the preset. Chooser Signature assets need UE 5.8. The Chooser plugin must be on.
cfa create_chooser_asset --asset-path /Game/Choosers/CT_Locomotion --json '{"result_class":"/Script/Engine.AnimSequence","parameters":[{"class":"/Game/BP_Hero.BP_Hero_C","direction":"ReadWrite"}]}'get_chooserRead a Chooser Table, Signature or Proxy asset
A table gives its parameters, columns (type, category, binding, fallback), rows (result, disabled, one cell per column), its fallback result and its nested choosers. column returns one column with every setting. A signature or proxy asset gives result type, result class and parameters; a proxy table gives its entries.
cfa get_chooser --asset-path /Game/Choosers/CT_Locomotion --max-results 10set_chooser_signatureSet a chooser's result type, result class and parameters
Works on a Chooser Table (its root), a Chooser Signature or a Proxy Asset. parameters replaces the list; columns keep their parameter index, so the reply says whether the table still validates.
cfa set_chooser_signature --asset-path /Game/Choosers/CT_Locomotion --json '{"parameters":[{"class":"/Game/BP_Hero.BP_Hero_C","direction":"ReadWrite"}]}'list_chooser_typesList chooser column, result, parameter and binding types
From reflection, so plugin columns appear too. A column lists its category (Filter, Scoring, Output, Random), what it binds (bool, double, enum, object, struct, a tag type), its cell format and its settings.
| Parameter | Type | Required | Description |
|---|---|---|---|
| kind | string | No | columns, results, parameters, bindings or all |
| filter | string | No | Substring matched against type names |
| max_results | int | No | Maximum types per kind; truncation is reported |
cfa list_chooser_types --kind columnsadd_chooser_columnAdd a column to a Chooser Table
Puts the column where the Chooser editor does (filters after the last filter, outputs before Randomize, Randomize last) and gives every row the column's default cell. binding is a path from a parameter: "Speed", "0.Movement.Speed" or "BP_Hero.Speed"; the leaf type is checked against what the column binds. properties sets the column's settings; fallback is an output column's value when no row passes.
cfa add_chooser_column --asset-path /Game/Choosers/CT_Locomotion --type FloatRangeColumn --json '{"binding":"Speed"}'set_chooser_columnRebind, change or move a Chooser Table column
Rebinding re-types the cells as the editor does (enum cells keep their names, struct cells take the new struct). move_to moves the column; Randomize stays last.
cfa set_chooser_column --asset-path /Game/Choosers/CT_Locomotion --column Speed --json '{"properties":{"bWrapInput":true},"disabled":false}'remove_chooser_columnRemove a column from a Chooser Table
cfa remove_chooser_column --asset-path /Game/Choosers/CT_Locomotion --column 2add_chooser_rowsAdd rows to a Chooser Table
Each row is an asset path, or {"result":..., "cells":{column: value}, "disabled":bool}. A result is an asset path (a class path on a class table), {"_ClassName":"EvaluateChooser","Chooser":path}, {"_ClassName":"NestedChooser","Chooser":name}, or any type from list_chooser_types --kind results. Cells take short forms: true/false/"any" for a bool column, an enum entry name, ["A","B"] for an Enum (Or) column, a number for a single-value cell, or the full struct.
cfa add_chooser_rows --asset-path /Game/Choosers/CT_Locomotion --json '{"rows":[{"result":"/Game/Anims/Walk","cells":{"Speed":{"Min":0,"Max":300}}},{"result":"/Game/Anims/Run","cells":{"Speed":{"Min":300,"bNoMax":true}}}]}'set_chooser_rowChange a Chooser Table row or the fallback
Sets the row's result, some of its cells, its disabled flag, or moves it. Row -1 is the fallback: its result and the output columns' fallback values.
cfa set_chooser_row --asset-path /Game/Choosers/CT_Locomotion --row 1 --json '{"cells":{"IsCrouching":true},"disabled":false}'remove_chooser_rowsRemove rows from a Chooser Table
-1 resets the fallback result and the output columns' fallback values.
cfa remove_chooser_rows --asset-path /Game/Choosers/CT_Locomotion --json '{"rows":[3,4]}'add_nested_chooserAdd a nested chooser to a Chooser Table
A nested chooser lives inside the table's asset and shares its parameters. Edit it with --nested <name>; a row points at it with {"_ClassName":"NestedChooser","Chooser":"<name>"}.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the Chooser Table |
| name | string | Yes | Name of the nested chooser |
cfa add_nested_chooser --asset-path /Game/Choosers/CT_Locomotion --name Crouchedremove_nested_chooserRemove a nested chooser from a Chooser Table
As the editor's delete does: the nested chooser is removed and rows that pointed at it are left with no chooser (validate_chooser reports them).
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the Chooser Table |
| name | string | Yes | Name of the nested chooser |
cfa remove_nested_chooser --asset-path /Game/Choosers/CT_Locomotion --name Crouchedevaluate_chooserEvaluate a Chooser Table against a context object
Runs the engine's EvaluateChooserMulti and returns each result with the rows it came from, and the values the output columns wrote. The context object is restored afterwards. The table's parameters must be classes, with at most one; a struct parameter cannot be passed by reflection, so test such tables in PIE.
cfa evaluate_chooser --asset-path /Game/Choosers/CT_Locomotion --context /Game/BP_Hero.Default__BP_Hero_Cvalidate_chooserCheck a Chooser Table, Signature or Proxy asset with a verdict
For a table and each nested chooser: row counts, Randomize placement, bindings that resolve to the right type and parameter direction, enum cell names, struct cell types, results that match the result type and class, and the fallback. Proxy tables: missing or repeated proxies and empty values.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the Chooser Table, Signature or Proxy asset |
cfa validate_chooser --asset-path /Game/Choosers/CT_Locomotionset_proxy_table_entryAdd or change a Proxy Table entry
The entry for a proxy asset resolves to its result: an asset path or any chooser result type. properties sets the entry's other fields, such as OutputStructData.
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the Proxy Table |
| proxy | string | Yes | Content path of the Proxy Asset |
| result | json | No | What the proxy resolves to |
| properties | json | No | {name: value} for the entry's other fields |
cfa set_proxy_table_entry --asset-path /Game/Choosers/PT_Hero --proxy /Game/Choosers/PA_Idle --json '{"result":"/Game/Anims/Idle"}'remove_proxy_table_entryRemove a proxy asset's entry from a Proxy Table
| Parameter | Type | Required | Description |
|---|---|---|---|
| asset_path | string | Yes | Content path of the Proxy Table |
| proxy | string | Yes | Content path of the Proxy Asset |
cfa remove_proxy_table_entry --asset-path /Game/Choosers/PT_Hero --proxy /Game/Choosers/PA_Idle