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)
  • Play Testing and Packaging

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
  • Static Meshes
  • Animation
  • Chooser Tables
  • Motion Matching
  • UAF (Animation Framework)
  • Console Commands
  • Revision Control and Asset Diff
  • Profiling
  • Packaging and Devices
  • Play Session
  • Testing
  • C++ Builds
  • Editor UI
  • 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
DocsReferenceTesting

Testing

Testing: Prove a change works in the running game. Unreal Engine 5 command reference with parameters and examples.

Loading…
PreviousPlay SessionNextC++ Builds
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.

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

run_playtest

Play-test a running play session: press keys, wait, check live actors, get one verdict

ParameterTypeRequiredDescription
stepsjsonYesJSON array of up to 64 steps: {"keys":[...],"seconds":N}, {"wait":N}, {"expect":[checks]}, {"wait_until":[checks],"timeout":N,"keys":[...]}. Each wait is at most 60 s, the whole playtest 300 s
alwaysjsonNoJSON array of checks that must hold on every frame of the playtest
worldstringNoPlay world whose local player presses the keys and whose actors are checked: server, client1... (default: the first world with a local player)
stop_on_failboolNoStop at the first failed step and release every key (false = run every step and report each)
waitboolNoWait until it finishes and return the result (false = return at once; repeat the same call to collect it)
wait_timeoutintNoSeconds to wait before returning a still-running playtest (default 100; 50 over MCP)
restartboolNoStop the playtest already running in that world and start this one
example
  cfa run_playtest --steps '[{"keys":["W"],"seconds":2},{"expect":[{"actor":"player","measure":"moved","at_least":300}]}]'
  cfa run_playtest --steps '[{"wait_until":[{"actor":"BP_Door_C_1","property":"bIsOpen","equals":true}],"keys":["W"],"timeout":4}]' --always '[{"actor":"player","measure":"z","at_least":-500}]'
  cfa run_playtest --steps '[{"keys":["E"],"seconds":0.2},{"wait":0.5},{"expect":[{"actor":"BP_Chest_C_1","exists":false}]}]'
list_automation_tests

List the project's automation and functional tests, filtered by path or tag

Lists the automation tests the editor knows (C++ IMPLEMENT_SIMPLE_AUTOMATION_TEST and spec tests, functional test maps, Python and Blueprint tests) from the editor's own local automation worker, the one Tools > Session Frontend > Automation shows. The first call asks the worker for its list, which can take a few seconds; the CLI waits. Each row is the full test path (what run_automation_tests takes) followed by its tags. --filter matches part of the path (Project., System.Core., Project.Functional Tests.), --tag one tag; total and truncated stay exact. --rediscover asks again after tests were added in this session.

ParameterTypeRequiredDescription
filterstringNoOnly tests whose full path contains this text
tagstringNoOnly tests with this tag, e.g. [Smoke]
max_resultsintNoMost tests to list (1-1000)
rediscoverboolNoAsk the worker for the test list again
waitboolNoWait for the test list (false = return at once; repeat the same call to collect it)
wait_timeoutintNoSeconds to wait before returning while the list is still coming (default 100; 50 over MCP)
restartboolNoStart over when an earlier listing is still running
example
  cfa list_automation_tests --filter Project.
  cfa list_automation_tests --tag [Smoke] --max-results 100
run_automation_tests

Run automation tests by path or filter and get a verdict with each failure's errors

Runs tests in the editor through the same automation controller the Session Frontend uses, and waits for them (the game thread keeps running). Name them with --tests (full paths from list_automation_tests) or --filter: StartsWith:Project.Functional, ^Prefix, Suffix$, Group:Name (a group in Automation Controller settings) or a bare substring, several joined with +. The reply has a verdict (fail when a test failed, nothing ran or the run timed out; pass_with_warnings for skipped, not-run or warning-only results), passed, failed, skipped and not_run counts, and for each failed test its first errors with file(line). A run refuses while any level or asset is unsaved and lists them, because a test that opens its own map makes the editor drop unsaved level changes (the Session Frontend asks to save first): run save_all, or pass --save-first to save them now. --timeout-seconds stops a run that hangs.

ParameterTypeRequiredDescription
testsstringlistNoFull test paths to run
filterstringNoRun every test this matches instead: StartsWith:X, ^X, X$, Group:Name or a substring, joined by +
save_firstboolNoSave every unsaved level and asset before the run (without it the run refuses while anything is unsaved)
timeout_secondsintNoMost seconds the run may take before it is stopped (5-7200)
max_resultsintNoMost failed tests to list with their errors (counts stay exact)
waitboolNoWait until the run finishes and return the result (false = return at once; repeat the same call to collect it)
wait_timeoutintNoSeconds to wait before returning a still-running run (default 100; 50 over MCP)
restartboolNoStop the run already started by this command and start this one
example
  cfa run_automation_tests --tests System.Core.Math.Vector
  cfa run_automation_tests --filter StartsWith:Project.Functional --timeout-seconds 900