//Override OnClientConnect to detect if the player is using VR public override void OnClientConnect(NetworkConnection conn) { base.OnClientConnect(conn); CreateVrPlayerMessage newPlayerMessage = new CreateVrPlayerMessage { isVrPlayer = UnityEngine.XR.XRDevice.isPresent }; conn.Send(newPlayerMessage); //SpawnMessage extraMessage = new SpawnMessage (); //extraMessage.isVrPlayer = UnityEngine.XR.XRSettings.enabled; // NetworkConnection readyConn, byte[] extraData //ClientScene.AddPlayer (client.connection, 0, extraMessage); //ClientScene.AddPlayer(conn, null); }
//Custom method for setting up Vr and Non-Vr players void OnCreatePlayer(NetworkConnection conn, CreateVrPlayerMessage message) { GameObject emptyGO = new GameObject(); Transform newTransform = emptyGO.transform; Transform spawnPoint = newTransform; GameObject newPlayer; if (message.isVrPlayer) { newPlayer = (GameObject)Instantiate(this.vrPlayerPrefab, spawnPoint.position, spawnPoint.rotation); } else { newPlayer = (GameObject)Instantiate(this.playerPrefab, spawnPoint.position, spawnPoint.rotation); } NetworkServer.AddPlayerForConnection(conn, newPlayer); playerCount++; }