SF
STS Forge

Error Codes

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.