OnlineSubsystemのSession検索とDestroySessionのDelegateについて

回答ありがとうございます。

回答を参考にUEのLogをとってみたところ、DestroySessionを呼ぶ前後でPending->Destroyingに変化していて理想通りの動きをしていることが分かりました。

LogApp: Before DestroySession Info: Status = 2, MemberNum = 0, LogApp: After DestroySession Info: Status = 7, MemberNum = 0,そして、先ほど下記のフォーラムを参考にコードを変更したところ、デリゲートが呼ばれるようになりました。

EOS/EOSPlus OnDestroySessionCompleteDelegates がバインド関数を呼び出さない - プログラミング & スクリプティング / C++ - Epic Developer Community Forums

`IOnlineSessionPtr sessionInterface = GetOnlineSessionInterface();
if (!sessionInterface.IsValid()) {
return;
}

FOnDestroySessionCompleteDelegate delegate;
delegate.BindUObject(this, &UOnlineManager::DestroySessionCompleteDelegate);

if (!sessionInterface->DestroySession(m_sDebugSessionName, delegate)) {
UE_LOG(LogApp, Error, TEXT(“Failed to call DestroySession!”));
}`始めに質問した時と同じdelegateを直接渡す方式ですが、Sessionの通信設定の変更(bUseEOSSessionsをtrueに変更)との相性で動くようになったのかもしれません。

Destroyの時だけ特殊な記法とはなってしまいますが、理想通り動くようになったので

今回はこの修正で完了としようと思います。

ご回答いただきありがとうございました。