Casting problem related to Player Controller

Well, I presume your BP_PlayerController does not have any collision and thus the overlap never fires for the player controller. Also, you are not handling input here in your graph, I recommend setting up EventDispatchers that handle the input coming into the character, then call the respective EventDispatchers inside the player controller (After the input action events), and anywhere else you might need them.