Multiplayer Ping/Marker System

Okay, so I’m fairly new at all of this, but I’ve built a blueprint that, when a key (in this case Middle Mouse) is pressed, it shoots a line trace from the first person camera and spawns an Actor with a “Ping/Marker” widget at the impact location, and I’ve managed to replicate it so that both the host and clients can perform the action, as well as see each others pings. The ping Actor then stays visible for a total of 10 seconds before getting destroyed.

Here is the blueprint inside of the First Person Character that handles the input and spawns the actor:

And here is the blueprint for the ping Actor itself, that currently only sets a timer and then destroys the actor:
PingBP

There are a couple of ways that I would like to improve the ping system, and I was hoping that the lovely people on the forum could help me with that.

  1. Currently, pings look exactly the same for every player. I would much prefer it if there was some sort of identifier that shows which player each ping belongs to. This could be a number signifying “Player 1” or “Player 2”, or even something as simple as a different color for each player’s ping.

  2. Next, you can spam as many pings as you would like, and there is nothing but the timer to remove them. Instead, I would like to make it so that, if there is already a ping present, the pre-existing ping gets destroyed before new one is spawned.

Any and all help is greatly appreciated!