I see a crash at the Create Matchmaking ticket in Unreal. The graph for blueprint section that handles this is below:
The log is below:
UE4Editor_PlayFab!UPlayFabMultiplayerAPI::execCreateMatchmakingTicket() [c:\users\user\downloads\emptytrial\plugins\playfab\source\playfab\classes\playfabmultiplayerapi.h:29] UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_Engine UE4Editor_PlayFab!UPlayFabMultiplayerAPI::FDelegateOnSuccessRequestMultiplayerServer_DelegateWrapper() [c:\users\user\downloads\emptytrial\plugins\playfab\source\playfab\classes\playfabmultiplayerapi.h:694] UE4Editor_PlayFab!UPlayFabMultiplayerAPI::HelperRequestMultiplayerServer() [c:\users\user\downloads\emptytrial\plugins\playfab\source\playfab\private\playfabmultiplayerapi.cpp:2811] UE4Editor_PlayFab!UPlayFabMultiplayerAPI::execHelperRequestMultiplayerServer() [c:\users\user\downloads\emptytrial\plugins\playfab\source\playfab\classes\playfabmultiplayerapi.h:29] UE4Editor_CoreUObject UE4Editor_CoreUObject UE4Editor_PlayFab!TMulticastScriptDelegate<FWeakObjectPtr>::ProcessMulticastDelegate<UObject>() [c:\unrealinstalls\ue_4.24\engine\source\runtime\core\public\uobject\scriptdelegates.h:488] UE4Editor_PlayFab!FOnPlayFabMultiplayerRequestCompleted::Broadcast() [c:\users\user\downloads\emptytrial\plugins\playfab\source\playfab\classes\playfabmultiplayerapi.h:24] UE4Editor_PlayFab!UPlayFabMultiplayerAPI::OnProcessRequestComplete() [c:\users\user\downloads\emptytrial\plugins\playfab\source\playfab\private\playfabmultiplayerapi.cpp:3278] UE4Editor_PlayFab!TBaseUObjectMethodDelegateInstance<0,UPlayFabMultiplayerAPI,void __cdecl(TSharedPtr<IHttpRequest,0>,TSharedPtr<IHttpResponse,1>,bool)>::ExecuteIfSafe() [c:\unrealinstalls\ue_4.24\engine\source\runtime\core\public\delegates\delegateinstancesimpl.h:709] UE4Editor_HTTP UE4Editor_HTTP UE4Editor_HTTP UE4Editor_Core UE4Editor_Core UE4Editor_Core UE4Editor_Core UE4Editor UE4Editor UE4Editor UE4Editor UE4Editor kernel32 ntdll
Since I wanted to Double Check, I used Post man to check the above logic. Turns out, it is correct.
I would really appreciate any pointers. Thanks
Answer by Nicholas · Apr 13, 2020 at 10:23 PM
You should log the stringified version of your entity json object, it's probably not exactly the same as what you're doing in Postman. I'm not sure if there's a BP exposed method, but you can add your own, like so (see PlayFabClientApi.cpp at line 9591):
FString OutputString; TSharedRef< TJsonWriter<> > Writer = TJsonWriterFactory<>::Create(&OutputString); FJsonSerializer::Serialize(RequestJsonObj->GetRootObject().ToSharedRef(), Writer);
I'd also run unreal through the debugger in VS, this way you can look at the variables when it crashes (it'll pause and you can possibly also stop it from fully crashing)
You shouldn't pass an empty object inside of MembersToMatchWith, that's just for splitscreen style matchmaking.
JSON was alright, debugging helped identify that array cannot be empty. But this is something that worked in postman. The MembersToMatchWith was empty in postman but that worked. Here in unreal although there is check on it which crashes the engine. I have filed this as an issue with the plugin library on github.
Problem with Matchmaking with TagFilter 4 Answers
ListQosServers suddenly returning error in all builds (including older builds that worked for weeks) 1 Answer
Matchmaking Queue Page has an unknown Error 0 Answers
Multiple "Player matched with lobby" calls in debugger? 2 Answers
Game Manager Matchmaking UI: Match Total Rule Broken with Custom Expansion? 2 Answers