question

Ashish Lijhara avatar image
Ashish Lijhara asked

PlayFab SDK Unreal Create Ticket Crash

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

Matchmaking
capture.png (198.1 KiB)
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Nicholas avatar image
Nicholas answered

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.

1 comment
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Ashish Lijhara avatar image Ashish Lijhara commented ·

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.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.