You need some kind of differentiation between players. I’d probably add actor tags to the characters to avoid casting, and OnBeginOverlap check if the actor has a specific tag. And if you need to execute something inside the character blueprints, like a death animation, use Blueprint Interfaces to send interface messages to the characters.