Slate brackets parsing bug

You’ve called the lambda with the parameter artifact, so you’re actually passing the return value of that lambda, FReply, into OnClicked_Lambda.

If you want to bind artifact as a parameter, you’ll have to use the full delegate creation syntax (you can normally avoid this, however we don’t have the Slate syntax sugar setup for lambdas as you typically just capture your data in them rather than use delegate bindings).

SNew(SButton)
.Text(artifact->Rules.ID)
.OnClicked(FOnClicked::CreateLambda(onArtifactButtonClicked, artifact))