I am implementing a system where when a player enters a trigger box he/she enters a cover state. The problem is whenever one player enters the trigger box, it causes all the players in the match to enter a cover state.
Get Player Character will get the Pawn of the player a given index, the player index is used is situation where multiple players are on the same computer/console (they match the indicators on your gamepad for example).
I guess what you want to do is to only enter cover the actor that is overlapping your volume, you can achieve this by using the ‘Other Actor’ pin from the begin/end overlap events and cast it to your character class. The overlap event will be called on each client locally so only have to act if you are the owner of that actor.
If you are doing a network game you would set the cover state for the actor locally if you are the owner (your own pawn) and then call a server method to do the same. The server would then replicate the state back to all clients (they will then simulate your move on their own), this way you would see the cover change intermediately in the owning client giving you a much smoother behavior, the server could deny the cover move though in which case you have to inform the owning client too.