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 installed 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 didn't 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 I'm correct and also how I would be able to make it.
Unity docs seem to be trying to hide this solution if it exists (perhaps I'm being paranoid).
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 don't, how can I then connect to this host from another machine? Does typing the client-hosts external IP allow this?
Sadly, I don't have anybody to help me test this right now.
If a dedicated server version is the preferable 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.