Skip to main content

build kit

12 tools. Generated from the plugin source; do not edit by hand.

Guide​

The build kit reads C++ target-rule metadata and reports whether Data Validation is already available. It does not run UBT/UAT, package a project, compile code, build lighting/navigation, run asset validators, load modules, save files, or open a window.

Start here​

  1. Call build.list_target_rules {} to discover project-owned .Target.cs files.
  2. Call build.list_module_rules {} and build.get_module_rule {module} to inspect literal ModuleRules declarations without evaluating C#.
  3. Use build.audit_source_layout {} to compare descriptor modules, local rules, and targets before handing a concrete build to edit.*.
  4. Select a returned name, targetClass, or filename.
  5. Call build.get_target_rule {"target":"MyGameEditor"} for the selected declaration.
  6. Treat type, defaultBuildSettings, and includeOrderVersion as source metadata. Conditional C# and inherited values are deliberately not evaluated.
  7. Call build.validation_status {} before planning an asset-validation step.
  8. If its plugin/status fields permit it, run validation with asset.validate; this build kit never starts validators.
  9. Poll an already-running world build with edit.is_building and inspect lighting state with edit.get_lighting_build_info.
  10. Inspect Live Coding without compiling through edit.live_coding_status. Its risk-gated, off-thread compile action remains edit.live_coding_compile.

Tools​

ToolUse
build.list_target_rulesLists bounded, read-only metadata from Source/**/*.Target.cs.
build.list_module_rules / build.get_module_ruleLists or inspects bounded .Build.cs text and literal dependency expressions; neither runs UBT.
build.audit_source_layoutReports descriptor/rule/target layout mismatches without evaluating C# or compiling.
build.get_target_ruleInspects one target found by the list tool.
build.validation_statusReports Data Validation availability and points to the existing execution/status owners.

Ownership map​

NeedTool
Engine build configuration, platform, compiler, and project build metadataproject.get_build_info, project.get_descriptor, project.list_platforms
Start or poll a lighting/geometry/navigation/HLOD buildedit.build, edit.is_building, edit.get_lighting_build_info
Validate assetsasset.validate
Discover or run automation testsedit.list_tests, edit.run_test, edit.run_tests, edit.get_test_results
Live Coding state or compileedit.live_coding_status, edit.live_coding_compile

Gotchas​

  • A Blueprint-only project normally has no Source/**/*.Target.cs files. build.list_target_rules returns an empty list in that case.
  • The parser reads no file larger than one MiB and only returns selected direct assignments. It does not execute C# expressions, resolve variables, or invoke UnrealBuildTool.
  • dataValidationModulePresent and dataValidationPluginEnabled differ: an installed engine plugin can be disabled for the project. dataValidationModuleLoaded only reports the current editor state.
  • A successful status check does not validate content. Run the owner tool deliberately, because validators may load assets and execute project-defined rules.

Tools​

Legend. risk 0 = read-only, 1 = harmless editor op, 2 = modifies asset, 3 = deletes/replaces asset, 4 = project/config/build op, 5 = potentially destructive (calls above MaxAutoRisk need "_confirm": true). mutates = runs in a transaction (edit.undo reverts). requires PIE / requires world = refused without a PIE session / an open level. requires plugin = unavailable while the plugin is disabled. dryRun = honours the dryRun argument. smoke = covered by edit.self_test.

build.audit_source_layout (risk 0, smoke)​

Audits Source layout against project descriptor module declarations without compiling or evaluating rules.

No arguments.

Returns: undeclaredModules, missingRuleFiles, targetsWithoutModuleDirectory, notes.

build.get_module_rule (risk 0)​

Returns one discovered ModuleRules declaration and its literal dependency expressions.

ArgumentTypeDescription
modulestringrequired. Module name, class name, or .Build.cs filename reported by build.list_module_rules.

Returns: module.

build.get_target_rule (risk 0)​

