What is the status of UNET? Worth using for new project?

I’m working on a VR game that I want to have coop and single player for. I am getting close to the point where I want to implement networking. I was eyeing and watching tutorials on UNET but then I hear others state that UNET is broken and there are no updates from unity. My questions are:

Is UNET abandoned?
Does host migration work?
Is UNET able to handle long matches (30 mins to an hour)?
Can a user rejoin an existing match if they get disconnected?
Is it worth using UNET over Photon? I haven’t looked into Photon but I hear it is the alternative.

Keep in mind that I’ve never done multiplayer games before, just single player. I’m looking for ease of use in being able to do what I need. The game is a VR first person game when you can pickup up objects and throw them physics based using touch controllers. Think kinda like “Job Simulator” or “I expect you to die” but multiplayer.

Thank you.

UNET isn’t abandoned, it’s just that there’s minimal progress towards new features or bug fixes with each new build of Unity.
No idea, but I believe it is something that’s built into Unity.
I was able to keep a game running for 3-4 hours once, but that was just with both players standing there sending maybe 2-3 packets a second.
I’d assume so, no reason why you couldn’t unless your game doesn’t support drop-in/drop-out.
No idea. I’m using UNET because it’s built-in to Unity and allows for a player to be host (most other networking libraries require some sort of cloud-based server) since I’m only building a two player game and not an 8+ player multiplayer shooter. Just depends on what you want, UNET is pretty easy to get up and running but there are some things you’ll have to workaround.

i’m making a multiplayer vr game myself with UNET.

my biggest headache by far has been Unity’s relay servers. i’ve found it’s pretty difficult to make a Vive game with UNET without hitting Unity’s (free) data cap of 4 kilobytes per second per user. when you hit the cap, players are disconnected from the server automatically. it really sucks, and early in development, i couldn’t keep a multiplayer game alive for more than a few minutes because of it.

i believe you can contact unity about this and get the data cap lifted during development, but then you’d probably need to pay for bandwidth during development.

my solution is to cut out the relay server entirely - i now use the Steamworks SDK for connection & communication, while still using UNET’s API for the cool stuff like commands, rpcs, and syncvars. this was not an easy road to go down and it took several months of dev time to get to this point.

Ouch I didn’t even consider relay servers and data limits.

Very discouraging, I don’t know where to start.

Is UNET abandoned?
Nope

Does host migration work?
Yes, and it’s something the team is actively improving.

Is UNET able to handle long matches (30 mins to an hour)?
Yes, length isn’t a factor

Can a user rejoin an existing match if they get disconnected?
Yeah unless you design otherwise

Is it worth using UNET over Photon? I haven’t looked into Photon but I hear it is the alternative.
crynryan summarized it pretty well “Just depends on what you want, UNET is pretty easy to get up and running but there are some things you’ll have to workaround.” Not sure what’s specifically needs to be worked around but I’d say any solution you pick will have its own unique things to account for.

Since you are making a VR game multiplayer, below is an example of a VR game that uses Unity Multiplayer. https://setapp.pl/case-study/overflight

An exemple, in my alpha-project :

A 2D game create with Unet. The main itch.io is in french, but the game is in english.
Try it to see what you can do with Unet.
I’m waiting the new TransportLayer API for an other version of my game !

And i’m a student who do it in my past time. For a professionnal you can do better things !

That’s a good news! :smile:

@richard-lee
Another question… This Host Migration works great in LAN.
But what about Host Migration and Matchmaking relay server? Works too in 5.5 version of Unity? Can’t make it work…

1 Like

the data limit may not be a factor for you…depends on what you’re doing for VR. i should have clarified that my game is character/avatar based. i need to sync head & hand transforms for all players - this can quickly chew up a lot of relay server bandwidth if you just slap NetworkTransforms on everything with a reasonable sync rate.

Mine would be a four player coop game using Oculus Touch so head and hand movement with physics. I don’t know how to sync the physics though, initial testing has the physics only working on the host.

Richard, will UNet be updated more now that Unity is moving to subscription?

Host Migration + Relay is in work.

Unity Multiplayer is being updated but we haven’t been good at communicating it. Team is working on a blog post to give an update on the state of things, including what to expect throughout the rest of '17. Expect this post to go up after GDC.

4 Likes

@richard-lee Do you have an update on that post? It’s after GDC.

1 Like

Any news on this?

Blog post is complete and in the process of being scheduled. Best case, it’s up by the end of the week. If anyone wants to know ASAP, ping me your Skype ID and some times (+time zone) when I can reach you. But I’m going to make you tell me about your game and how Unity is doing for you (general feedback).

6 Likes

In case anyone didn’t see it, the blog post is up.

https://blogs.unity3d.com/2017/03/17/update-on-unity-multiplayer-current-and-future/

I’m currently developing a Multiplayer RTS game, and when we get quite long into the game at some point it’s like it stops working :confused: Units don’t die, you can’t build new ones etc… It’s like it overloads or something like that. Anyone got a similar problem?