private void UpdateHitTarget()
        {
            var eyeGazeProvider = CoreServices.InputSystem?.EyeGazeProvider;

            if (eyeGazeProvider != null)
            {
                if (lastEyeSignalUpdateTimeFromET != eyeGazeProvider.Timestamp)
                {
                    lastEyeSignalUpdateTimeFromET = eyeGazeProvider.Timestamp;
                    lastEyeSignalUpdateTimeLocal  = DateTime.UtcNow;

                    // ToDo: Handle raycasting layers
                    RaycastHit hitInfo = default(RaycastHit);
                    Ray        lookRay = new Ray(eyeGazeProvider.GazeOrigin, eyeGazeProvider.GazeDirection.normalized);
                    bool       isHit   = UnityEngine.Physics.Raycast(lookRay, out hitInfo);

                    if (isHit)
                    {
                        LookedAtTarget    = hitInfo.collider.gameObject;
                        LookedAtEyeTarget = LookedAtTarget.GetComponent <EyeTrackingTarget>();
                        LookedAtPoint     = hitInfo.point;
                    }
                    else
                    {
                        LookedAtTarget    = null;
                        LookedAtEyeTarget = null;
                    }
                }
                else if ((DateTime.UtcNow - lastEyeSignalUpdateTimeLocal).TotalMilliseconds > EyeTrackingTimeoutInMilliseconds)
                {
                    LookedAtTarget    = null;
                    LookedAtEyeTarget = null;
                }
            }
        }
        private void UpdateHitTarget()
        {
            if (lastEyeSignalUpdateTimeFromET != CoreServices.InputSystem?.EyeGazeProvider?.Timestamp)
            {
                if ((CoreServices.InputSystem != null) && (CoreServices.InputSystem.EyeGazeProvider != null))
                {
                    lastEyeSignalUpdateTimeFromET = (CoreServices.InputSystem?.EyeGazeProvider?.Timestamp).Value;
                    lastEyeSignalUpdateTimeLocal  = DateTime.UtcNow;

                    if (LookedAtTarget != null)
                    {
                        LookedAtEyeTarget = LookedAtTarget.GetComponent <EyeTrackingTarget>();
                    }
                }
            }
            else if ((DateTime.UtcNow - lastEyeSignalUpdateTimeLocal).TotalMilliseconds > EyeTrackingTimeoutInMilliseconds)
            {
                LookedAtEyeTarget = null;
            }
        }