Una interface define qué operaciones debe ofrecer una clase sin indicar cómo las implementa.

Crear

public interface IDamageable
{
    void RecibirDaño(int cantidad);
}

Implementar

public class Enemy :
    MonoBehaviour,
    IDamageable
{
    public void RecibirDaño(int cantidad)
    {
        Debug.Log("Daño recibido");
    }
}

Uso

if (hit.collider.TryGetComponent<IDamageable>(
    out IDamageable objetivo))
{
    objetivo.RecibirDaño(25);
}

Ventaja

El arma no necesita saber si golpeó:

Solo necesita saber que implementa IDamageable.

Resumen rápido

interface
implementación
desacoplamiento