Testing Client and Server Locally
Lets test our project locally by running a few instances of it. We’ll be running 1 instance from within Unity and 1 build instance, however you can run as many build instances as you like to test for more players.
Check Build Settings

These are the minimum from the sample project, but add as many new scenes you’ve created to here if you need them.
Build
Hit that build button and choose which folder to build the project to. If you’re testing over and over, its worth learning the shortcut of shift+B(Windows, I think cmd+B for Mac?) which will make a build with the last ran build settings. Once its built it should launch an instance of the game outside of unity.
Run the Project in Unity
You probably already know this, but hit the play button in Unity

Who will be the Server?
You need to make a decision. You have 1 instance of the game running and 1 instance running in Unity. The one in Unity is the only one linked to the debugger, so if you’re testing for bugs make sure you work out who potentially would benefit from the debugger. Is the code that has issues in the server or the client? If there are no bugs, then it doesn’t matter which is which, just decide who will be the server out of the two and lets continue.
Setting Up the Server Instance
So in whatever instance you decided was the server, lets set things up.
Jump into Network Settings

Now change your listening port from -1(assigned automatically) to something else.

I recommend 7000 because that’s the default port I’ve setup for clients to join through, but you can set it to anything between 1 and 65535, but avoid numbers in the first 1000 because a lot are reserved for typical computer processes.
We need to know what port the server is listening on so we can tell the client how to join it.
Hit the back button
Now go to Host Game button

This gives you a few options for running a server. You can give it a name and also decide whether if the server is also a player or if its just a server.
Click on Host Private Game when you’re ready

Private means we don’t try to connect to the master server to have the server listed publicly as something to join. If you’re just testing server + client combo you probably don’t have a master server running.
The game should run, now its time to get the client to join
Setting Up the Client
Choose Manual Connect (Join Game is for joining to the master server first, but we want to join server directly)

You’ll land on this screen where you can enter in the IP and Port for the server you want to join.
The default for IP is 127.0.0.1 which means this computer/device so we wont need to change this part.
The Port however is whatever the port number you picked for the server. I recommended 7000 because its the default on this screen. You can always change this though.
Hit Join Private once you’re ready
If it worked, your client should have joined the server and be thrown into the game

Now play and test. If something is breaking, try to work with the debugger. If you’re running the example unchange, the default game controls are here:
Not Connecting?
If you are unable to connect, make sure the Network Settings for server’s listening IP is what the client is trying to manually connect to. The port may be used already by something else, so try a few different ones before digging deeper. You may have also gotten blocked by your firewall, double check those settings and white list your build and probably Unity too.