dylan-1 avatar image
dylan-1 posted

The state of Lobby/Matchmaking for Unreal

The state of matchmaking/lobby in a nutshell:

  1. I coded client/matchmaking that the doc said existed -- !exists

  2. I coded matchmaker that the doc said existed -- !exists

  3. I coded multiplayer/matchmaking that said most of the calls existed without the api docs mentioning requiring Signalr -- !exists

  4. Matchmaking didn't mention it's stateless without signalr -- events !exists

  5. OSS didn't disclaim all the restrictions -- !works

  6. Back to multiplayer/matchmaking, you can code a cloud script to reinvent the wheel of what was supposed to exist (stateful data, friend invites with the unfortunate requirement to poll), but -- player_matched_with_lobby !exists

  7. I'll call the cloud script from Unreal at the cost of more effort and less security -- but alas, can't debug locally due to an Unreal SDK bug forgetting to include Entity obj [that took me ages to discover what was missing due to the low-effort error handling on PF's side that no one could possibly discover without Fiddler and deep knowledge of the data req'd to pass].

  8. Local debugging with Unreal should now work to continue my workarounds, but would still need to reinvent the wheel and unnecessarily poll instead of use events.

This means, due to a chain of PF bugs and undoc'd obsolete modules, I am officially doing a workaround for a workaround for a workaround for a workaround for a workaround for a workaround for a workaround. This is what is to essentially expect for PF lobby/matchmaking.

I hope this helps someone -- just simply updated docs would've saved me countless hours. I am shocked that PF's legal dept isn't even concerned about all the features advertised that do not even exist [or at least for non-legacy accounts, which is the only reason why legacy AAA has not yet complained -- but it's only a matter of time for new AAA whales; and they all use Unreal].

10 |1200

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



dylan-1 contributed to this article