I built for my projects a class with static mechanisms and static delegates that can be linked from AsyncTasks using “FSimpleDelegate::CreateStatic” like Mike Preussner suggested we should do in this same thread.
There’s usage samples in engine code, they are really simple to use together with AsyncTasks.
They wrap parameters into structs and send them to “named” Game Thread, but I usually send object pointers instead because I need access to UProperty* objects (when I read/write user defined blueprint structs or create new UObjects within the DoWork() function.