I think go with AttachActorToComponent to assign them to skeletal mesh of car, with sockets can be nicer.. you can use AttachActorToActor if your structure doesn’t enables you to use otherwise.
Carefull about the collision channels to overlap or ignore besides interaction channel so you don’t have trouble with cars movement etc.
In terms of downside its hard to tell without knowing your systems deeply however, I see some pain points integrating this system to a car. I would have designed a Inherited interaction class for vehicles in that game so it becomes more managable: Like I can detect sockets on car’s mesh and assign interactions to there etc. There is much more than that to talk about pros and cons about a system especially when it comes to modularity. In the end If it works, it works..
A system in a game quality can be measured by
- Functionality: how efficient it is in complex gameplay situations: EX: I can’t use an interaction outside of the car through windows etc.
- Usability: How easy to use for player also for developers/designers. From integrating interactions to a new car, to debug.
- Extendability : How modular it is if and unexpected mechanics arise to be implemented to existing architecture without exceptions. Forethough, this comes with experience, design thinking and design theory and requires critical thinking.
Let’s not forget how fun, easy, meaningfull it is to use for player. Which is another subjects that every designer tries to tackle in daily lifes.