Reads one discovered .Target.cs file and returns selected TargetRules assignments.

ArgumentTypeDescription
targetstringrequired. Target name, TargetRules class, or .Target.cs filename reported by build.list_target_rules.

Returns: target.

build.get_tool_paths (risk 0, smoke)​

Audits locally installed AutomationTool and UnrealBuildTool script locations without launching them.

No arguments.

Returns: engineDirectory, unrealBuildTool, automationTool, warnings.

build.list_module_rules (risk 0, smoke)​

Lists bounded C++ ModuleRules files beneath the active project without evaluating C#.

No arguments.

Returns: modules, count.

build.list_target_rules (risk 0, smoke)​

Lists .Target.cs files and their selected build-rule metadata without invoking UBT.

No arguments.

Returns: targets, count.

build.preflight_command (risk 0, smoke)​

Validates target, platform, maps, and archive arguments needed by a requested build workflow.

ArgumentTypeDescription
targetstringDiscovered target name for compile workflows.
platformstringrequired. Target platform identifier such as Win64.
configurationstringDevelopment, DebugGame, Shipping, or another requested configuration. Default TEXT("Development").
mapsarray of stringExplicit map package names for cook/package workflows.
archiveDirectorystringAbsolute archive/staging directory for package/stage workflows.

Returns: ready, errors, warnings.

build.synthesize_compile_command (risk 0)​

Synthesizes a reviewable UBT invocation for a discovered target without launching it.

ArgumentTypeDescription
targetstringDiscovered target name for compile workflows.
platformstringrequired. Target platform identifier such as Win64.
configurationstringDevelopment, DebugGame, Shipping, or another requested configuration. Default TEXT("Development").
mapsarray of stringExplicit map package names for cook/package workflows.
archiveDirectorystringAbsolute archive/staging directory for package/stage workflows.

Returns: tool, command, inputs, warnings.

build.synthesize_cook_command (risk 0, smoke)​

Synthesizes a reviewable cook command for maps and platform without launching UAT.

ArgumentTypeDescription
targetstringDiscovered target name for compile workflows.
platformstringrequired. Target platform identifier such as Win64.
configurationstringDevelopment, DebugGame, Shipping, or another requested configuration. Default TEXT("Development").
mapsarray of stringExplicit map package names for cook/package workflows.
archiveDirectorystringAbsolute archive/staging directory for package/stage workflows.

Returns: tool, command, inputs, warnings.

build.synthesize_package_command (risk 0, smoke)​

Synthesizes a reviewable package command and exposes packaging inputs without launching UAT.

ArgumentTypeDescription
targetstringDiscovered target name for compile workflows.
platformstringrequired. Target platform identifier such as Win64.
configurationstringDevelopment, DebugGame, Shipping, or another requested configuration. Default TEXT("Development").
mapsarray of stringExplicit map package names for cook/package workflows.
archiveDirectorystringAbsolute archive/staging directory for package/stage workflows.

Returns: tool, command, inputs, warnings.

build.synthesize_stage_command (risk 0, smoke)​

Synthesizes an explicit staging command without creating a staging directory.

ArgumentTypeDescription
targetstringDiscovered target name for compile workflows.
platformstringrequired. Target platform identifier such as Win64.
configurationstringDevelopment, DebugGame, Shipping, or another requested configuration. Default TEXT("Development").
mapsarray of stringExplicit map package names for cook/package workflows.
archiveDirectorystringAbsolute archive/staging directory for package/stage workflows.

Returns: tool, command, inputs, warnings.

build.validation_status (risk 0, smoke)​

Reports Data Validation availability without loading modules, running validators, compiling, or opening UI.

No arguments.

Returns: dataValidationCompiled, dataValidationModulePresent, dataValidationModuleLoaded, dataValidationPluginEnabled, assetValidationTool, buildStatusTool, liveCodingStatusTool, executionPolicy.