set_pin_default_value
Set an unconnected input pin's literal default in Blueprints, MetaSounds and Control Rigs, then read the value back to confirm what actually landed on the pin.
Instructions
Write the literal default of an UNCONNECTED input pin and return the value read BACK off the pin, in a Blueprint graph, a MetaSound Source or a Control Rig.
Blueprint: struct pins are canonicalized -- a bare GameplayTag name becomes (TagName="X"), and an UNREGISTERED tag is rejected up front instead of silently landing as an empty tag; value_json nativizes any struct and is the only way to put SEVERAL tags in a GameplayTagContainer; a plain string is fine for an FText pin. Refused: array, set and map pins (use a MakeArray/MakeSet/MakeMap node), pins split into sub-pins (recombine_blueprint_pin first), and any call while Play-in-Editor runs (see force). TRAP: on a FormatText "Format" pin the literal IS written but the {argument} pins are NOT created, leaving a valid, useless node -- build the string with Concat_StrStr / Conv_StringToText instead.
MetaSound: value is read as the input's type ("440", "true", "Hello"), node_id=@input sets a graph input's default, and the asset is saved. Control Rig: value is export text such as (X=1.0,Y=0.0,Z=0.0); the rig is compiled and saved. Material expressions, sound cue nodes and PCG nodes keep such values as properties: write them with set_properties on the node's object_path from get_graph_nodes.
Returns: { node_id, pin_name, default_value, graph_kind? } -- default_value is re-read from the pin AFTER the write, so it is the oracle for what actually landed (a rejected value shows up as the old one); for a MetaSound or Control Rig the reply is its editor's own, with the value read back.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| force | No | Optional. This command is REFUSED while a Play-in-Editor session is running: it either compiles a Blueprint (the reinstancer can retain a world, and CheckForWorldGCLeaks is Fatal -- it KILLS the editor) or writes to disk (Editor.AllowSavingAssetsDuringPIE=0 makes the engine refuse the write, so it would report success without writing a byte). Stop PIE and retry instead; force=true runs it anyway, at your own risk. | |
| value | No | Literal default in the pin's exported-text form; empty string allowed (clears it). For a Blueprint struct pin, "()" clears and a leading "(" is passed through untouched. | |
| node_id | Yes | node_id of the node owning the pin (from add_graph_node / get_graph_nodes), or @input on a MetaSound | |
| pin_name | Yes | Pin name; in a Blueprint an INPUT pin of that name is preferred, any pin with the name is the fallback | |
| asset_path | No | The graph asset: a Blueprint by name or path, or the path of a MetaSound Source or Control Rig. | |
| graph_name | No | Blueprint only: the graph, default the event graph. The other assets have one graph: leave it out. | |
| value_json | No | Optional JSON object nativized into the struct's export-text form, for Blueprint STRUCT pins only. For an FGameplayTagContainer it must carry a "GameplayTags" array (["A","B"] or [{"TagName":"A"}]) and every tag is validated; takes precedence over 'value'. | |
| blueprint_name | No | Older name of asset_path, still accepted. | |
| blueprint_path | No | Alias of `blueprint_name` (same value, same meaning). Accepted because sibling tools spell this parameter differently; prefer `blueprint_name`. |