Look, just stop and think about it.
“If you press ‘E’ you want your player to do something depending on the surroundings”. Be it Enter/Exit or Pick/Use something. You don’t want to map all of these actions to different keys because soon you’ll run out of keys. You want it to be CONTEXT SENSITIVE.
So in your player BP, you will have the ActionEvent as you already have. But instead of checking the surroundings, check the created flag (boolean variable) for this exact action, if it is allowed or not (e.g. bCanEnterCar).
Create methods (or expose it directly but this is not really good approach, because maybe you’ll want to do something else too when setting the flag in the future e.g. update interface to let player know he can do this action) to set the flag on/off.
Now open the BP of the vehicle, which has the collision component. Implement OnComponentBeginOverlap method, get the player it is overlapping with, cast it to your BP and call the method for setting the flag On.
Now your player is in STATE that is allowing him to enter vehicle ONLY when he presses the key, doesn’t have to, but he CAN.
Then when the player leaves the component volume, turn the flag off the same way.
Done. And you can do this for anything and suddenly you are able to have one key doing multiple actions, all depending on the state of the player and you can even make one collision component to turn on multiple flags on the player and it is all self contained.