Unity's [Serializable] tag in UE4

So unity have ths nice little feature that allows the non-unity classes to be displayed in the editor.
I’m asking this because i have gotten into habit of unit testing some more annoying parts of my code and i can’t seem to figure out how to do this in UE4
In unity gameObject was interacting with non MonoBehavioral objects to do logic and i am trying to figure out if there is a way of doing this in UE4.

What im trying to achieve is so that this code:

[System.Serializable]
public class Node : INode{

public UNode node;

public int NeighboursNumber;
    //Some more stuff

and this code:

public class UNode : MonoBehaviour {

    public float halfSize;

    public List<UNode> neighbours = new List<UNode>();
//Some stuff

will give me this in the engine: http://imgur.com/Y620tzd[1]
And i can’t really unit test this UE4 stuff because of rather complex instantiation process.

There are UPROPERTY() and UCLASS() specifiers, you could try using those.

I tried to do the same thing and after playing with those specifiers I could not achieve this. Instead I started to use ActorComponents for this purpose. It worked out quite well and sometimes they are even more handy then solution from Unity.

You can either make your UNode class a UObject, and add the UCLASS macro to it along with the constructor macro. You can also make structs into UStructs with a couple of macros, USTRUCT() and GENERATED_USTRUCT_BODY(). Then any member fields you want in either the class or struct to be visible to the reflection system for either serialization or visibility in the details panel, can be achieved by adding a UProperty macro to the member provided it’s a known primitive type, uobject pointer or a ustruct.

Ex:

/** My Float Value! */
UPROPERTY(EditAnywhere, Category=Appearance, meta=(ClampMin="0", ClampMax="1"))
float Value;