I'm so confused - please help me to pick the right MP approach

Hi everyone,

I’ve been studying and reading for weeks, but I find it really hard to get consistent and reliable information on which approach to choose for my MP title. I want to do the following for my game:

  • Matchmaking
  • 4 players max
  • Couple of Rigidbodies that can be thrown around in VR
  • Ideally Authoritative Server

So far I’ve been using PUN and have achieved satisfying results. However I feed PUN is not a very professional approach as cheating seems to be so easy. I can maybe restrict a bit with checks done simultansiously on all clients however I feel this is just a workaround, a much better and professional solution would be to do the physics calculation on server side.

I can see products like Gamesparks, Bolt, Playfab, uNet, uLink, etc. however for me it is really hard to distinguish what each approach can do and what is not possible. Also it’s not fully clear to me what I even need, e.g. do I require a server for every “Room” where Unity physics are being calculated for the players that are in? Or can this be handled on a single server?

Do you have suggestions on how to get me properly started with this?

Thank you, any feedback is much appreciated!

Bolt is probably the best option for authoritative server. It is not necessary to have dedicated servers for your game, but it is better for anti cheat. If you do then you will need a server instance for each room (Bolt has an SDK that will spin up and down instances for you)

1 Like

Thank you, this is helpful.

Let’s say I would like to achieve Matchmaking Rocket League Style, players hitting “Search Game” and once there is a certain amount of players found, the game starts.

If I want to go the dedicated Server route this means I would need to host the Bolt game servers somewhere. Do you have recommendations for hosters, and how can I estimate the costs for this?

Both AWS and Azure work fine. The costs will depend on how much CPU and RAM the headless instances take up with the number of players you want in a match.

Thanks, it’s much appreciated!

  1. So I understand Bolt can run headless Unity physics-computing instances?
  2. And I could use services like Playfab or Gamesparks as Backend for the player-specific data like counting matches, player experience, etc?
  1. Bolt and whatever physics you want run within Unity instances, which can be spun up and down using one of our SDKs for that
  2. Yes
1 Like