private void Update() { bool trackingQualityAvailable = false; if (ImmersalSDK.isHWAR) { #if HWAR trackingQualityAvailable = HWARHelper.TryGetTrackingQuality(out m_SLAMTrackingQuality); #endif } else { trackingQualityAvailable = ARHelper.TryGetTrackingQuality(out m_SLAMTrackingQuality); } if (trackingQualityAvailable && this.Localizer != null) { LocalizerStats stats = this.Localizer.stats; if (stats.localizationAttemptCount > 0) { int q = CurrentResults(stats.localizationSuccessCount); if (q > m_SLAMTrackingQuality) { q = m_SLAMTrackingQuality; } if (!m_HasPose && q > 1) { m_HasPose = true; onPoseFound?.Invoke(); } if (m_HasPose && q < 1 && m_SLAMTrackingQuality == 0) { m_HasPose = false; onPoseLost?.Invoke(); } this.TrackingQuality = q; } } if (!isHWAR) { if (!m_bCamConfigDone && cameraManager != null) { ConfigureCamera(); } } }