private void FixedUpdate() //tried it in update and late update
    {

        InvincibilitySlider.value = InvincibilityTimeElapsed;
        NotInvincibilityslider.value = VisitPickUp;
        InvincibilityFill.color = Gradient1.Evaluate(InvincibilitySlider.normalizedValue);
        NotInvincibilityFill.color = Gradient2.Evaluate(NotInvincibilityslider.normalizedValue);

        if (cpi.isInvincible == false)
        {
            InvincibilityHUD.SetActive(false);

            VisitPickUp = Mathf.Clamp(VisitPickUp - Time.fixedDeltaTime, 0, PickupForInvincibility + 0.1f); // tried changing it to Time.deltaTime
            InvincibilityTimeElapsed = InvincibilityDuration;

            if (VisitPickUp <= 0)
            {
                NotInvincibilityHUD.SetActive(false);
            }

            else if (VisitPickUp >= 0)
            {
                NotInvincibilityHUD.SetActive(true);

                if (VisitPickUp >= PickupForInvincibility)
                {
                    VisitPickUp = PickupForInvincibility;
                    cpi.isInvincible = true;  // Invincibility = true;
                    NotInvincibilityHUD.SetActive(false);
                }
            }
        }

        else if (cpi.isInvincible == true)
        {

            InvincibilityTimeElapsed = Mathf.Clamp(InvincibilityTimeElapsed - Time.fixedDeltaTime, 0, InvincibilityDuration + 0.1f);
            VisitPickUp = 0f;
            InvincibilityHUD.SetActive(true);

            if (InvincibilityTimeElapsed <= 0f)
            {

                cpi.isInvincible = false;
                InvincibilityHUD.SetActive(false);
                NotInvincibilityHUD.SetActive(false);

            }
        }


        if (InvincibilityTimeElapsed == 0 && VisitPickUp == 0f)
        {
            NotInvincibilityHUD.SetActive(false);
            InvincibilityHUD.SetActive(false);
        }

        //all gameObjects are assigned in inspector
    }