How to create an actor with multiple interactable parts?

You need to make a single actor component for interactions system that can handle multiple interactions under a hierarchy. Like array of interaction points that takes some arguments : Interaction Name : SceneComponent

Under hierarcy you can create a new scenecomponent addition like : InteractableSceneComponent
assign as mentioned to array.

Now you have specific scene components coralated with some actions data, in specific places of car.

You have to select what player is trying to interact depending on the camera look or someother method and prioritize current interaction for player. UI works also here to get position from world to screen and show indicators.

When player press a button to interact, you need to catch current interacted element and dispatch an event for that particular element in InteractionActorComponent

After Interacted event has happened, you can branch into specific gameplay logic, door open get out, radio switch etc.

If you want to be more tidy and design wise more extendable, you can use GAS for catching these events and they activate specific ability on car, CarAbilityRadio_ABP->TuneForward/Back. That way you don’t have to make radio tuning for each car logic, car radio tune becomes agnostic from car vehicle itself.


If you want to be more simple,
A simple actor with interaction data
When Actor is between camera angle some degrees show ui
Oninteraction fire an event with data
Catch that event in vehicle and do whatever.

Now you can place multiple interaction actors in car and attach them to sockets.
Prototype wise this approach ok, production wise would create many problems and won’t be usefull in long term UX wise.