fill amount not updating

Hi any idea why my fill amount on the image is not changing? the text updates fine and goes down 99,98 ect ect but the fill amount stays fixed

public float Hunger;
	public float MaxHunger = 1f;

	public float Thirst;
	public float MaxThirst = 1f;

	public Text Hungertxt;
	public Text Thirsttxt;
	public Text Healthtxt;
	public Text Staminatxt;

	public Image HungerImg;
	public Image ThirstImg;

void Update()
	{
		Hungertxt.text = Hunger.ToString()+ "%";
		HungerImg.fillAmount = Hunger;
		Thirsttxt.text = Thirst.ToString()+ "%";
		ThirstImg.fillAmount = Thirst;
		Staminatxt.text = currentExhaustion.ToString()+"%";
}



void Start()
	{
		InvokeRepeating("LowerHunger", 10f, 10f);
		InvokeRepeating("LowerThirst", 5f, 5f);
		Hunger = MaxHunger;
		Thirst = MaxThirst;

	}



void LowerHunger()
	{
		Hunger = Hunger - 1;
		if (Hunger <= 0F)
		{
			Hunger = 0F;
			InvokeRepeating("LowerHealth", 1f, 1f);
		}
	}



	void LowerThirst()
	{
		Thirst = Thirst - 1;
		if (Thirst <= 0F)
		{
			Thirst = 0F;
			InvokeRepeating("LowerHealth", 1f, 1f);
		}
	}

The fillAmount takes a float value between the range of 0 and 1.

You start with MaxHunger of 1 and set an invoke repeating for LowerHunger that will be called after 10 seconds and repeat each 10 seconds.

So after first call to it, as per your LowerHunger the Hunger amount will be 0 in first call and will remain the same thereafter as per code in your LowerHunger method.

So what should happen is the fillAmount will remain 1 for first 10 seconds and then will change to 0 inside LowerHunger() as per:

Hunger = Hunger - 1;

I guess you want to deduct 10 percent of amount each time it is called, then that line inside LowerHunger() should be:

Hunger = Hunger - 0.10f;