CodeFizz
ToolsDemoDocsBlogRoadmapChangelogPricingCompareFAQ
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
  • The Editor Chat Panel
  • Image Generation (OpenRouter)

Walkthroughs

  • Build a Blueprint with AI
  • Author a Material Graph
  • Create a Niagara System
  • Rig a Character with AI
  • Build an Animation Blueprint
  • Build Sound with AI
  • Build a Modular Character
  • Grow a Tree with AI
  • Build a Gameplay Ability System
  • Generate a Landscape with AI
  • Work with World Partition

Reference

  • Reference
  • Audio
  • Mutable
  • Control Rig
  • Niagara
  • PCG
  • Procedural Vegetation
  • Materials
  • Gameplay Ability System
  • World Building
  • Behavior Trees
  • Environment Queries
  • StateTree
  • Sequencer
  • Level Actors
  • Project Settings
  • Blueprints
  • Blueprint Structs and Enums
  • Enhanced Input
  • Asset Management
  • Bulk Asset Ops
  • Data Assets
  • Object Properties
  • UMG Widgets
  • Data Tables
  • Curves
  • Retargeting
  • Skeletal Meshes
  • Animation
  • Chooser Tables
  • UAF (Animation Framework)
  • Console Commands
  • Revision Control and Asset Diff
  • Profiling
  • Image Generation
  • Core
  • Debug
  • Mass Entity (ECS)

Help

  • FAQ
  • Troubleshooting
  • For AI Agents
  • Fix: Plugin failed to load, module could not be loaded (GetLastError 126)
  • Fix: bridge unreachable, editor not responding
  • Fix: cfa targeted the wrong Unreal editor
  • Fix: the CodeFizz panel does not show Active
  • Fix: Unknown command, or plugin version mismatch after an update
DocsReferenceChooser Tables

Chooser Tables

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

Loading…
PreviousAnimationNextUAF (Animation Framework)
CodeFizz

A drop-in Unreal Engine 5 plugin that exposes the entire editor surface (Blueprints, Materials, Niagara, PCG, StateTree, Control Rig, 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
  • Blog
  • Demo
  • Roadmap
  • Changelog
  • Pricing
  • Compare
  • 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.

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_asset

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

example
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_chooser

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

example
cfa get_chooser --asset-path /Game/Choosers/CT_Locomotion --max-results 10
set_chooser_signature

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

example
cfa set_chooser_signature --asset-path /Game/Choosers/CT_Locomotion --json '{"parameters":[{"class":"/Game/BP_Hero.BP_Hero_C","direction":"ReadWrite"}]}'
list_chooser_types

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

ParameterTypeRequiredDescription
kindstringNocolumns, results, parameters, bindings or all
filterstringNoSubstring matched against type names
max_resultsintNoMaximum types per kind; truncation is reported
example
cfa list_chooser_types --kind columns
add_chooser_column

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

example
cfa add_chooser_column --asset-path /Game/Choosers/CT_Locomotion --type FloatRangeColumn --json '{"binding":"Speed"}'
set_chooser_column

Rebind, 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.

example
cfa set_chooser_column --asset-path /Game/Choosers/CT_Locomotion --column Speed --json '{"properties":{"bWrapInput":true},"disabled":false}'
remove_chooser_column

Remove a column from a Chooser Table

example
cfa remove_chooser_column --asset-path /Game/Choosers/CT_Locomotion --column 2
add_chooser_rows

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

example
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_row

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

example
cfa set_chooser_row --asset-path /Game/Choosers/CT_Locomotion --row 1 --json '{"cells":{"IsCrouching":true},"disabled":false}'
remove_chooser_rows

Remove rows from a Chooser Table

-1 resets the fallback result and the output columns' fallback values.

example
cfa remove_chooser_rows --asset-path /Game/Choosers/CT_Locomotion --json '{"rows":[3,4]}'
add_nested_chooser

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

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the Chooser Table
namestringYesName of the nested chooser
example
cfa add_nested_chooser --asset-path /Game/Choosers/CT_Locomotion --name Crouched
remove_nested_chooser

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

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the Chooser Table
namestringYesName of the nested chooser
example
cfa remove_nested_chooser --asset-path /Game/Choosers/CT_Locomotion --name Crouched
evaluate_chooser

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

example
cfa evaluate_chooser --asset-path /Game/Choosers/CT_Locomotion --context /Game/BP_Hero.Default__BP_Hero_C
validate_chooser

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

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the Chooser Table, Signature or Proxy asset
example
cfa validate_chooser --asset-path /Game/Choosers/CT_Locomotion
set_proxy_table_entry

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

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the Proxy Table
proxystringYesContent path of the Proxy Asset
resultjsonNoWhat the proxy resolves to
propertiesjsonNo{name: value} for the entry's other fields
example
cfa set_proxy_table_entry --asset-path /Game/Choosers/PT_Hero --proxy /Game/Choosers/PA_Idle --json '{"result":"/Game/Anims/Idle"}'
remove_proxy_table_entry

Remove a proxy asset's entry from a Proxy Table

ParameterTypeRequiredDescription
asset_pathstringYesContent path of the Proxy Table
proxystringYesContent path of the Proxy Asset
example
cfa remove_proxy_table_entry --asset-path /Game/Choosers/PT_Hero --proxy /Game/Choosers/PA_Idle