Unity Multiplayer / Unet: Features

Hi!

UNet (is the official name “Unity Multiplayer”?) has been released recently (Game Development Software: Build a Multiplayer Game | Unity) so there isn’t much information about it. It looks promising so I’d like to know more about what’s included, what will work in the future and what isn’t planned.

  • Matchmaking: What platforms are currently supported by the Matchmaker Server Services?

  • Cross platform: “Unity Multiplayer is designed to be fully cross platform compatible”, but will different platforms be able to communicate with each other? If UNet won’t handle that, would it be possible to do it ourselves and how much work would that represent?

  • Will a Unity Servers-side professional “Master Server” (like the old one in RakNet but with pro guarantees) be available?

  • “Little or no customization is necessary” to use Unity Multiplayer on several platforms. What kind of customization are we talking about here?

Thank you if you have answers to some of these questions.

Up.

For the 2. I read that some editors tried it in the past (successful for 1 console and PC/Mac/Linux but never between different consoles), maybe since Unity has the same API for all platforms it will be possible (through their own matchmaking servers) ?

Does anybody in Unity staff have some answers to these? 1. and 2. are quite important to me, and I can’t find useful information about it. Did I search wrong or is it really missing?
Am I the only one interested by this by the way? I could use Photon or Forge, both look promising but Unity Multiplayer integration could be a real advantage, so having more details would be great to make a choice soon.

here for answers…

Well it seems that nobody really knows. Would it be possible to have at least a list of the currently supported platforms for the LLAPI (Transport Layer)? And if they can communicate with each other?

  1. I’ve had problems with the WebPlayer with Matchmaking due to the usual security stuff.
  2. I believe it is supposed to be cross-platform, haven’t tried it though.
  3. Authoritative Master Servers were announced to come in a later phase of the Network System implementation.

Thank you!
I guess we won’t have more details than that, so I think that I’ll just develop my own networking framework on top of the Transport Layer, hoping that this LLAPI will work on all platforms (including consoles).
Forge seems really good too but they don’t support (yet or never?) console platforms.

@Natrem : If you require console support, you might consider PUN.
If you ruled it out for some reason, let me know.

I didn’t know that PUN supported consoles, I only looked on the Asset Store page and it wasn’t advertized so I assumed something wrong.
Thank you for that information, it could make me change my mind and consider Photon.
Does PUN support connection between different console platforms, through a Linux server by example? Is there any game that did that successfully (gather PS4 and Xbox players in a single game room by example)?
What I need for my project is a network layer that provides really reliable generic connection from any platform to my server platform. The matchmaking part is a real plus, I’m glad that PUN provides that for all platforms.
What I like in the Unity Transport Layer is that it’s built-in, no plug-in needed or anything. I also appreciate the simplicity, I only need to connect and send some byte[ ]. What it lacks is the reliability (lot of bugs apparently), the technical service (missing even in this post), and the matchmaking part. But doing my own matchmaker will be cheaper anyway.
What I like in PUN is the reliability, the supported platforms and the services included. But it’s not cheap, and I don’t want to add a heavy plug-in to my project, just to send some byte arrays and group people.

So I still have to decide.

Owch! I didn’t think of PUN as a heavy plugin! :wink:

Actually, if you like it lean and mean, you could also check out our LoadBalancing API from the “regular” Photon Unity SDK. It has no RPC and components but it’s flexible and you can send your own byte[ ] easily. It has the same reliability, matchmaking and cross platform support.

Cross platform on consoles is a topic of licenses and Terms of Services for PS4 and XBox One. Technically, both platforms can communicate just fine with Photon but you will have to check both ToS under which conditions you can have cross platform play. Technically: No problem.

Yes, our service costs money. On the other hand, you don’t need to host anything. You don’t even have to enter a server address, if you use the Photon Cloud. And it’s not like we run a single server in some backyard shack. There are servers in 5 regions live now and more coming.

The servers run on Windows but as we optimized things, it makes up a slightly higher rental price with more connections per machine.

Thanks for this information!
For the communication between consoles, I already saw that ToS was the main obstacle. Having the confirmation that there is no theoretical technical issue is great.
I was unsure about what is included in your plans. I deduced from your answer that everything (Cloud, Matchmaking) is included, even with PUN Free?
Also, with what technology/language must be developed our servers if we want them in the cloud? Our goal is to reduce development hassle by running our servers in Unity instances.
We need fully authoritative servers, and I saw we need Photon Enterprise Cloud to do that? I guess the pricing is not the same in that case?

