Global Variables for every Blueprint scripts?

You’d use them if you wanted to communicate with a bunch of unrelated classes. The interface is a collection of functions with no implementation. The actors with the interface can implement the functions as they see fit.

In short: you call an interface function -sending a message to an actor and it’s up to the actor to interpret it. No need to cast, if the target actor has no interface, or no implementation, the call fails gracefully.