Helper Commands
Generated reference. Do not edit this page directly. Update
BuildTools/HelperCliInterface.jsonor the owning executable parser, then runpython BuildTools/docs_helper_cli.py --write.
| Reference index | Commands | Canonical JSON model | Generation contract |
Commands are shown with exact parser-generated usage and help at a fixed 80-column width. Invoke a helper from the engine repository root unless its invocation owner sets another working directory.
Code generation
Generate engine configuration, metadata registration, script bindings, and embedded-resource source files.
- Stable ID:
helper-cli.codegen - Program:
codegen.py - Owner:
build-release - Audience:
engine-contributor,embedding-project-build-system - Invocation owner: BuildTools/cmake/stages/Codegen.cmake
- Parser source: BuildTools/codegen.py
Top-level arguments
Exact top-level --help output
usage: codegen.py [-h] -maincfg MAINCFG -buildhash BUILDHASH -devname DEVNAME -nicename NICENAME -embedded EMBEDDED [-enginedefine ENGINEDEFINE] -meta META [-commonheader COMMONHEADER] -genoutput GENOUTPUT [-verbose]
FOnline code generator
options:
-h, --help show this help message and exit
-maincfg MAINCFG main config file
-buildhash BUILDHASH build hash
-devname DEVNAME dev game name
-nicename NICENAME nice game name
-embedded EMBEDDED embedded buffer capacity
-enginedefine ENGINEDEFINE
engine configuration define NAME=VALUE emitted as a macro into EngineConfig.gen.h
-meta META path to script api metadata (///@ tags)
-commonheader COMMONHEADER
path to common header file
-genoutput GENOUTPUT generated code output dir
-verbose verbose mode
Code coverage
Clean, collect, and report engine code coverage for generated test targets.
- Stable ID:
helper-cli.codecoverage - Program:
codecoverage.py - Owner:
quality - Audience:
engine-contributor,ci-maintainer - Invocation owner: BuildTools/cmake/stages/Applications.cmake
- Parser source: BuildTools/codecoverage.py
Top-level arguments
No arguments at this level.
Exact top-level --help output
usage: codecoverage.py [-h] {clean,run,report,full} ...
Run and analyze engine code coverage
positional arguments:
{clean,run,report,full}
clean Remove previously collected coverage data and reports
run Run the instrumented test binary and collect coverage data
report Generate text and HTML reports from collected coverage data
full Clean, run the instrumented binary, and generate reports
options:
-h, --help show this help message and exit
clean
Remove previously collected coverage data and reports
Stable ID: helper-cli.codecoverage.command.clean
usage: codecoverage.py clean [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Exact --help output
usage: codecoverage.py clean [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Remove previously collected coverage data and reports
positional arguments:
binary_args arguments passed to the test binary
options:
-h, --help show this help message and exit
--workspace-root WORKSPACE_ROOT
embedding-project source directory
--build-dir BUILD_DIR
configured CMake build directory
--binary BINARY instrumented test executable
--backend {gcc,llvm,msvc}
coverage compiler/toolchain backend
--output-dir OUTPUT_DIR
coverage data and report output directory
--object OBJECTS additional instrumented executable or shared library for LLVM reporting; repeatable
run
Run the instrumented test binary and collect coverage data
Stable ID: helper-cli.codecoverage.command.run
usage: codecoverage.py run [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Exact --help output
usage: codecoverage.py run [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Run the instrumented test binary and collect coverage data
positional arguments:
binary_args arguments passed to the test binary
options:
-h, --help show this help message and exit
--workspace-root WORKSPACE_ROOT
embedding-project source directory
--build-dir BUILD_DIR
configured CMake build directory
--binary BINARY instrumented test executable
--backend {gcc,llvm,msvc}
coverage compiler/toolchain backend
--output-dir OUTPUT_DIR
coverage data and report output directory
--object OBJECTS additional instrumented executable or shared library for LLVM reporting; repeatable
report
Generate text and HTML reports from collected coverage data
Stable ID: helper-cli.codecoverage.command.report
usage: codecoverage.py report [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Exact --help output
usage: codecoverage.py report [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Generate text and HTML reports from collected coverage data
positional arguments:
binary_args arguments passed to the test binary
options:
-h, --help show this help message and exit
--workspace-root WORKSPACE_ROOT
embedding-project source directory
--build-dir BUILD_DIR
configured CMake build directory
--binary BINARY instrumented test executable
--backend {gcc,llvm,msvc}
coverage compiler/toolchain backend
--output-dir OUTPUT_DIR
coverage data and report output directory
--object OBJECTS additional instrumented executable or shared library for LLVM reporting; repeatable
full
Clean, run the instrumented binary, and generate reports
Stable ID: helper-cli.codecoverage.command.full
usage: codecoverage.py full [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Exact --help output
usage: codecoverage.py full [-h] --workspace-root WORKSPACE_ROOT --build-dir BUILD_DIR --binary BINARY --backend {gcc,llvm,msvc} --output-dir OUTPUT_DIR [--object OBJECTS] ...
Clean, run the instrumented binary, and generate reports
positional arguments:
binary_args arguments passed to the test binary
options:
-h, --help show this help message and exit
--workspace-root WORKSPACE_ROOT
embedding-project source directory
--build-dir BUILD_DIR
configured CMake build directory
--binary BINARY instrumented test executable
--backend {gcc,llvm,msvc}
coverage compiler/toolchain backend
--output-dir OUTPUT_DIR
coverage data and report output directory
--object OBJECTS additional instrumented executable or shared library for LLVM reporting; repeatable
Gameplay test runner
Run ordered multi-process gameplay smoke scenarios with readiness, marker, deadline, cleanup, and JSON-report contracts.
- Stable ID:
helper-cli.gameplay-test-runner - Program:
gameplay_test_runner.py - Owner:
quality - Audience:
game-developer,engine-contributor,embedding-project-build-system,ci-maintainer - Invocation owner: embedding-project CMake targets and CI gameplay smoke jobs
- Parser source: BuildTools/gameplay_test_runner.py
Top-level arguments
Exact top-level --help output
usage: gameplay_test_runner.py [-h] --manifest MANIFEST [--value KEY=VALUE] [--report REPORT]
Run project-neutral multi-process gameplay smoke scenarios from a checked JSON manifest.
options:
-h, --help show this help message and exit
--manifest MANIFEST scenario manifest path
--value KEY=VALUE placeholder value; repeat as needed
--report REPORT optional JSON result path
AiControl protocol client
Call an Engine-compatible project AiControl bridge through the versioned NDJSON/TCP envelope without exposing shared tokens on the command line.
- Stable ID:
helper-cli.ai-control-client - Program:
ai_control_client.py - Owner:
tooling - Audience:
game-developer,engine-contributor,tool-developer,ci-maintainer - Invocation owner: embedding-project AI adapters, protocol smoke tests, and direct developer diagnostics
- Parser source: BuildTools/ai_control_client.py
Top-level arguments
Exact top-level --help output
usage: ai_control_client.py [-h] [--host HOST] [--port PORT] [--timeout TIMEOUT] [--token-env TOKEN_ENV] [--allow-remote] {ping,status,observe,events,act} ...
Call an Engine-compatible AiControl bridge over NDJSON/TCP.
positional arguments:
{ping,status,observe,events,act}
ping Check bridge liveness.
status Read bridge status and queue limits.
observe Read the latest project observation.
events Read events after a sequence cursor.
act Enqueue one project-defined command.
options:
-h, --help show this help message and exit
--host HOST Bridge host.
--port PORT Bridge port.
--timeout TIMEOUT Socket timeout in seconds.
--token-env TOKEN_ENV
Environment variable containing the shared token.
--allow-remote Permit a non-loopback endpoint; transport remains unencrypted.
ping
Check bridge liveness.
Stable ID: helper-cli.ai-control-client.command.ping
usage: ai_control_client.py ping [-h]
No arguments at this level.
Exact --help output
usage: ai_control_client.py ping [-h]
options:
-h, --help show this help message and exit
status
Read bridge status and queue limits.
Stable ID: helper-cli.ai-control-client.command.status
usage: ai_control_client.py status [-h]
No arguments at this level.
Exact --help output
usage: ai_control_client.py status [-h]
options:
-h, --help show this help message and exit
observe
Read the latest project observation.
Stable ID: helper-cli.ai-control-client.command.observe
usage: ai_control_client.py observe [-h]
No arguments at this level.
Exact --help output
usage: ai_control_client.py observe [-h]
options:
-h, --help show this help message and exit
events
Read events after a sequence cursor.
Stable ID: helper-cli.ai-control-client.command.events
usage: ai_control_client.py events [-h] [--after-seq AFTER_SEQ] [--limit LIMIT]
Exact --help output
usage: ai_control_client.py events [-h] [--after-seq AFTER_SEQ] [--limit LIMIT]
options:
-h, --help show this help message and exit
--after-seq AFTER_SEQ
Exclusive event cursor.
--limit LIMIT Maximum events to return.
act
Enqueue one project-defined command.
Stable ID: helper-cli.ai-control-client.command.act
usage: ai_control_client.py act [-h] --type TYPE [--target-id TARGET_ID] [--item-id ITEM_ID] [--aux-id AUX_ID] [--x X] [--y Y] [--screen-x SCREEN_X] [--screen-y SCREEN_Y] [--int-arg INT_ARG] [--string-arg STRING_ARG] [--append]
Exact --help output
usage: ai_control_client.py act [-h] --type TYPE [--target-id TARGET_ID] [--item-id ITEM_ID] [--aux-id AUX_ID] [--x X] [--y Y] [--screen-x SCREEN_X] [--screen-y SCREEN_Y] [--int-arg INT_ARG] [--string-arg STRING_ARG] [--append]
options:
-h, --help show this help message and exit
--type TYPE Project-defined command type.
--target-id TARGET_ID
Optional target entity identifier.
--item-id ITEM_ID Optional item entity identifier.
--aux-id AUX_ID Optional auxiliary entity identifier.
--x X Optional project world X coordinate.
--y Y Optional project world Y coordinate.
--screen-x SCREEN_X Optional screen X coordinate.
--screen-y SCREEN_Y Optional screen Y coordinate.
--int-arg INT_ARG Optional integer payload.
--string-arg STRING_ARG
Optional string payload.
--append Request project queue append semantics.
Windows 7 import validation
Inspect linked PE files for Windows 7 import compatibility and optionally require the large-address flag on executables.
- Stable ID:
helper-cli.windows7-import-check - Program:
check_windows7_imports.py - Owner:
quality - Audience:
engine-contributor,embedding-project-build-system,release-operator - Invocation owner: embedding-project Windows 7 CI and release validation
- Parser source: BuildTools/check_windows7_imports.py
Top-level arguments
Exact top-level --help output
usage: check_windows7_imports.py [-h] [--require-large-address-aware] binaries [binaries ...]
Reject imports Windows 7 SP1 cannot resolve from Windows 7-compatible PE binaries
positional arguments:
binaries linked PE executable or DLL to inspect
options:
-h, --help show this help message and exit
--require-large-address-aware
Require the large-address flag on checked executables
Android device control
Discover, connect, install, launch, stop, and inspect Android Wi-Fi devices through adb.
- Stable ID:
helper-cli.android-device - Program:
android_device.py - Owner:
platform - Audience:
game-developer,engine-contributor - Invocation owner: embedding-project Android tasks and direct developer use
- Parser source: BuildTools/android_device.py
Top-level arguments
Exact top-level --help output
usage: android_device.py [-h] [--workspace-root WORKSPACE_ROOT] {discover,connect,install,launch,launch-game,stop,logcat} ...
Android Wi-Fi device helper for BuildTools tasks
positional arguments:
{discover,connect,install,launch,launch-game,stop,logcat}
discover List Android Wi-Fi devices discovered through adb mdns
connect Connect to an Android Wi-Fi device and cache the endpoint
install Install an APK on the selected Android Wi-Fi device
launch Launch an Android activity on the selected device
launch-game Launch the Android game activity and pass RemoteSceneLaunch server host override
stop Force-stop an Android package on the selected device
logcat Stream logcat from the selected device
options:
-h, --help show this help message and exit
--workspace-root WORKSPACE_ROOT
Workspace directory path containing android-sdk and android-debug
discover
List Android Wi-Fi devices discovered through adb mdns
Stable ID: helper-cli.android-device.command.discover
usage: android_device.py discover [-h]
No arguments at this level.
Exact --help output
usage: android_device.py discover [-h]
options:
-h, --help show this help message and exit
connect
Connect to an Android Wi-Fi device and cache the endpoint
Stable ID: helper-cli.android-device.command.connect
usage: android_device.py connect [-h] [--device DEVICE]
Exact --help output
usage: android_device.py connect [-h] [--device DEVICE]
options:
-h, --help show this help message and exit
--device DEVICE Device IP[:port]; if omitted, auto-discovery and interactive selection are used
install
Install an APK on the selected Android Wi-Fi device
Stable ID: helper-cli.android-device.command.install
usage: android_device.py install [-h] --apk APK [--device DEVICE]
Exact --help output
usage: android_device.py install [-h] --apk APK [--device DEVICE]
options:
-h, --help show this help message and exit
--apk APK APK path
--device DEVICE Device IP[:port]; if omitted, cached endpoint or discovery is used
launch
Launch an Android activity on the selected device
Stable ID: helper-cli.android-device.command.launch
usage: android_device.py launch [-h] --activity ACTIVITY [--device DEVICE]
Exact --help output
usage: android_device.py launch [-h] --activity ACTIVITY [--device DEVICE]
options:
-h, --help show this help message and exit
--activity ACTIVITY Fully qualified activity component, e.g. com.example.game/.FOnlineActivity
--device DEVICE Device IP[:port]; if omitted, cached endpoint or discovery is used
launch-game
Launch the Android game activity and pass RemoteSceneLaunch server host override
Stable ID: helper-cli.android-device.command.launch-game
usage: android_device.py launch-game [-h] --activity ACTIVITY [--device DEVICE] [--server-host SERVER_HOST]
Exact --help output
usage: android_device.py launch-game [-h] --activity ACTIVITY [--device DEVICE] [--server-host SERVER_HOST]
options:
-h, --help show this help message and exit
--activity ACTIVITY Fully qualified activity component, e.g. com.example.game/.FOnlineActivity
--device DEVICE Device IP[:port]; if omitted, cached endpoint or discovery is used
--server-host SERVER_HOST
Host IP or name for ClientNetwork.ServerHost; if omitted, auto-detected from the route to the selected device
stop
Force-stop an Android package on the selected device
Stable ID: helper-cli.android-device.command.stop
usage: android_device.py stop [-h] --package PACKAGE_NAME [--device DEVICE]
Exact --help output
usage: android_device.py stop [-h] --package PACKAGE_NAME [--device DEVICE]
options:
-h, --help show this help message and exit
--package PACKAGE_NAME
Android package name
--device DEVICE Device IP[:port]; if omitted, cached endpoint or discovery is used
logcat
Stream logcat from the selected device
Stable ID: helper-cli.android-device.command.logcat
usage: android_device.py logcat [-h] [--device DEVICE]
Exact --help output
usage: android_device.py logcat [-h] [--device DEVICE]
options:
-h, --help show this help message and exit
--device DEVICE Device IP[:port]; if omitted, cached endpoint or discovery is used
Local web server
Serve a packaged web client from a no-cache local HTTP server.
- Stable ID:
helper-cli.simple-web-server - Program:
simple-web-server.py - Owner:
platform - Audience:
game-developer,release-operator - Invocation owner: BuildTools/package.py WebServer payload
- Parser source: BuildTools/web/simple-web-server.py
Top-level arguments
Exact top-level --help output
usage: simple-web-server.py [-h] [--port PORT] [--fork]
Simple HTTP server
options:
-h, --help show this help message and exit
--port PORT web server port
--fork fork process
MSI creation
Build an MSI installer from a package-generated WiX definition.
- Stable ID:
helper-cli.createmsi - Program:
createmsi.py - Owner:
build-release - Audience:
release-operator,engine-contributor - Invocation owner: BuildTools/package.py Wix pack
- Parser source: BuildTools/msicreator/createmsi.py
Top-level arguments
Exact top-level --help output
usage: createmsi.py [-h] [--wix-dir directory] definition.json
Build an MSI package from a WiX definition
positional arguments:
definition.json bare WiX package definition filename in the working directory
options:
-h, --help show this help message and exit
--wix-dir directory directory containing WiX tools; omit to find them on PATH