Wait… I was under the impression that UNET’s big thing was cross-platform multiplayer. Xbox players could connect to Playstation 4 and PC and Mobile and Mac- all systems all playing together.

I thought this was already stated and the big selling point. Was I mistaken? Is this only speculation and not absolute? Did I just dream this or just misinterpret the meaning of “cross-platform multiplayer”?

If this is not going to be supported or won’t be supported until “a lot later” then wtf should we even use Unet? Especially when it seems to be “released” broken (as if it’s Early Access or only Alpha, despite it being their “release” version which passed Beta) alongside horrible documentation and barely-existent example projects (which don’t even work).

That’s why I created this post, I believed the same thing and wanted to be sure but nobody in Unity staff seem to care.
So either I continue with the LLAPI, hoping that it’s low level enough to be bug-free, or I switch with a professional solution like Photon. Forge seems nice but needs a stronger history to be an option.

1 Like

Looking at all the different solutions, Forge sure is getting a lot of praise. Right now I’m thinking of just giving up on UNET. Especially after seeing new posts starting to pour in dealing with the exact same nonsense I’ve been dealing with. (UNET just plain doesn’t seem to be working for anyone.)

From Forge’s developer

and even better

I am thinking of purchasing it within the next hour. UNET is beyond disappointing. I am quite infuriated that Unity would degrade themselves by saying this is their “Release”. Saying that a broken system that has components that don’t even work with rancid documentation is their “Release”? It makes them look awful. If that’s their release, wtf was their beta or alpha?

IMO, it’s very deceptive to call the current UNET “released”. It is as released as most of the early access games on Steam. It’s bad enough our games are basically released with the developer being free of any criticism because of a defense “It’s early access!” Now our software to develop games is also in this same way? Throw it out to the masses ASAP alongside the idea of quality or a trustworthy company name.

I for one believe in quality. If it’s not ready, don’t release it. If it’s still a beta, don’t call it released. If you don’t have anyone to write high quality documentation, don’t you dare release it. Be known as a Valve/Blizzard and release it when it’s done even if it takes longer to finish. Let people see the label of “Unity” and think “Hey, that’ll be high quality and easy to learn!” Right now people see the label of Unity and think “Oh geez…not another Unity game…” or “New Feature? Nah, I should probably wait a few months for them to iron out the bugs. Then I will try it.” The former is a problem we as gamedevs have to face. The latter is a problem with Unity itself. So we get the worst of both worlds.

@Natrem : If you need authoritative in-Unity hosted games, then PUN is not your solution, sorry. I missed that requirement.
Photon (the server) is a dedicated process on a Windows machine. It’s logic is written in C# and very extensible, but it doesn’t run Unity’s physics and doesn’t have the scenes available.

Aside from that, PUN Free is a very client driven workflow with matchmaking, in-room communication, optional integration of an authentication service, other external services (like PlayFab for accounts, user inventory, leaderboards, etc) and the option to use the Photon Cloud for checking things out. It’s without obligation and costs.

Check out some games done with Photon.

@CarterG81 : It seems you just repeat your initial mistake and simply believe the advertising for a product. You should try out stuff, experiment with it and get to know it. The developer of some middleware is maybe a bit biased towards their own product.
You quote Forge. Other posts in Forge related threads were along the lines of “where is everyone from the Forge team?” when they didn’t reply to anything for a few weeks.

If documentation is good or bad does not depend exclusively on the one who writes it. We had both kinds of feedback on our docs, good and bad. Sometimes things just dont get across or are missed.

I forgot: Technically, cross platform communication is not an issue usually. Even for consoles. Unet will do it just fine, too. However, you need to cover all the ToS and requirements of the platform holders. This is usually up to the developer, sadly. I doubt that any middleware can solve this (including Unet).

1 Like

I am actually extremely skeptical of all advertising. I don’t “simply believe”. I research quite extensively and question everything.

However when you see a lot of people with identical complaints about UNET leave UNET for Forge, and no longer have those complaints? That isn’t advertising from Forge. That is reality telling you “Looks like people similar to you are much more satisfied with Forge.”

Their videos also indicate it actually works. As silly as it is to say: UNET doesn’t have such videos. In fact, even the sample projects stickied (from what appears to NOT be a unity employee) are broken. Unity doesn’t seem to care to support this with any community involvement, or even the proper quality assurance required for any release.

Are you promoting piracy? The majority of things I’ve purchased from the asset store have no free trial. It’s a leap of faith with few options.

