En Unity suele ser muy útil preferir composición antes que cadenas de herencia enormes.

Herencia

Enemy
└── FlyingEnemy
    └── ShootingFlyingEnemy
        └── BossShootingFlyingEnemy

Puede volverse rígido.

Composición

Enemy
├── Health
├── Movement
├── Shooter
└── Flying

Cada componente aporta una capacidad.

Ventaja

Podés reutilizar comportamientos.

Ejemplo:

Flying

puede servir tanto para enemigo como para otro objeto.

Unity favorece composición

GameObject + Components ya sigue este modelo.

Resumen rápido

Preferir:

componentes pequeños
+
composición

antes que herencias profundas.