- Home /
Online Mulitplayer options in Free Unity
Ok, so I'm slightly annoyed with the official Unity guides here, because I have been following through some, and they have indeed helped me create a local network mulitplayer situation. However, at no point did they mention that using these methods (ie. UnityEngine.Networking // NetworkManager // NetworkManagerHUD // NetworkIdentity) will require me to pay Unity for Pro, and a monthly server usage fee, if I wanted to play via internet.
I've set up my own Rust server in the past and it was very simple. I just ran a Rust Dedicated Server on my desktop PC (which I have fibre internet connection) and ran the server. I could then have 20 people playing with me and we didnt notice any slow-down or lag or any problems with it. (Rust is made in Unity i believe)
I've tried searching lots on this matter, and there are many many differing voices of how I can do this (many out-of-date, and many explicitly stating its impossible without hiring a server) - I disagree, and think I can make my desktop run the server, BUT I haven't a clue if Im correct and also how I would be able to make it.
I have the NetworkManagerHUD all working and can play locally as I say.
So, it appears that the NetworkManager allows a user to start my game in 'Client-host' mode, it also allows another instance elsewhere to click "Connect Client" and has a space for IP address.
Would I even need a dedicated server if a player has clicked to start as 'Client-Host'? assuming I dont, how can i then connect to this host from another machine? Does typing the client-hosts external IP allow this?
Sadly , I dont have anybody to help me test this right now.
If a dedicate server version is the preferrable way to go, could anybody please help me in the direction of how to start creating this?
For info: The game at this stage is a very simple FPS shooter. The NetworkManager is assigning the 'isLocalPlayer' flag correctly to one instance of the player object. I see in the Editor Hierarchy that it is handling the game overall and has two player objects once I have logged in with two instances locally.
Answer by Bunny83 · Sep 02, 2017 at 04:45 PM
The usage of most networking classes unity provides neither require you to get a unity pro subscription, nor to pay any monthly fee. The only thing that you have to pay for are the match-making service they provide (since they have to host the servers for that and this always costs money), as well as the relay servers which can be used to guarantee connection to game servers behind a NAT router.
The pure networking classes do not require unity pro or any traffic payment.
All unity licenses have a certain amount of free to use player slots for testing. Even the personal edition (free) has 20 concurrent player slots included. However they are meant for development testing and not for running the game.
If you want to use Unity's match-making or relay services you can still build your game with unity personal and when you ship the game you only pay for the traffic. However in this case there's no player slot limitation.
I'm not sure what exact question you want to have answered here as your question is more a complaint than a specific question.
(writing on a tablet is a pain ^^)
Hi thanks for the answer. I did try to use the Unity UNET relay for up to 20 players. But it appears to want to charge me for using it. I was really asking how to implement it so that one of the users becomes host and therefore hopefully not require the Unity $$anonymous$$atchmaking