Heyo I was wrong.
I missed a block of code that allows users to inject custom factories for graph pins :
You can register new factories like this (preferably during engine/editor initialization) :
FEdGraphUtilities::RegisterVisualPinFactory(MakeShared<FTestPinFactory>());
I just made a snippet with a full working example, with a struct containing a string and an integer, and made the two fields editable directly within the node.
Sample struct :
USTRUCT(BlueprintType)
struct FSomeStruct
{
GENERATED_BODY()
UPROPERTY(EditAnywhere, BlueprintReadWrite)
FString Str;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int32 Int;
};
Sample function
UFUNCTION(BlueprintPure)
static FSomeStruct SelectSomeStruct(FSomeStruct A, FSomeStruct B, bool bPickA)
{
return bPickA ? A : B;
}
Result
Full snippet

