Есть достаточно большое количество способов организовать взаимодействие между персонажем и окружающими его объектами. Предлагаю посмотреть один из вариантов.
Суть метода такова:
В классе персонажа создается Event Dispatcher. Закрепляем его вызов к примеру за клавишей "Q".
Во все классы с которым будет происходить взаимодействие добавляем Box Collision и настраиваем его на overlap event. Event Graph на OnComponentBeginOverlap(Box Collision) делаем каст на нашего персонажа и биндим события на Event Dispatcher , которые мы хотим что бы выполнялись по нажатию клавиши "Q".
На OnComponentEndOverlap(Box Collision) также делаем каст на нашего персонажа, и снимаем все бинды( ну или ток те что закрепили тут) с Event Dispatcher.
Все готово.
Можно сделать отдельный класс так и наследовать от него все объекты, в которых будет взаимодействие, но настраивать думаю придется box для каждого, да и события могут отличаться, которые будем биндить.