Otherwise, I’m confused. Forge really seems to be the best option based on my research, since I want something “easy” like UNET. I liked UNET, but after I decided to “try out stuff, experiment with it and get to know it” I found myself wasting 24+ hours - over a full work week for me (a part time gamedev, 20 hour workweeks). What did I gain? Absolutely nothing but the knowledge that UNET is still very much in beta, if not alpha.

So the whole “try out stuff” is the worst advice you could have given me about UNET. Or anything. I’m not going to spend a full month “trying out” third party networking assets. I have a deadline I am trying to meet.

I think you are confusing Forge with Bolt. Bolt disappeared for a month to merge with Photon.

Forge is incredibly active.

Not to purposefully defend them or anything, but I looked into this. They are very involved and active, and their thread says quite the opposite. People praise them for their quick answers and community involvement.

I myself have already experienced quicker responses and better assistance than even the other great asset developers. Heck, after purchase they directly asked me that if I needed any tutorial to do anything with Forge, they will write the tutorial for me. That’s about as good as you can get.

I have plenty experience reading documentation, both good and bad. I don’t know anything about Photon other than its good track record (it’s been around and successfully used a lot). At this point, anything is better than a broken UNET.

Thanks though. It’s always nice when people think of you as some naive individual who buys into everything businessmen tell you, simply because you paste a quote that you believe seems legitimate.
After all, if I never believed the commercial , I never would have bought a case and thus met my wife who I found in my backyard.

Truthfully though, I’ve yet to make a mistake purchasing from the asset store when my instincts tell me “These guys have it together.” or “This is what you want.” In fact, the asset store is why I use Unity. Otherwise, IMO it’s worthless. I am very optimistic about Forge, even despite my overall skeptical outlook on life. I trust my instincts.

Right now we’re still using the physics engine of Unity in both client and server, but we planned to replace it with our own simplified solution in the future. So a C# server without Unity would be possible; I may be concerned with the connection to Steam and this kind of framework in the server side (to check user’s profile etc.).

About Forge, I don’t understand why they wrote “With Forge Networking, you can host servers at no CCU/DAU cost.”. So we still have to host our own servers, and then pay for them, right? What’s the difference with paying something related to CCU? Their framework is so optimized that you need only one server? They provide only the code (and their Arbiter Server) or am I wrong?

Also I’d like to know the advantages of the UNET Transport Layer over plain .NET sockets. I understood that Forge uses C# sockets, so if I just want to send bytes I have no interest of using their framework over directly C# sockets. But what technologies are using the LLAPI and Photon?
I guess you can’t send C# sockets to console platforms, that’s my main concern. You need an interface for each of them right?

From what I understand, you handle everything yourself with no CCU limit. I assume this is because other systems have CCU limits and charge based on it. Thus they are more expensive.

So Forge is, in the end, a lot cheaper. (I am skeptical that paying someone else with CCU limits would be in any way cheaper than hosting it yourself with no limit or additional cost.)

CineTek explained some of it to me,

I’m not entirely sure, since I’ve heard different things from different people and no one seems to know much about UNET, but here’s what I’ve gathered.

With Unity, it seems that if you use HLAPI you will end up paying, and there’s the global CCU limit. (It seemed that way to me anyway. I am probably wrong.) I don’t think this extends if you use the LLAPI and do it yourself, but I could be wrong. (It seemed almost purposefully confusing, like Unity wants people to be confused so they end up locked in to paying for a service they thought would be free / optional. I could be wrong though. I was just surprised when I found out some of the stuff was going to cost, and probably cost a lot since 100 global CCU is very low for many games.) I just thought the HLAPI was a big selling point for people who use Unity, but then to basically charge for it because if services that require the LLAPI to circumvent is confusing.

With Photon, there’s the CCU limit of some kind, but I have no idea about it or what it extends to.

It’s all a bit confusing to be honest, especially when you don’t know all that much about the whole CCU / Business side of this stuff.

I prefer to pay no one but my own hosting provider though, if it comes down to choosing who to pay. Paying someone else who charges per CCU just sounds like a waste of money for something as small as a masterserver to handle some matchmaking.

Thanks for taking the time to answer.

Do you have numbers to prove that? I have the same feeling but it would be nice to have some comparison between the price of renting a dedicated server to host your matchmaker and using more ready solutions. By example I see that first prices are about 100 USD/month to rent a dedicated server; how many CCU do you support with that? With Photon one-time fee (95 USD), it seems cheaper (100 CCU).