How to make struct recognize as int32, float or FVector etc?

Well i can only direct you here

First of all you gonna enter in to editor coding zone, it feels diffrent and more complex, it’s also not very well documented, you will need to be prepared to do a lot of source exploring to learn things. You also need to learn Slate if you didn’t yet, you need to know it to do anything with editor, here docs (UMG runs on top of Slate, but using it is complitly diffrent, but UMG knowlage should help you out to understand it):

It is recommanded to create sperate module for editor code, module that only runs editor, when you package game and compile shipping code editor APIs are not avable and you will have compiler errors, so you need to seperate it from gameplay code. Considering you will create whole classes for editor #if WITH_EDITOR won’t cut it, so create sperate module. Here tutorial how to do it:

For pins you create FGraphPanelPinFactory which select pin (Slate widgets) to specific types (which are structs ;), here you have example

https://github.com/EpicGames/UnrealEngine/blob/a27ad66f0a075f3b74ef8f68a4b2b0da4882425e/Engine/Source/Editor/GameplayTagsEditor/Private/GameplayTagsGraphPanelPinFactory.h

Also look on NodeFactory where default pins are selected:

https://github.com/EpicGames/UnrealEngine/blob/a27ad66f0a075f3b74ef8f68a4b2b0da4882425e/Engine/Source/Editor/GraphEditor/Private/NodeFactory.cpp#L267

And collection of pin widgets for default types

https://github.com/EpicGames/UnrealEngine/tree/a27ad66f0a075f3b74ef8f68a4b2b0da4882425e/Engine/Source/Editor/GraphEditor/Private/KismetPins

For property list, you create IDetailsCustomization class. There whole module which contains lot of them, good source of

https://github.com/EpicGames/UnrealEngine/tree/a27ad66f0a075f3b74ef8f68a4b2b0da4882425e/Engine/Source/Editor/DetailCustomizations

Importent thing is to know that most of editor code don’t use reflection system at all, which means just createing classes is not enouth and you will need to manually refister thigns on startup of your module (as well as unregister on unload). I Found good example which registers both pin factory and details customizations:

https://github.com/EpicGames/UnrealEngine/blob/a27ad66f0a075f3b74ef8f68a4b2b0da4882425e/Engine/Source/Editor/GameplayTagsEditor/Private/GameplayTagsEditorModule.cpp