/BubbleTransport

Game Center matchmaking for Mirror Networking

Primary LanguageObjective-CMIT LicenseMIT

BubbleTransportLogo Showcase release Discord

Bubble Transport

Bubble transport is a transport for Mirror Networking that uses Game Center Matchmaking to connect players and transfer data.

Info

Bubble does not work in the same way as normal Mirror transports in the sense that you cannot choose to be a client or a server due to the random nature of matchmaking.

Instead you call the FindMatch() function and Bubble will sort out the rest for you when a match is found.

Features

  • No need for a relay server as all data is sent over Game Center, saving money and time on maintaining a server
  • 2-4 player games (Limit enforced by Apple, not the transport)
  • Invites supported
  • Unity events when matches are found or when an invite is recieved

Setting Up

  1. With Mirror installed, download the latest release as a .unitypackage and import it into your project
  2. Add the BubbleTransport.cs script to the NetworkManager object
  3. Replace the Transport field in the NetworkManager with the BubbleTransport.cs script
  4. Adjust callbacks to work with your game and add something to call the FindMatch() function
  5. If not already done, add the project to App Store Connect (Requires a developer license)
  6. Once built for IOS, in the UnityFramework tab under TARGETS in XCode add the framework: GameKit.framework to the list of frameworks BubbleTransportTutorial

Testing your game locally

Bubble transport does not work in the inspector as Game Center only works on IOS devices, if you want to test your game use Telepathy Transport instead of Bubble Transport.

Credits and licence

Bubble transport was made by Matthew Collier and is free & open source!

Art made for this project can be found here.

Some of the code comes from this tutorial, however ALOT has had to be changed to work with newer IOS versions and as a transport.

If you found this transport useful, consider checking out my game that I made it for!