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 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 didntdidn't notice any slow-down or lag or any problems with it. (Rust is made in Unity iI 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 ImI'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 dontdon't, how can iI then connect to this host from another machine? Does typing the client-hosts external IP allow this?
Sadly , I dontdon't have anybody to help me test this right now.
If a dedicatededicated server version is the preferrablepreferable 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.