-
Notifications
You must be signed in to change notification settings - Fork 0
Class2Name
Mapping between a C++ type, the FName recorded in the signature table, and the matching FProperty*.
Declared in Plugins/GMP/Source/GMP/GMP/GMPClass2Name.h and GMPClass2Prop.h
Given a type, yields the name used everywhere a type is recorded as text: the UGMPMeta table, the
TypeName on an FGMPTypedAddr, the declarations emitted by codegen.
Every type Blueprint understands is covered, so the name a C++ send records is the same name a Blueprint node or script declaration uses. That agreement is what makes cross-language validation possible at all.

Goes one step further and yields a FProperty* for the type:
template<typename T> struct TClass2Prop { static P* GetProperty(); };The property is what you need whenever the other side speaks reflection rather than C++ types —
serialisation, RPC argument encoding, script marshalling. It is the mechanism behind
FRpcMessageUtils::Z_PostRPC turning a parameter pack into a property list.
Both are usable on their own, outside messaging. They are worth knowing about when writing library or
support code: getting from a template parameter to a FProperty* by hand is a large amount of boilerplate,
and this is that boilerplate already written.
FProperty* Prop = GMP::TClass2Prop<FVector>::GetProperty();Only reflected types are mappable. A plain C++ struct that is not a USTRUCT has no property and no stable
name, so it cannot cross into Blueprint, script or the wire — it can still be passed between C++ listeners,
where the types are checked by the compiler anyway.
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