Handling death counts should be in the Player Controller (Server-Side). Create a Deaths (int) replicated variable. On death you increment that value for the given player.
At the end of the game you look loop the GS PlayerArray (get game State → Get PlayerArray). The player array is an array of all Player Controllers.
Create a Function to return the winner via Looping the PlayerArray getting the Deaths value and comparing it to a local. The locals default value is enormous, so player values will always be lower.
You’ll probably want to consider Ties. Multiple players could have 1 death or 0 deaths.
For matching deaths greater than zero you look at who died last. So each time you increment a death in the controller you’d update a new variable classed Last Death Time (gametime). Your loop would then change to:
((Deaths <= Least Deaths) && ( Last Death Time < Current Last Death Time))
For multiple zero death situations you’ll need another criteria like score to weigh against. Or just use score for both scenarios.
you’ll want to move it to the player state ideally
Track whos died and how and whatever else that everyone will need to see in your playerstate, then in gamemode you can access all of them and loop threw the array of playerstates
This will help it all make sense, on who can access what
rounds live on the gamestate. keep one replicated int CurrentRound and one replicated timer value there, and let the gamemode drive it server-side: set timer by function for 60s → on fire, increment CurrentRound and reset. even cleaner: store RoundEndTime = server world time + 60 and let clients compute the countdown locally from it, so you are not replicating a changing number every second — GameState already replicates ServerWorldTimeSeconds for exactly this.
for the deaths: Nightwolf has the right shape — a replicated int on each playerstate, written server-only from the death event (never let clients write their own score). when round 5 ends, the gamemode loops GameState → PlayerArray, sorts by deaths ascending, and index 0 is your winner; push the results through the gamestate so every client renders the same podium.
btw Multiplayer Quiz Trivia Ultimate Game Template Kit, a multiplayer quiz trivia game template for Unreal Engine, has that skeleton working — round/timer state on the gamestate, per-player results on replicated playerstates, end-of-match ranking from the sorted player array. swapping deaths for wrong answers gets you a quiz round system: Multiplayer Quiz Trivia Ultimate Game Template Kit | Fab