First you need some method to give them unique IDs, Unreal has that build in, but it is not easy to correctly setup (well it is easy but hard to guess, so read on it first). For eg cedric exi multiplayer docs (google it).
When you have that working correctly, you just broadcast event to all clients with array of id you want to trigger. Then clients check if their id is in array and execute it or ignore. I know it is not optimal because you broadcasting that event to all clients. However after this works, you may move that logic to server side.
Server side version:
- make logic that sends event only to required clients,
- trigger your event in server copy of player controller
- replicate that triggered event, so it goes from server player controller to client side player controller
- from client player controller trigger event in level umg or whatever you need on client side
This setup is probably not optimal, and it is easy to cheat because event is executed from client.
ps, thing that was very confusing for me about multiplayer: same blueprint on client and on server are in fact 2 different actors in 2 different games. It is kind of hard to grasp at first. So if you make switch on authority you have 2 different sets of variables. Because that is confusing i always separated both sides of code as far as i could. For eg server side logic was in player pawn, but all client side i moved to player controller, and used only replicated events. Or when i used game state as server brain, i avoided doing client side code in game state,