Variables

[SerializeField]
private int vidaMaxima = 100;

private int vida;

Inicializar

void Awake()
{
    vida = vidaMaxima;
}

Recibir daño

public void RecibirDaño(int daño)
{
    vida -= daño;

    vida = Mathf.Max(
        vida,
        0
    );

    if (vida <= 0)
    {
        Morir();
    }
}

Curar

public void Curar(int cantidad)
{
    vida += cantidad;

    vida = Mathf.Min(
        vida,
        vidaMaxima
    );
}

Resumen rápido

Mathf.Max(...)
Mathf.Min(...)