One of the best features of BP Interfaces is the ability to retrieve data from another class through the interface. For example my interaction system is coded in an Actor Component that’s added to the Character class. I use interfaces to get data from the character and controller for traces without using a single variable reference.
When you add an output to an interface event it’s converted into a function. Opening the function in the implemented class allows you to edit the function and pass output.
It’s a lot of extra work but well worth it.