All 35 structured error codes with descriptions and suggested fixes.
Part of the BlueprintAIAssistant documentation. For the full AI
integration reference, see AI Guide.
All BAA verbs return structured JSON. On failure the response includes an
errorCode field:
{"success": false, "error": "Human-readable message", "errorCode": "ASSET_NOT_FOUND"}
The error string provides context (asset path, pin name, etc.). The
errorCode is a machine-stable identifier you can match on programmatically.
Core Blueprint Errors#
| Code |
Meaning |
ASSET_NOT_FOUND |
Asset does not exist at the given path |
GRAPH_NOT_FOUND |
Named graph not found in the Blueprint |
NODE_NOT_FOUND |
Node GUID or title lookup failed |
PIN_NOT_FOUND |
Pin name not found on a node |
VARIABLE_NOT_FOUND |
Blueprint variable name not found |
PROPERTY_NOT_FOUND |
UProperty or CDO property not found |
TYPE_MISMATCH |
Value or connection type incompatible |
COMPILE_ERROR |
Blueprint compilation failed |
SAVE_ERROR |
Asset package save to disk failed |
INVALID_ARGS |
Missing or malformed verb arguments |
UNKNOWN_VERB |
Verb name not recognized |
UNKNOWN_TYPE |
Node type, variable type, etc. not recognized |
INTERNAL_ERROR |
Unexpected failure (catch-all) |
BATCH_ERROR |
One or more batch operations failed |
NODE_CREATE_FAILED |
Node construction/spawning failed |
CONNECTION_FAILED |
Pin connection could not be made |
SET_DEFAULT_FAILED |
Setting pin default value failed |
NO_EVENT_GRAPH |
Blueprint has no EventGraph |
Non-Blueprint Asset Errors#
| Code |
Meaning |
ROW_NOT_FOUND |
DataTable row name not found |
PARAM_NOT_FOUND |
Material/Niagara parameter not found |
KEY_NOT_FOUND |
Blackboard key not found |
UNSUPPORTED_ASSET |
Asset type not supported by the verb |
Blueprint Structure Errors#
| Code |
Meaning |
FUNCTION_NOT_FOUND |
Function graph not found |
INTERFACE_NOT_FOUND |
Interface class not found or not implemented |
COMPONENT_NOT_FOUND |
SCS component not found by name |
DISPATCHER_NOT_FOUND |
Event dispatcher not found |
Schema / CDO Errors#
| Code |
Meaning |
NO_SCHEMA |
Blueprint has no valid skeleton/schema |
NO_GENERATED_CLASS |
Blueprint's generated class is null |
NO_CDO |
Class Default Object could not be obtained |
Asset Management Errors#
| Code |
Meaning |
RENAME_FAILED |
Asset rename/move operation failed |
DUPLICATE_FAILED |
Asset duplication failed |
DELETE_BLOCKED |
Deletion blocked by reference check (use -force to override) |
DELETE_FAILED |
Deletion failed even with force |
HAS_REFERENCERS |
Asset has incoming references (informational) |
Array Operation Errors#
| Code |
Meaning |
INDEX_OUT_OF_BOUNDS |
Array index exceeded valid range |
NOT_AN_ARRAY |
Property is not an array type |
Domain-Specific Errors#
| Code |
Meaning |
EXPRESSION_NOT_FOUND |
Material expression node not found |
TRACK_NOT_FOUND |
Sequencer track not found |
SECTION_NOT_FOUND |
AnimMontage or Sequencer section not found |
WIDGET_NOT_FOUND |
Widget not found in widget tree |
BT_NODE_NOT_FOUND |
BehaviorTree node not found |
BB_KEY_NOT_FOUND |
Blackboard key not found |
Common Troubleshooting#
ASSET_NOT_FOUND#
The most frequent error. Causes and fixes:
- Wrong path prefix. Asset paths must start with
/Game/, not a filesystem
path. Example: /Game/Blueprints/BP_MyActor, not
Content/Blueprints/BP_MyActor.
- Included
.uasset extension. Asset paths must omit the file extension.
- Case mismatch. Asset paths are case-sensitive. Use
list to search:
-verb=list -path=/Game/ -name=MyAsset.
- Asset not saved. If the asset was just created in the editor, save it
before running BAA.
NODE_NOT_FOUND#
- Stale GUID. Node GUIDs change when a node is deleted and re-created.
Re-export with
--format=detail to get current GUIDs.
- Title lookup ambiguity. If searching by title, multiple nodes may share the
same display name. Use the 8-character GUID instead.
PIN_NOT_FOUND#
- Case sensitivity. Pin names are case-sensitive and must match exactly.
Use
read-graph -format=detail to list the exact pin names on nodes.
- Execution pins. The default execution pin names are
execute (input) and
then (output), not exec or out.
- Wildcard pins. Some nodes create pins dynamically. Add the node first, then
query its pins before connecting.
TYPE_MISMATCH#
- Incompatible pin types. You cannot connect a float output to a string
input without an explicit conversion node.
- Wrong variable type string. Variable types use UE internal names:
Boolean, Integer, Float, Name, String, Vector, Rotator,
Transform. Object types use the class path.
COMPILE_ERROR#
- Missing connections. Required pins (execution or data) may be
disconnected. Use
validate before compile to get specific diagnostics.
- Orphaned nodes. Nodes left from a previous edit may reference deleted
variables or functions. Use
find-nodes to locate and remove-node to clean
up.
INVALID_ARGS#
- Missing required arguments. Each verb has mandatory parameters. Run
-verb=help -about=<verb> to see the full argument list.
- Malformed JSON in batch mode. Validate your JSON externally. JSON requires
double quotes, no trailing commas, and no single-quoted strings.
BATCH_ERROR#
- Partial failure. The batch completed but some operations failed. Check the
results array in the response. Each entry has its own success and
errorCode fields.
$N reference to a failed op. If operation $3 failed and operation $5
references $3, operation $5 will also fail. Fix the upstream operation
first.
CONNECTION_FAILED#
- Type mismatch. The source and target pins have incompatible types. Check
both pin types with
read-graph -format=detail.
- Already connected. Some pins (especially execution pins) allow only one
connection. Disconnect the existing connection first with
disconnect.
SAVE_ERROR#
- File is read-only. If using Perforce, the
.uasset must be checked out
for edit (p4 edit) before BAA can save.
- File locked by another process. Close the asset in the editor or check
p4 opened for other users holding the lock.
UNKNOWN_VERB#
- Typo or wrong casing. Verbs use lowercase with hyphens:
add-node,
set-pin-default, read-graph. Run -verb=help for the full list.
INDEX_OUT_OF_BOUNDS#
- Zero-indexed arrays. Array indices start at 0. Use
array-count to check
the valid range before calling array-get, array-set, or array-remove.
COMPONENT_NOT_FOUND#
- Display name vs. variable name. Components have both a display name
(shown in the editor) and a variable name (used in code). BAA uses the
variable name. Use
read-components to list the exact names.
NO_CDO#
- Blueprint not compiled. The CDO is only available after a successful
compile. Run
compile before read-cdo or set-cdo-property.
- Abstract or interface class. Some classes do not have a CDO. Check that
the Blueprint is a concrete class (Actor, Object, etc.).
DELETE_BLOCKED / HAS_REFERENCERS#
- Other assets reference this one. BAA blocks deletion by default to prevent
broken references. Use the
error message to see which assets hold
references.
- Force deletion. Pass
-force to override the safety check. This leaves
dangling references that must be cleaned up manually.