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
  • Packaging and Devices
  • 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
DocsReferencePackaging and Devices

Packaging and Devices

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

Loading…
PreviousProfilingNextImage Generation
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.

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

list_platforms

Platforms the editor can package for, with SDK state, targets and configurations

Lists every platform the Platforms menu can offer (support compiled into this editor), each with: name (the ini name every other command takes), display_name, ubt_name, supported_by_project (Project Settings > Supported Platforms; an empty list means all), cookable (its target platform is loaded), sdk (valid/installed/out_of_date/no_sdk/not_installed; Turnkey's answer when it has one, else the platform's own check, since an unattended editor never runs Turnkey's query), flavor (the cook flavor Package Project uses) and installed_files_missing. It also returns the project's packageable build targets, the package configurations this engine offers (project = the Packaging setting), the project's supported platform list, the host platform, and the Platforms menu's current choices (package/cook platform, package configuration, archive folder).

ParameterTypeRequiredDescription
filterstringNoOnly platforms whose name contains this text
supported_onlyboolNoOnly platforms the project lists as supported
max_resultsintNoMaximum platforms to return
example
  cfa list_platforms
  cfa list_platforms --supported-only=true
  cfa list_platforms --filter Android
set_supported_platforms

Add or remove the project's Supported Platforms (.uproject TargetPlatforms)

Does what the checkboxes in Project Settings > Supported Platforms do: --add and --remove change the .uproject's TargetPlatforms list (checking the file out of revision control when needed); --all=true clears it, the All Platforms box, which means every platform counts as supported. Returns the list read back from the project and a verdict. An unsupported platform can still be packaged; the editor only warns.

ParameterTypeRequiredDescription
addstringlistNoPlatforms to mark supported (names from list_platforms)
removestringlistNoPlatforms to mark unsupported
allboolNoClear the list so every platform counts as supported
example
  cfa set_supported_platforms --add Windows --add Linux
  cfa set_supported_platforms --remove Android
  cfa set_supported_platforms --all=true
validate_packaging

Check a Package Project run before starting it: verdict and findings

Resolves the platform, build target, configuration and archive folder exactly as package_project would, then checks what would make the run fail: the SDK (error when missing), installed-engine platform files, a build target to package, a compiler when the build step will compile C++, an archive folder that can be created, a never-saved level (the save step would stop on a dialog), unsaved assets (info: package_project saves them first, as the editor does), and a job already running. Returns verdict pass / pass_with_warnings / fail, the findings and the exact UAT command line package_project would run.

ParameterTypeRequiredDescription
platformstringNoPlatform, as package_project takes it
configurationstringNoproject, DebugGame, Development, Test or Shipping
targetstringNoBuild target, as package_project takes it
archive_directorystringNoArchive folder, as package_project takes it
example
  cfa validate_packaging
  cfa validate_packaging --platform Windows --configuration Shipping
package_project

Package the project (Platforms > Package Project); returns a job id

Runs the same UAT BuildCookRun command Platforms > Package Project builds, from the same settings: Project Settings > Packaging (build, full rebuild, distribution, pak/IoStore/Zen, compression, prerequisites, crash reporter, chunking, debug files...) and the Platforms menu's choices for anything not passed. The editor shows its packaging notification with a Cancel button and the output streams into the Output Log, exactly as when packaging by hand. It runs out of process and returns at once with a job_id: poll get_build_status --job-id N for the stage (Build, Cook, Stage, Package, Archive), errors and output, and stop it with cancel_build. The one step left out is Turnkey's SDK check, which needs the editor's dialogs; validate_packaging checks the SDK instead. Unsaved assets are saved first, as the menu does (--save-dirty=false refuses instead); a never-saved level is refused. --dry-run returns the command line without starting. UAT writes the build into a platform-named folder inside --archive-directory.

ParameterTypeRequiredDescription
platformstringNoPlatform from list_platforms (Windows, Linux, Android...); default: the menu's Package For choice, else this computer's
configurationstringNoproject, DebugGame, Development, Test or Shipping; default: the menu's choice
targetstringNoBuild target from list_platforms (Game, Client or Server); default: the menu's choice, else the Game target
archive_directorystringNoOutput folder; default: the folder last chosen in Package Project, else <Project>/Saved/Packages
save_dirtyboolNoSave unsaved assets first, as the menu does (false = refuse while any are unsaved)
dry_runboolNoReturn the exact UAT command line without starting
example
  cfa package_project
  cfa package_project --platform Windows --configuration Shipping --archive-directory D:/Builds/MyGame
  cfa package_project --platform Linux --target MyGameServer
  cfa package_project --dry-run=true
cook_content

Cook content for a platform (Platforms > Cook Content); returns a job id

Runs the same UAT BuildCookRun cook-only command as Platforms > Cook Content (with -iterate when Cooker settings ask for iterative file cooks, and -skipstage), with the editor's cooking notification and Cancel button. Returns a job_id for get_build_status and cancel_build. Unsaved assets are saved first, as the menu does.

ParameterTypeRequiredDescription
platformstringNoPlatform from list_platforms; default: the menu's Cook For choice, else this computer's
targetstringNoBuild target from list_platforms; default: the menu's choice, else the Game target
save_dirtyboolNoSave unsaved assets first (false = refuse while any are unsaved)
dry_runboolNoReturn the exact UAT command line without starting
example
  cfa cook_content --platform Windows
  cfa cook_content --platform Android --dry-run=true
prepare_for_debugging

Platforms > Prepare For Debugging (IOS and TVOS only); returns a job id

Runs what Platforms > Prepare For Debugging runs for IOS or TVOS: UAT WrangleContentForDebugging (or SetSecondaryRemoteMac on Windows when IOS settings use a secondary Mac), which readies content for debugging the app from Xcode. Only IOS and TVOS have it, and only on Windows and Mac editors with that platform's support installed. Returns a job_id.

ParameterTypeRequiredDescription
platformstringYesIOS or TVOS
save_dirtyboolNoSave unsaved assets first
dry_runboolNoReturn the exact UAT command line without starting
example
  cfa prepare_for_debugging --platform IOS --dry-run=true
quick_launch

Platforms > Quick Launch: build, cook, deploy and run the current level on a device

Does what picking a device under Platforms > Quick Launch Current Level does: the editor builds, cooks, deploys and runs the open level on that device through its launcher, with its own notification (Building Executable..., then cook, deploy and run), and records the device as the last launch target, as the menu does. Returns a job_id: get_build_status shows the launcher's tasks (Build, Cook, Deploy, Run) and output, cancel_build stops it. The Turnkey SDK pre-check is skipped (it needs the editor's dialogs). It refuses while play is running, while another job runs, and while assets are unsaved unless --save-dirty=true.

