каждую секунду? Зафиксируй время предыдущего применения и сравнивай текущее.
как только разница > 1 секунды: 1. применяешь действие 2. прибавляешь к таймере 1 секунду.
проблема в том, что если при таком подходе будет залагайка, то раз в такт будет "догонять".
Ну на основном скрипте я делаю так Food -= Time.deltaTime / 20 * HungrySpeed, а на другом gameObject.GetComponent<LifeAnim>().Mana -= Time.deltaTime * 1