-
Notifications
You must be signed in to change notification settings - Fork 0
UK2Neuron
The base class for self-describing Blueprint nodes.
Declared in Plugins/GMP/Source/GMPEditor/GMPEditor/Public/K2Neuron.h:278
class K2NEURON_API UK2Neuron : public UK2NodePin layout generated from reflection or from the UGMPMeta signature table, rather than declared by hand — and, critically, pin identity that survives regeneration.
Each pin carries a PersistentGuid. When a node rebuilds — a tag changed, a signature changed, the asset reloaded — pins are matched by guid rather than by name or index, so the wires you already connected stay connected.
Without that, every signature change would silently disconnect the graph, and a self-describing node would be more trouble than a hand-written one.
UK2Node_NotifyMessage and UK2Node_ListenMessage, over a shared message-node base.

Pick a tag; the node grows that tag's parameter pins with the right types, names and defaults. Change the tag and the pins rebuild.
Because pin types come from the recorded signature, a wrong connection fails at Blueprint compile time. The check runs in the uncook-stage Blueprint compile, so the compiled asset carries no extra validation payload; under Editor and Development a runtime consistency check backs it up.
| Node | What it does |
|---|---|
| UK2NeuronAction | an async factory function expanded into a single node |
| GenericInvoker | walks a member chain to read a member or call a function |
| StructUnion group | Set/Get StructUnion, StructTuple, DynStructOnScope — see FGMPStructUnion |
| FormatStr, EventGraphFunction, DerefParam | smaller utilities |

ExpandNode flattens the member chain into FName literals, so the compiled Blueprint holds no hard
reference to the target class. Same stance as the messaging core: you can delete that class's module and
the Blueprint still compiles. The cost is that the chain is resolved by name at runtime, so a rename that
the editor does not catch becomes a runtime failure.
GMP · Reference wiki — one page per named thing. Guided introduction: project site · 中文站点 · measured dispatch stack Source: repository · README · README 中文
Pages here are generated from wiki/ in the main repository — edit there, not on the wiki.
Concepts
- Why a string key
- Dispatch layers
- Parameter compatibility
- Signature inference
- Key baking
- Transparent rewrite
- Jump tracing
Sending and listening
- NotifyMessage family
- ListenMessage family
- StoreObjectMessage
- MSGKEY
- FSigSource
- FSigHandle
- FGMPKey
- FGMPResponder
Dispatch internals
Reflection and data
Editor
Build