An Actor can start with having an infinite LifeSpan (set to 0) and then during Run-Time be set to a LifeSpan other than 0 giving it a finite LifeSpan.
“Event Destroyed” is the event that is called when the Actor is destroyed just like “Begin Play” is the Event that is called when the Actor is spawned.
Somewhere in your game you probably have a count of how many space ships you have left. This could be a good place to spawn a new space ship after “Event Destroyed” was called on the old one.
If you are familiar with Event Dispatchers the space ship spawning Blueprint should bind itself to Event Destroyed when spawning a new space ship so it knows when it was destroyed and can prepare to spawn the next one.
This way the space ships themselves don’t have to spawn the next one but it is instead handled in a persistent Blueprint.