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
- Call
build.list_target_rules {}to discover project-owned.Target.csfiles. - Call
build.list_module_rules {}andbuild.get_module_rule {module}to inspect literal ModuleRules declarations without evaluating C#. - Use
build.audit_source_layout {}to compare descriptor modules, local rules, and targets before handing a concrete build toedit.*. - Select a returned
name,targetClass, or filename. - Call
build.get_target_rule {"target":"MyGameEditor"}for the selected declaration. - Treat
type,defaultBuildSettings, andincludeOrderVersionas source metadata. Conditional C# and inherited values are deliberately not evaluated. - Call
build.validation_status {}before planning an asset-validation step. - If its plugin/status fields permit it, run validation with
asset.validate; this build kit never starts validators. - Poll an already-running world build with
edit.is_buildingand inspect lighting state withedit.get_lighting_build_info. - Inspect Live Coding without compiling through
edit.live_coding_status. Its risk-gated, off-thread compile action remainsedit.live_coding_compile.
Tools
| Tool | Use |
|---|---|
build.list_target_rules | Lists bounded, read-only metadata from Source/**/*.Target.cs. |
build.list_module_rules / build.get_module_rule | Lists or inspects bounded .Build.cs text and literal dependency expressions; neither runs UBT. |
build.audit_source_layout | Reports descriptor/rule/target layout mismatches without evaluating C# or compiling. |
build.get_target_rule | Inspects one target found by the list tool. |
build.validation_status | Reports Data Validation availability and points to the existing execution/status owners. |
Ownership map
| Need | Tool |
|---|---|
| Engine build configuration, platform, compiler, and project build metadata | project.get_build_info, project.get_descriptor, project.list_platforms |
| Start or poll a lighting/geometry/navigation/HLOD build | edit.build, edit.is_building, edit.get_lighting_build_info |
| Validate assets | asset.validate |
| Discover or run automation tests | edit.list_tests, edit.run_test, edit.run_tests, edit.get_test_results |
| Live Coding state or compile | edit.live_coding_status, edit.live_coding_compile |
Gotchas
- A Blueprint-only project normally has no
Source/**/*.Target.csfiles.build.list_target_rulesreturns 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.
dataValidationModulePresentanddataValidationPluginEnableddiffer: an installed engine plugin can be disabled for the project.dataValidationModuleLoadedonly 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
MaxAutoRiskneed"_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 thedryRunargument. smoke = covered byedit.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.
| Argument | Type | Description |
|---|---|---|
module | string | required. 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.
| Argument | Type | Description |
|---|---|---|
target | string | required. 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.
| Argument | Type | Description |
|---|---|---|
target | string | Discovered target name for compile workflows. |
platform | string | required. Target platform identifier such as Win64. |
configuration | string | Development, DebugGame, Shipping, or another requested configuration. Default TEXT("Development"). |
maps | array of string | Explicit map package names for cook/package workflows. |
archiveDirectory | string | Absolute 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.
| Argument | Type | Description |
|---|---|---|
target | string | Discovered target name for compile workflows. |
platform | string | required. Target platform identifier such as Win64. |
configuration | string | Development, DebugGame, Shipping, or another requested configuration. Default TEXT("Development"). |
maps | array of string | Explicit map package names for cook/package workflows. |
archiveDirectory | string | Absolute 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.
| Argument | Type | Description |
|---|---|---|
target | string | Discovered target name for compile workflows. |
platform | string | required. Target platform identifier such as Win64. |
configuration | string | Development, DebugGame, Shipping, or another requested configuration. Default TEXT("Development"). |
maps | array of string | Explicit map package names for cook/package workflows. |
archiveDirectory | string | Absolute 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.
| Argument | Type | Description |
|---|---|---|
target | string | Discovered target name for compile workflows. |
platform | string | required. Target platform identifier such as Win64. |
configuration | string | Development, DebugGame, Shipping, or another requested configuration. Default TEXT("Development"). |
maps | array of string | Explicit map package names for cook/package workflows. |
archiveDirectory | string | Absolute 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.
| Argument | Type | Description |
|---|---|---|
target | string | Discovered target name for compile workflows. |
platform | string | required. Target platform identifier such as Win64. |
configuration | string | Development, DebugGame, Shipping, or another requested configuration. Default TEXT("Development"). |
maps | array of string | Explicit map package names for cook/package workflows. |
archiveDirectory | string | Absolute 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.