private void Update() { if (_detecting) { #if UNITY_EDITOR int markerCount = UnityCompositorInterface.GetLatestArUcoMarkerCount(); if (compositorMarkers == null || compositorMarkers.Length < markerCount) { compositorMarkers = new CompositorMarker[markerCount]; } UnityCompositorInterface.GetLatestArUcoMarkers(markerCount, compositorMarkers); compositorMarkersToProcess.Clear(); for (int i = 0; i < markerCount; i++) { compositorMarkersToProcess.Add(compositorMarkers[i].id, compositorMarkers[i].AsMarker()); } ProcessMarkersFromFrame(compositorMarkersToProcess); #else if (_holoLensCamera.State == CameraState.Ready && !_holoLensCamera.TakeSingle()) { Debug.LogError("Failed to take photo with HoloLensCamera, Camera State: " + _holoLensCamera.State.ToString()); } #endif } if (_nextMarkerUpdate != null) { MarkersUpdated?.Invoke(_nextMarkerUpdate); _nextMarkerUpdate = null; } }