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;
            }
        }