Packaging and Devices
Every Packaging and Devices command in CodeFizz Editor Agent, with parameters and examples.
Every Packaging and Devices command in CodeFizz Editor Agent, with parameters and examples.
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_platformsPlatforms 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).
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Only platforms whose name contains this text |
| supported_only | bool | No | Only platforms the project lists as supported |
| max_results | int | No | Maximum platforms to return |
cfa list_platforms
cfa list_platforms --supported-only=true
cfa list_platforms --filter Androidset_supported_platformsAdd 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| add | stringlist | No | Platforms to mark supported (names from list_platforms) |
| remove | stringlist | No | Platforms to mark unsupported |
| all | bool | No | Clear the list so every platform counts as supported |
cfa set_supported_platforms --add Windows --add Linux
cfa set_supported_platforms --remove Android
cfa set_supported_platforms --all=truevalidate_packagingCheck 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| platform | string | No | Platform, as package_project takes it |
| configuration | string | No | project, DebugGame, Development, Test or Shipping |
| target | string | No | Build target, as package_project takes it |
| archive_directory | string | No | Archive folder, as package_project takes it |
cfa validate_packaging
cfa validate_packaging --platform Windows --configuration Shippingpackage_projectPackage 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| platform | string | No | Platform from list_platforms (Windows, Linux, Android...); default: the menu's Package For choice, else this computer's |
| configuration | string | No | project, DebugGame, Development, Test or Shipping; default: the menu's choice |
| target | string | No | Build target from list_platforms (Game, Client or Server); default: the menu's choice, else the Game target |
| archive_directory | string | No | Output folder; default: the folder last chosen in Package Project, else <Project>/Saved/Packages |
| save_dirty | bool | No | Save unsaved assets first, as the menu does (false = refuse while any are unsaved) |
| dry_run | bool | No | Return the exact UAT command line without starting |
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=truecook_contentCook 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| platform | string | No | Platform from list_platforms; default: the menu's Cook For choice, else this computer's |
| target | string | No | Build target from list_platforms; default: the menu's choice, else the Game target |
| save_dirty | bool | No | Save unsaved assets first (false = refuse while any are unsaved) |
| dry_run | bool | No | Return the exact UAT command line without starting |
cfa cook_content --platform Windows
cfa cook_content --platform Android --dry-run=trueprepare_for_debuggingPlatforms > 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| platform | string | Yes | IOS or TVOS |
| save_dirty | bool | No | Save unsaved assets first |
| dry_run | bool | No | Return the exact UAT command line without starting |
cfa prepare_for_debugging --platform IOS --dry-run=truequick_launchPlatforms > 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| device | string | Yes | Device name or id from list_devices (e.g. Windows@MYPC) |
| save_dirty | bool | No | Save unsaved assets first instead of refusing |
cfa list_devices
cfa quick_launch --device Windows@MYPC --save-dirty=trueget_build_statusStatus 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| all | bool | No | List every job of this session |
| filter | string | No | Only output lines containing this text |
| severity | string | No | all, warning or error |
| max_lines | int | No | Newest matching output lines to return (0 = none) |
cfa get_build_status
cfa get_build_status --job-id 3 --severity error --max-lines 50
cfa get_build_status --all=truecancel_buildCancel 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.
cfa cancel_build
cfa cancel_build --job-id 3list_devicesDevices 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Substring of name, platform or device id |
| platform | string | No | Ini platform name, e.g. Windows |
| max_results | int | No | Maximum devices to return |
| details | bool | No | Add the platform features from the Device Details panel |
cfa list_devices
cfa list_devices --platform Android --details=truecontrol_deviceRun 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| device | string | Yes | Device name or device id from list_devices |
| action | string | Yes | claim, release, share, unshare, remove, connect, disconnect, power_on, power_off, power_off_force, reboot or terminate_process |
| process_id | int | No | terminate_process: the pid from list_device_processes |
| confirm | bool | No | Required for terminate_process, and for power off or reboot of this computer |
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=truelist_device_processesProcesses 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| device | string | Yes | Device name or device id from list_devices |
| filter | string | No | Substring of process name or user |
| max_results | int | No | Maximum processes to return |
cfa list_device_processes --device MYPC --filter Unrealadd_deviceAdd 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| platform | string | Yes | Platform name as the Add menu lists it |
| device_id | string | Yes | Host name or IP address |
| display_name | string | No | Name to show in the device list |
| user | string | No | Login user, for platforms that need one |
| password | string | No | Login password, for platforms that need one; never echoed |
cfa add_device --platform Linux --device-id 192.168.1.50 --display-name BuildBox --user builder --password ...list_launch_profilesSaved 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | No | Substring of name, description or project |
| max_results | int | No | Maximum profiles to return |
cfa list_launch_profiles
cfa list_launch_profiles --filter windowsget_launch_profileEvery 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.
| Parameter | Type | Required | Description |
|---|---|---|---|
| raw | bool | No | Add the saved .ulp2 JSON |
cfa get_launch_profile --profile "Win Shipping" --raw=truecreate_launch_profileCreate 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.
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_ThirdPersonset_launch_profileChange 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.
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_profileDelete a launch profile and its file
Removes the profile from the Project Launcher and deletes its .ulp2 file, then confirms both are gone.
cfa delete_launch_profile --profile "Old Profile"validate_launch_profileCheck 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.
cfa validate_launch_profile --profile "Win Shipping"run_launch_profileLaunch 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.
cfa run_launch_profile --profile "Win Shipping"