Мне кажется, (в юнити не спец), что это происходит из-за того, что вы всегда создаёте новый объект
>Вот код пополнения "сердечек":
spoiler
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Heart : MonoBehaviour
{
private void OnTriggerEnter2D(Collider2D collider)
{
Character character = collider.GetComponent ();
if (character)
{
character.Lives++;
Destroy (gameObject);
}
}
}