I have a very simple Unity game for Android and IOS. We used to play a guessing game in University and I decided to create an app for friends and family to play while we are all scattered.
Without going into details, it is a simple game that plays a sound and you have to guess the answer. There is no answer database, so I plan to add a chat where whoever types the answer first gets the point. It is a very silly game lol.
So, I want a simple multiplayer function where 2-6 players can join and we all hear the audio and input our guess in the chat. I tried Mirror but soon realized that I will have to share my IP and do port forwarding which I do not want.
I want to have the same options as drawbattle.io. I get an option to create or join a room using the room code. To do this, it seems like I will have to subscribe to a service to host the game. I then looked at player.io and AppWarp etc but it all sounds more for an actual multiplayer game and not for a simple MP app.
My hope is also to post it on google and the IOS store in hopes others might play and enjoy this weird game.
My question is, what would be the best and most cost-effective option for me given the app requirements I provided above? I am also hoping that solution will have some Unity implementation tutorials.
If you dont want to port forward you have to use a relay.
For mobile the options are:
-Mirror with EOS transport: Completely free, lobbies, matchmaking and a lot more things.
-Photon(PUN, bolt or fusion): Paid, but with 20 free CCU, which is enough for you. It has matchmaking and lobbies, but nothing more.
So far Mirror with EOS looks really good. There is one thing I was not able to find info on the Epic launcher. Will clients need to download Epic launcher to play? Or does it ask for an Epic login in the app?
Are there any good tutorials on the Mirron - EOS implementations? I had been searching but so far no luck.
Also, it seems like Android and IOS support for the Unity plugin is not out yet.
You can use EOS for free with the login system tat you want (or without any) and isnt needed to put your app on the epic games store.
Since Mirror has a EOS transport, it isint any code changes needed, but you will have to learn a bit of EOS itself to use the lobbies and matchmaking.
I was planning on putting the app on Google Play and Apple Store and not on Epic store. Is it still possible with EOS? So far I did not see any solid info on Android/IOS support.
The Unity plugin is out for PC but mobile is in the future (it says maybe later this year).
If you are new to multiplayer you should use whatever is easiest to learn. Especially if you can find a tutorial or guide that matches up closely to what you are trying to build. Would be even better if the service/framework has an active forum and many resources to look at.
A game for 2-6 players that you just want to share with friends and family will fit under the “free tier” pricing of most cloud providers.
I would suggest looking at blog posts / case studies to see how others have approached it. There are many clever ways to do multiplayer for very cheap (free), especially if it’s more of a “turn based” game.
Regarding EOS, I don’t recommend it especially if you are making your first multiplayer / online game. Their support is practically non-existent and you will be hard pressed to find resources. Just check their support forums and see for yourself. Compare that to an established service such as Playfab that has actual support channels and tons of resources for documentation and learning (tutorials)
Thanks xjjon, you rightly summed up the struggles I am having. I had been looking at tutorials and trying to apply them to my game.
I started with mirror and later found out that I will need BaaS if I were to do game lobbies etc. EOS was a no go after a day of research resulting in nothing. I am now trying Photon Pun (free with 20 CCU) but am not able to make it work with my game yet.
My main issue is that I had a single-player game with no account or player setup. I am now converting it to MP and trying to figure out how to assign a player prefab. In a normal game, you would have an object that you move/control but in my case there is no object/player. You just click play and click buttons.
Another thing I would suggest is just following along some tutorials or sample projects on their own. There’s a lot of tutorials on how to make a simple lobby, real time game, turn based, etc. Don’t try to directly integrate it into your game right away. This way you’ll have less hiccups and won’t have to rewrite your code multiple times while you are still learning.
Photon Pun is in maintenance mode. While you can technically use it the company doesn’t really want new projects made with it. There will be no new features going forward and we’ve been told that the last version of Unity that is guaranteed to support it is Unity 2022. If you want to use their products you should be using Fusion.