Вот эти два скрипта (не считая стандартных CharacterController'ов)
var remoteIP = "127.0.0.1"; 
 var remotePort = 25000; 
 var listenPort = 25000; 
 var useNAT = false; 
 var yourIP = ""; 
 var yourPort = ""; 
 function OnGUI () { 
 if (Network.peerType == NetworkPeerType.Disconnected){ 
 if (GUI.Button (new Rect(10,10,100,30),"Connect")){ 
 Network.useNat = useNAT; 
 Network.Connect(remoteIP, remotePort); 
 } 
 if (GUI.Button (new Rect(10,50,100,30),"Start Server")){ 
 Network.useNat = useNAT; 
 // Создание Сервера 
 Network.InitializeServer(32, listenPort); 
 // Сказать нашим объектам, что уровень и сеть готова к работе 
 for (var go : GameObject in FindObjectsOfType(GameObject)) 
 { 
 go.SendMessage("OnNetworkLoadedLevel",SendMessageOptions.DontRequireReceiver); 
 } 
 } 
 // Создаем поля  ip адрес и port 
 remoteIP = GUI.TextField(new Rect(120,10,100,20),remoteIP); 
 remotePort = parseInt(GUI.TextField(new 
 Rect(230,10,40,20),remotePort.ToString())); 
 } 
 else 
 { 
 // Получаем твой  ip адрес и port 
 ipaddress = Network.player.ipAddress; 
 port = Network.player.port.ToString(); 
 GUI.Label(new Rect(140,20,250,40),"IP Adress: "+ipaddress+":"+port); 
 if (GUI.Button (new Rect(10,10,100,50),"Disconnect")) 
 { 
 // Отключение от Сервера 
 Network.Disconnect(200); 
 } 
 } 
 } 
 function OnConnectedToServer () { 
 // Сказать всем объектам что сцена и сеть готовы 
 for (var go : GameObject in FindObjectsOfType(GameObject)) 
 go.SendMessage("OnNetworkLoadedLevel",SendMessageOptions.DontRequireReceiver); 
 }var PlayerPrefab : GameObject; 
 var MinePlayer : GameObject; 
 function OnNetworkLoadedLevel () { 
 MinePlayer = Network.Instantiate(PlayerPrefab, transform.position, transform.rotation, 0); 
 } 
 function OnPlayerDisconnected (player : NetworkPlayer) { 
 Network.RemoveRPCs(player, 0); 
 Network.DestroyPlayerObjects(player); 
 }