// Use this for initialization
        void Start()
        {
            if (networkManager == null && FindObjectsOfType <VRTracker.Network.VRT_NetworkManager>().Length > 0)
            {
                networkManager = FindObjectsOfType <VRTracker.Network.VRT_NetworkManager>()[0];
            }

            playersBoundary = new List <VRT_PlayerBoundaryRenderer> ();

            if (playerNetworkIdentity == null)
            {
                playerNetworkIdentity = GetComponentInParent <NetworkIdentity> ();
            }

            if (!playerNetworkIdentity.isLocalPlayer)
            {
                return;
            }

            networkManager.OnPlayerJoin  += OnPlayerJoin;
            networkManager.OnPlayerLeave += OnPlayerLeave;

            if (playerBoundary == null)
            {
                playerBoundary = gameObject.GetComponent <VRT_PlayerBoundaryRenderer> ();
            }

            if (playerBoundary == null)
            {
                Debug.LogError("The player does not have a PlayerBoundaryRenderer");
            }

            FindPlayersBoundary();
        }
        /// <summary>
        /// Callback to handle new player joining the game
        /// </summary>
        /// <param name="player">Player.</param>
        void OnPlayerJoin(VRT_PlayerInstance player)
        {
            VRT_PlayerBoundaryRenderer playerBoundaryRenderer = player.GetComponent <VRT_PlayerBoundaryRenderer> ();

            if (playerBoundaryRenderer != null)
            {
                playersBoundary.Add(playerBoundaryRenderer);
            }
        }
        /// <summary>
        /// Callback to handle new player leaving the game
        /// </summary>
        /// <param name="player">Player.</param>
        void OnPlayerLeave(VRT_PlayerInstance player)
        {
            VRT_PlayerBoundaryRenderer playerBoundaryRenderer = player.GetComponent <VRT_PlayerBoundaryRenderer> ();

            if (playerBoundaryRenderer != null)
            {
                playersBoundary.Remove(playerBoundaryRenderer);
            }
        }
        /// <summary>
        /// Finds all players boundaries using the PlayerBoundary Tag.
        /// </summary>
        void FindPlayersBoundary()
        {
            playersBoundary = new List <VRT_PlayerBoundaryRenderer> ();
            GameObject[] playerBoundaryObjects = GameObject.FindGameObjectsWithTag("PlayerBoundary");

            // Find boundaries using Tag
            foreach (GameObject playerBoundaryObject in playerBoundaryObjects)
            {
                VRT_PlayerBoundaryRenderer renderer = playerBoundaryObject.GetComponent <VRT_PlayerBoundaryRenderer> ();
                if (playerBoundaryObject != null && renderer != null && renderer != playerBoundary)
                {
                    playersBoundary.Add(playerBoundaryObject.GetComponent <VRT_PlayerBoundaryRenderer>());
                }
            }
        }