The Node to Code (N2C) JSON format (FN2CBlueprint serialized) is the input format used to represent Unreal Engine 4/5 Blueprint logic. It describes the structural flow and data connections of a Blueprint so they can be translated into other languages like JavaScript.
Key JSON Components
metadata: Contains the Blueprint's Name, BlueprintType (e.g., Normal, MacroLibrary, Interface), and the BlueprintClass (the corresponding UClass).graphs: An array of graph objects. Each graph contains:nodes: An array of node objects. Each node has an id, type (e.g., CallFunction, VariableSet, VariableGet, Event), name, and details about its input_pins and output_pins.flows: Defines the logic sequence.execution: An array of strings representing the execution order (e.g., "N1->N2->N3").data: A map representing data-flow connections (e.g., "N1.P2": "N2.P1").
structs: An optional array defining custom structures and their members.enums: An optional array defining enumerations and their possible values.
Pin Details
Each pin in a node includes:
type: The data type (e.g., Exec, Boolean, Integer, String, Object).default_value: The literal value if provided.connected: Boolean indicating if the pin is linked.is_reference, is_const, is_array, is_map, is_set: Boolean flags for the pin's nature.
{
"version": "1.0.0",
"metadata": {
"Name": "MyBlueprint",
"BlueprintType": "Normal",
"BlueprintClass": "MyCharacter"
},
"graphs": [
{
"name": "ExecuteMyFunction",
"graph_type": "Function",
"nodes": [
{
"id": "N1",
"type": "CallFunction",
"name": "Print String",
"member_parent": "KismetSystemLibrary",
"member_name": "PrintString",
"input_pins": [
{ "id": "P1", "name": "Exec", "type": "Exec", "connected": true },
{ "id": "P2", "name": "InString", "type": "String", "default_value": "Hello from NodeToCode" }
],
"output_pins": [
{ "id": "P3", "name": "Then", "type": "Exec", "connected": true }
]
}
],
"flows": {
"execution": ["N1->N2->N3"],
"data": {"N1.P2": "N2.P1"}
}
}
]
}