Could you try BindWeakLambda
Static: Binds a weak object C++ lambda delegate technically this works for any functor types, but lambdas are the primary use case
Example from the forum
Request->OnProccessRequestComplete().BindWeakLambda(this, [this](...)
{
// Game thread is required to trigger a BP event
AsyncTask(ENamedThreads::GameThread, [bSuccess]()
{
OnConnectResult(bSuccess);
});
});
Weak binds should be able to default back to null pointers.