So I am new to games networking, in fact, this will be my first time and that’s why I didn’t want to use any other networking solutions. So I have made my game fully in offline currently and chose to go with UNET for multiplayer. It’s a CS:GO inspired game with all that matchmaking and shit. So I went on to Game Development Software: Build a Multiplayer Game | Unity to check out their pricing model but I can’t understand it properly so here’s the questions.
What is that $119.93 for 100 CCU for? Is it for something like photon cloud?
What is that $0.49 / GB for? Is it if I only use their matchmaking service?
I want to host my own server anyway and don’t want to use anything like photon cloud. But would like to use their matchmaking service if there’s any. So, in this case, I will only have to pay for using their matchmaking service right i.e. $0.49/gb that too will be calculated for the time the matchmaking service is being used, right?
100 CCU is 100 active users at all times during the month. For instance, a game I play called ‘Reign of Kings’ averages 700 concurrent users. 700 online typically at all times on average a month. (If I’m inaccurate in any angle, please correct me.)
$0.49/gb is the amount of bandwidth taken up by messages being sent from Clients to the Server. Every gb of bandwidth used by Unity’s Relay Service will cost you 49 cents USD. That could get very expensive at a large user base.
You don’t want to use the cloud, but you want matchmaking. You can’t have one without the other, unless you host your own Master Server and pass IP’s with your own code. That will take the most research going in. It would be easier, but more expensive to use Unity’s Relay. A lot of people find Photon useful, but I don’t like it personally.
You could use Evolvehq.com. It’s like gameranger and hamachi combined. You will need your players to manually type in External IP’s provided to them free by the service, but it’s the easiest/cheapest way to do matchmaking. Depending how big your game is, it’s probably not the best idea. But it’s one I intend on trying a few times. (Don’t confuse this with a Peer to Peer connection, it’s not. It’s fairly similar, but everyone has access to a genuine MatchMaking Service and doesn’t require manual portforwarding.)
Lemme make myself clear here once again. I will use service such as Amazon EC2 to host my server and would like to use networking components inside unity to network my game. I would also like to have matchmaking in my game I.e. find a lobby for a player n join it. Now I assumed that that CCU plan is for those who will be using unity servers to host by since I am hosting myself will I have to pay for it?
Can you explain difference between unity relay server and matchmaking server? Also still didnt understand difference between $119 for 100CCU and $0.49/GB.
Thanks for being with my noob questions ! I appreciate that
Yes, the plans are for using UT’s services. Hosting at Amazon would only involve their costs.
The relay server is a component in the chain to get people through heavy NAT so they can reach other players. You pay for traffic through those, so if you have 500 players at once using the typical matchmaking and needing NAT punch-through you’re paying nearly $2400 per month. So you’re always paying the $119, but variable amounts depending on how many go through the services at once.
I guess the real use depends on how long matches are. You’re not using UT’s services while players are playing on your servers, only when trying to find each other. If you have 500 players who only play 3 matches a day you’re only paying about $215 per month, going by their calculator.
I recommend making your own more efficient matchmaker and hosting that too at Amazon
I think it does not only count in messages from clients to server but also messages from server to the clients (which can easily be the most significant share).
Oh okay you explained it clearly! So ill make my own matchmaker or atleast try to. One last thing, now because i’ll be making my own matchmaker and not use Unity’s can I still use their all networking components and classes?
Yep, the networking classes are not locked behind an extra paywall. UT’s services are there as a convenience. For a lengthy strategy game I think they might be a great fit, but for an FPS with short rounds it could get expensive for an indie.
I didnt find ccu tariffs for uNet, just this: free - 20ccu, plus 35$/50ccu, pro 125$/200ccu and 0.49$/GB for traffic.
And for Photon: 95$/500CCU, 2.5/1.5TB free traffic based on region; 185$/1000CCU, 5/3TB free traffic based on region and 0.05/0.1$ per additional GB for both.
Some math
Photon - 185$ for 1000CCU and 5TB traffic.
Unity - 125$ for 200CCU and 2450$ for 5TB traffic.
Thanks, unity but if I’m right here, I will better using photon.
Hi. Here’s an detailed breakdown of the reasoning and more direct answers to some questions brought up in this thread:
General philosophy: You only pay for Unity’s servers when you use it. Pro: It’s super fair to you because you’re only charged for what you use. Con: It’s not easy to understand or predict because 1) you have to actually accrue the usage before being charged for it 2) you have to understand what bytes you’re sending/recieving.
It’s not fair to charge for what you use during development. You haven’t optimized your code yet. That’s why we give users (CCU) regardless of bandwidth. Once your game goes live and you to support a big player population, we start charging for based on you use. Is your game super optimized and can support 1,000 users with a single GB of bandwidth? Fine, that’s what you pay for; in this scenario, effectively 10,000 users for 1 GB @ 0.49 (this can happen for "slower" games like those that are turn-based). Is it unoptimized and you're using 1GB per user? Again, you pay for what you use; .49/user in this example .
Only using Matchmaker? That’s fine. It’s mostly CPU cyclces (which aren’t part of the pricing) and very little in bandwidth compared to Relay Server. I need to check with the team to determine exactly how a matchmaker-only implementation can expect to charge for.
If you want to use EC2 to host your server, that’s fine. If traffic doesn’t hit Unity’s servers (Matchmaker, Relay Server), you don’t pay for it. If your game is really competitive or requires very predictable network performance, a server you own may be best for you. If not, you should try out Unity’s implementation (peer to peer, assisted with relay server). Standing up and managing your own fleet of servers is cheaper but you are spending a lot of time creating and maintaining it.
To confirm, you can make your own matchmaker service and infrastructure, and still use Unity APIs. You will need to write the middle layer between the API and your infrastructure.
i know this is an old thread, but couldn’t you offer better pricing than 0.49$ a GB? bandwidth is unlimited with with larger hosting providers. just look at ovh.com (one of the largest hosting providers in the world) you pay $89 a month for 1 server and UNLIMITED bandwidth. they even guarantee the speed. im literally holding out for a solution that’s similar to Unity’s Matchmaking service that isn’t difficult to implement, i’m a 1 man developer, but using templates i created a whole game that requires unity matchmaking. but so far every third party solution i tried fails in comparison, in some way or another to unity’s relay server, and being on an extremely limited budget, i really need a relay server that works with websockets. its hard for me to pay $0.49/GB for a relay server when i know bandwidth is 100% unlimited with certain providers. so i ask, are you planning to release the server anytime soon, or possibly offer better pricing, like you guys could resell dedicated servers that host your relay program?
Even if flat rate, they still have to pay for a large pipe, and the more data being used the larger the pipe they need, plus CPU usage either is metered or periodically requires new hardware purchases as usage increases.
I suspect the price of $0.49 per GB is that high specifically because Unity offers free bandwidth for games during development, and we all know that the vast majority of games in development never get completed. Many of the hobby games under development may never have any intention of setting it live at all. The paying customers then subsidize all the projects that never reach completion, including the hobbyists. I’d be very surprised if their ratio of live games to freeloading under development games was anything less than 1 to 100. Contrary to the official line from Unity that the system is designed as a fair system where you pay for what you use, in fact you pay for what you use then pay for what 100 other people use who don’t pay anything.
I’d much prefer a system where games under development get a small amount of data for free as they try out the system, say the first 1GB, but then it is all charged at full price after that. Unity could then implement optional daily usage caps or similar system for games under development, to prevent runaway bandwidth usage due to bugs, etc, causing cost spikes.
I bet if Unity did that they could drop the price down to $0.10 per GB and still come out ahead compared to now, due to live games no longer having to subsidize the development bandwidth of other people. If games under development can’t afford to pay for a GB of data here and there, at just pennies each, then they aren’t ever going to click the Go Live button anyways, so the pricing structure shouldn’t be built to cater specifically to them.
Dropping the price would encourage more people to consider using the service, far more than offering unlimited free development bandwidth. People like me are afraid to use the service because I’m thinking about how I’ll sell the game for $10 a head today, but in 4 years when the game is old and I have few new sales I’m still locked in to paying either $0.49 per GB for my existing customers that love the game, or screwing them over by ending multiplayer support in order to end high costs for a game no longer making new sales. $0.10 per GB would change my mind.
Hey, the recent activity on this thread is timely. We’re reviewing pricing and looking for feedback. Please check out the pinned thread if you haven’t already.
Can you guys make a detailed tutorial or maybe a blog about all the technical stuff related to Unity Networking, like what is relay servers and master servers and in which scenario we use them, how much you’ll be cost if you use our relay and/or master servers, how to host your own relay/master servers ?
I am finding it really difficult to trust and understand this system…
I just don’t get the whole thing. Personally, I think the person/people playing online should actually pay for their usage, Microsoft charge their users an annual fee. The way I see it, is if I sold someone a car, and every time they put fuel into it, I get the bill!!! I know some will say, well, that’s the way it is, but that does not particularly make it right. The current system must put off many potential game makers, just saying
Running matchmaking servers are not very expensive. What is expensive is the relay. Unity cannot just give that for free, why would they? If you want the players of your game to pay for the relays, then make that your bussiness plan. But Unity can not send a bill to the players of your game. There are many games where you pay a monthly fee to play.