The concept you’re missing, is blueprint interfaces. Then you can talk to any type of actor ![]()
To be clear, you could make a blueprint called ‘interactive object’, and then make everything in your game inherit from that. Then they would all have the same parent type, and that would be your variable type. But it’s much easier to use BPI, because you can do so immediately without having to modify your inheritance structure.