Passing data to slate widgets

FArguments needs SLATE_ARGUMENT to be defined otherwise it wont find them in your Constructor. The actuall passing you do with the Creation of the Widget.

SNew(SMyWidget, NoneSlateStuffForConstructor)
  .SomeSlateArg(SomeValue)

I’m writing a lot of slate code currently.
So my question is the following: What is the preferred way of passing data to SCompoundWidgets?

  1. Passing via SLATE_ARGUMENT ie. SLATE_ARGUMENT(UMyObject*, Object)
  2. Passing via the Construct(const FArguments& InArgs, TSharedPtr InMyEditor )

I have seen both ways in the engine but I’m not sure what to use and why.
Any help would be greatly appreciated

So you’d prefer passing an uobject via constructor and stuff like ftext via slate argument? I have seen both in the engine.