JSON Schema
BlueprintAI operations are JSON arrays. Each element is one operation object.
Basic structure
Section titled “Basic structure”[ { "op": "operation_name", "param1": "value1", "param2": "value2" }, { "op": "another_operation", "param1": "value1" }]Operations execute in order. If any operation fails validation, the entire plan is rejected before execution begins.
Common parameters
Section titled “Common parameters”Most operations share these parameters:
| Parameter | Type | Description |
|---|---|---|
op | string | Operation name (required) |
path | string | Content Browser path (e.g. /Game/Characters) |
name | string | Asset name without extension |
asset | string | Full asset path (e.g. /Game/Characters/BP_Enemy) |
Path conventions
Section titled “Path conventions”Paths follow Unreal’s content path format:
/Game/Folder/SubFolder ← directory/Game/Folder/SubFolder/BP_Enemy ← asset reference/Game/ maps to your project’s Content/ directory. Plugin content uses /PluginName/.
Operation discovery
Section titled “Operation discovery”Use the CLI to list all operations and their schemas:
python Plugins/BlueprintAI/Scripts/cli.py schemapython Plugins/BlueprintAI/Scripts/cli.py schema create_blueprintThe schema command returns the full JSON Schema for each operation including required fields, allowed values, and descriptions.
Declarative spec
Section titled “Declarative spec”Some domains support a higher-level declarative spec format that the AI decomposes into individual operations automatically. This is useful for complex assets like Behavior Trees:
[ { "op": "apply_spec", "asset_type": "behavior_tree", "asset": "/Game/AI/BT_Enemy", "spec": { "blackboard": "/Game/AI/BB_Enemy", "tree": { "type": "Selector", "children": [ { "type": "Sequence", "tasks": ["BTTask_MoveTo", "BTTask_Wait"] } ] } } }]Error format
Section titled “Error format”When validation fails, BlueprintAI returns structured errors:
{ "status": "error", "errors": [ { "op_index": 0, "op": "create_blueprint", "field": "path", "message": "Path must start with /Game/ or /PluginName/" } ]}The AI uses these errors to correct and retry the plan automatically.