Multiplayer Nicknames

Hello, I’m having some trouble with nicknames. I am trying to make a 2 player game. On startup, the player is prompted asking for a username to use for the session, the string is then stored on an empty gameobject to be used for later. How would I go about getting the OTHER player’s name? Meaning, if you were player one, how could you get player two’s name stored in a string for use?

My script so far -

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class LobbyHandler : MonoBehaviour {
	public Text playerOneName;
	public Text playerTwoName;
	public GameObject Scripts;
	public string playerOneNameString;
	public string playerTwoNameString;
	NetworkViewID viewID;
	public string myName;
	void Awake () {
		Scripts = GameObject.Find("_Scripts");
		playerOneName.text = "<Loading>";
		playerTwoName.text = "<Waiting>";
	}
	void OnPlayerConnected() {
		SetLobbyStatsFunction();
	}
	public void SetLobbyStatsFunction () {
		myName = Scripts.GetComponent<PlayerStats>().Username;
		StartCoroutine (SetLobbyStats());
	}
	IEnumerator SetLobbyStats () {
		yield return new WaitForSeconds(1);
		if (Scripts.GetComponent<PlayerStats> ().isPlayerOne == true) {
			GetComponent<NetworkView>().RPC("AssignPlayerOne", RPCMode.AllBuffered, viewID, myName);
		} else {
			GetComponent<NetworkView>().RPC("AssignPlayerTwo", RPCMode.AllBuffered, viewID, myName);
		}
	}
	[RPC]
	void AssignPlayerOne(NetworkViewID viewID, string myName) {
		playerOneNameString = Scripts.GetComponent<PlayerStats>().Username;
		playerOneName.text = Scripts.GetComponent<PlayerStats>().Username;
	}
	[RPC]
	void AssignPlayerTwo(NetworkViewID viewID, string myName) {
		playerTwoNameString = Scripts.GetComponent<PlayerStats>().Username;
		playerTwoName.text = Scripts.GetComponent<PlayerStats>().Username;
	}
}

Well the easiest thing that I can think of is if you are already having both people sign in why not do an RPC call to update the second player name? Something like the following:

[RPC]
void AssignPlayerTwo(string myName){
     playerTwoName.text = myName;
}

Then to call it simply have something like:

GetComponent<NetworkView>().RPC("AssignPlayerTwo", RPCMode.OthersBuffered, "HereIsMyName");

What “OthersBuffered” does is as soon as someone connects to you it will assign their second player name to whatever name you passed into that function.
Then just have the same name to your first player. So putting it all together would look something like this:

var playerOneName = "";
var playerTwoName = "";

FirstPlayer = "HereIsMyName";
GetComponent<NetworkView>().RPC("AssignPlayerTwo", RPCMode.OthersBuffered, FirstPlayer);

[RPC]
void AssignPlayerTwo(string: Name)
{
   playerTwoName = Name;
}

This way if you are connecting your playerTwoName is assigned. If your are host your player one name is assigned. Hopefully this all makes sense. Have you tried something like this already? The above script isn’t exact as you can tell but hopefully gives you a good idea of what you might be able to do.