ParameterTypeRequiredDescription
devicestringYesDevice name or id from list_devices (e.g. Windows@MYPC)
save_dirtyboolNoSave unsaved assets first instead of refusing
example
  cfa list_devices
  cfa quick_launch --device Windows@MYPC --save-dirty=true
get_build_status

Status of a package, cook or launch job: stage, errors, output lines

Reports one job (the newest when --job-id is omitted): state (queued while another UAT run holds the shared queue, running, canceling, succeeded, failed, canceled, failed_to_start), the current stage (UAT's Build/Cook/Stage/Package/Archive/Deploy/Run steps), stages_done, elapsed seconds, error and warning counts with first_errors, the return code and a verdict once finished, the launcher's task list for launch jobs, the full log_file, and the newest output lines. --filter and --severity warning|error narrow the lines; --max-lines caps them (lines_matched and lines_truncated tell what was left out). --all=true lists every job of this editor session instead. Finished jobs are forgotten after 30 minutes.

ParameterTypeRequiredDescription
allboolNoList every job of this session
filterstringNoOnly output lines containing this text
severitystringNoall, warning or error
max_linesintNoNewest matching output lines to return (0 = none)
example
  cfa get_build_status
  cfa get_build_status --job-id 3 --severity error --max-lines 50
  cfa get_build_status --all=true
cancel_build

Cancel a running package, cook or launch job

Cancels the running job (or --job-id) the way its notification's Cancel button does: the UAT process tree is killed, or the launcher worker is told to cancel. The reply says canceling; get_build_status shows canceled once the processes are gone, usually within seconds.

example
  cfa cancel_build
  cfa cancel_build --job-id 3
list_devices

Devices the Device Manager lists, with status, claim and allowed actions

Every device in the Device Manager's list, unavailable placeholders included. Each row: name, device_id (Platform@Name, which quick_launch, launch profiles and control_device take), platform (ini name), platform_display, status (connected/disconnected/unavailable), claimed (this editor holds it), claimed_by (with '(remotely)' when your user holds it from another editor), claim_host, shared, local_computer; an available device adds is_default, os, os_version, type, connection, model, architecture, authorized and device_features. actions lists the control_device actions the toolbar would enable right now. --details adds platform_features (which of the 14 Device Details features the platform supports). Reports count, total and truncated.

ParameterTypeRequiredDescription
filterstringNoSubstring of name, platform or device id
platformstringNoIni platform name, e.g. Windows
max_resultsintNoMaximum devices to return
detailsboolNoAdd the platform features from the Device Details panel
example
  cfa list_devices
  cfa list_devices --platform Android --details=true
control_device

Run a Device Manager toolbar action on a device and read its state back

claim, release, share, unshare, remove (forget an unavailable placeholder), connect, disconnect, power_on, power_off, power_off_force, reboot or terminate_process, with the Device Manager toolbar's own enable rules: an action the toolbar would grey out is refused with the reason. power_off, power_off_force and reboot of THIS computer shut it down or restart it at once, and terminate_process ends a process without saving, so they need --confirm=true; the editor's own process is always refused. Returns before, after, verdict and a note. A claim is verified by the device service running. connect and disconnect are unavailable on every stock engine platform; sharing changes nothing inside one editor and the engine forgets it on restart.

ParameterTypeRequiredDescription
devicestringYesDevice name or device id from list_devices
actionstringYesclaim, release, share, unshare, remove, connect, disconnect, power_on, power_off, power_off_force, reboot or terminate_process
process_idintNoterminate_process: the pid from list_device_processes
confirmboolNoRequired for terminate_process, and for power off or reboot of this computer
example
  cfa control_device --device MYPC --action release
  cfa control_device --device MYPC --action claim
  cfa control_device --device MYPC --action terminate_process --process-id 1234 --confirm=true
list_device_processes

Processes on a device, as the Device Manager's Processes panel shows them

Needs a connected device that supports process snapshots (the local PC does); otherwise the error says which part is missing. Rows: pid, name, parent_pid, user, threads. On this computer editor_pid is the editor's own process. --filter matches the name or user. Reports count, total and truncated.

ParameterTypeRequiredDescription
devicestringYesDevice name or device id from list_devices
filterstringNoSubstring of process name or user
max_resultsintNoMaximum processes to return
example
  cfa list_device_processes --device MYPC --filter Unreal
add_device

Add an unlisted device, as Device Manager > Add An Unlisted Device does

Adds a host name or IP address to a platform, named as the Add menu lists it (Linux, LinuxArm64...). Linux always logs in, so it needs --user and --password. In the stock engine only Linux accepts devices this way; Windows always refuses in every version (on 5.8 remote Windows PCs come from [RemoteWin] DeviceNames in the engine ini instead) and the error says what to do. Linux saves the password in plain text in the editor's Engine.ini, and the result warns about it. The password is never echoed, but a --password flag stays in your shell history. Returns listed, device_id, status, claimed and a verdict.

ParameterTypeRequiredDescription
platformstringYesPlatform name as the Add menu lists it
device_idstringYesHost name or IP address
display_namestringNoName to show in the device list
userstringNoLogin user, for platforms that need one
passwordstringNoLogin password, for platforms that need one; never echoed
example
  cfa add_device --platform Linux --device-id 192.168.1.50 --display-name BuildBox --user builder --password ...
list_launch_profiles

Saved Project Launcher profiles, with project, platforms and validity

Lists the Project Launcher's saved custom launch profiles: name, id, description, project, platforms, configuration, content scheme, build target, valid, and the first validation errors. Profiles are saved per engine install (Engine/Programs/UnrealFrontend/Profiles) and shared by every project on that engine, so check each row's project. The UI's Basic Launch is never saved and is not listed.

ParameterTypeRequiredDescription
filterstringNoSubstring of name, description or project
max_resultsintNoMaximum profiles to return
example
  cfa list_launch_profiles
  cfa list_launch_profiles --filter windows
get_launch_profile

Every Project Launcher field of one launch profile

Returns every field the Project Launcher shows for the profile (project, target, platform, architecture, configuration, content scheme, cook, incremental cook, build, archive, stage directory, deploy, devices, run, initial map, additional command line), its validation errors and warnings, its file, and on 5.8 its task list. --raw=true adds the profile exactly as the engine saved it in its .ulp2 file.

ParameterTypeRequiredDescription
rawboolNoAdd the saved .ulp2 JSON
example
  cfa get_launch_profile --profile "Win Shipping" --raw=true
create_launch_profile

Create a launch profile from the Project Launcher's defaults plus fields

Does what Create Launch Profile does (its defaults: the open project, Development, the content scheme the project allows, the host device), applies every given field the way its Project Launcher row applies it, saves the .ulp2, and reads every field back from the saved file: a field that did not take comes back as a not_applied warning and lowers the verdict. A request that cannot apply changes nothing. An existing name is refused. The Project Launcher tab shows the new profile right away.

example
  cfa create_launch_profile --name "Win Shipping" --platform Windows --configuration Shipping --content-scheme pak_files --archive=true --archive-directory D:/Builds
  cfa create_launch_profile --name "Quick Test" --devices Windows@MYPC --run=true --initial-map Lvl_ThirdPerson
set_launch_profile

Change or rename a launch profile; only the given fields change

Applies only the fields you pass, each as its Project Launcher row applies it, saves, and verifies every field from the saved file (not_applied warnings and a verdict). --new-name renames the profile and its file the engine's way. A request that cannot apply changes nothing.

example
  cfa set_launch_profile --profile "Win Shipping" --run=false --devices default
  cfa set_launch_profile --profile "Win Shipping" --new-name "Win Shipping Archive"
delete_launch_profile

Delete a launch profile and its file

Removes the profile from the Project Launcher and deletes its .ulp2 file, then confirms both are gone.

example
  cfa delete_launch_profile --profile "Old Profile"
validate_launch_profile

Check a launch profile before running it: verdict and findings

The engine's own launch validation plus the checks the Project Launcher adds while its tab is open: content schemes the project cannot use, devices that are missing or claimed by someone else, and on 5.8 tasks the engine skips when the profile is launched outside the Project Launcher. Returns pass / pass_with_warnings / fail with the findings.

example
  cfa validate_launch_profile --profile "Win Shipping"
run_launch_profile

Launch a profile as a tracked job (build, cook, deploy, run)

Refuses a profile that is not valid (with its errors), otherwise launches it through the engine's launcher, exactly as the Project Launcher's Launch button does, with the editor's notification and Cancel button. Returns a job_id: get_build_status shows the launcher's task list (Build, Cook, Deploy, Run...) and output; cancel_build stops it. One job runs at a time.

example
  cfa run_launch_profile --profile "Win Shipping"