// Use this for initialization void Start() { ARSubsystemManager.subsystemFilter = m_subsystemFilter; IPAddressText.text = GetLocalIPAddress(); Screen.sleepTimeout = SleepTimeout.NeverSleep; dataReceiver = new DataReceiver(screenStreamer, null); dataReceiver.HelloMessageCallback = (legacyPath) => { isLegacyPath = legacyPath; isConnected = true; if (remotePath == null) { didStart = false; if (isLegacyPath) { remotePath = new LegacyRemotePath(); } else { remotePath = new ARRemotePath(dataReceiver); (remotePath as ARRemotePath).SetCamera(arCamera); (remotePath as ARRemotePath).SetSyncFrame(syncedFrame); } } }; // Create legacy direct connection provider connectionProvider = new DirectConnectionProvider(); ((DirectConnectionProvider)connectionProvider).hasNoDelay = true; connectionProvider.OnDisconnected += ConnectionProvider_OnDisconnected; connectionProvider.OnDataReceived += ConnectionProvider_OnDataReceived; connectionProvider.OnStreamReceived += ConnectionProvider_OnStreamReceived; connectionProvider.Initialize(); connectionProvider.StartListening(); // register the callback when enabling object Camera.onPreRender += MyPreRender; Camera.onPostRender += MyPostRender; Client = new UdpClient(AddressFamily.InterNetwork); #if ENABLE_BROADCAST StartCoroutine(BroadcastIPAddress()); #endif }