Local multiplayer with 1-4 players

This is a system I’ve spent way too much time trying to create. I always seem to get close, but always end up with bugs or broken systems.

I’m trying to make a game where its possible to choose 1-4 players (which will be controlled with a gamepad), and then play a match until one player is left. The game turns into something more of a “survive as long as you can” style if only 1 player is chosen.

How do I go about a system that spawns a certain amount of players and resets when the round is over?
The systems I have created so far either spawns too many players, spawns them at the same PlayerStart, or doesn’t despawn them at the end of the match, leaving the players there until the next match. Even a DestroyActor that destroys every actor in the playercharacter class doesn’t prevent them from respawning the next round, AFTER the level is loaded!

I’ve watched loads of tutorials, but nothing seems to work or fit in my blueprint.
It shouldn’t be that hard, just using a CreatePlayer, assign a playercontroller and where its supposed to spawn, then destroying it when it dies, but it seems to be more complicated than that.
Another important detail is that I can’t destroy the character controlled by playercontroller 0, because the camera actor just flips out and points in the entirely wrong direction.