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

**URL:** <https://forums.unrealengine.com/t/how-to-make-struct-recognize-as-int32-float-or-fvector-etc/336612>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [October 27, 2015, 3:14am UTC](https://forums.unrealengine.com/t/how-to-make-struct-recognize-as-int32-float-or-fvector-etc/336612 "2015-10-27T03:14:01Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Shadowriver](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Shadowriver](https://forums.unrealengine.com/u/Shadowriver)\
**Post date:** [October 27, 2015, 6:25am UTC](https://forums.unrealengine.com/t/how-to-make-struct-recognize-as-int32-float-or-fvector-etc/336612/2 "2015-10-27T06:25:42Z")

</div>

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):

> **[Slate UI Programming](https://docs.unrealengine.com/5.1/en-US/slate-user-interface-programming-framework-for-unreal-engine/)**
>
> Program user interfaces with Unreal Engine's Slate framework.

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:

> **[A new, community-hosted Unreal Engine Wiki](https://forums.unrealengine.com/t/a-new-community-hosted-unreal-engine-wiki/141494)**
>
> After over a year in maintenance mode, the official Unreal Engine Wiki is now permanently offline. These resources now live on a new community-run Unreal Engine Community Wiki — https://unrealcommunity.wiki/! You will be able to find content from...

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](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](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](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](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](https://github.com/EpicGames/UnrealEngine/blob/a27ad66f0a075f3b74ef8f68a4b2b0da4882425e/Engine/Source/Editor/GameplayTagsEditor/Private/GameplayTagsEditorModule.cpp)

---

_[View the full topic](https://forums.unrealengine.com/t/how-to-make-struct-recognize-as-int32-float-or-fvector-etc/336612)._
