what is the difference between running a function in another blueprint a) via an interface event and b) via a mere function call referencing the function in the other blueprint?
both are possible and i want to limit the times i am using interface events to communicate between blueprints
Blueprint/function Interface is used only when needed like for example an interaction system, you have a sphere collision in your main char and you know there can be many different class that can be interacted so since we don’t know the exact class we use interface in that situation(as there no other proper way to do it, it just come naturally).
Then for normal function with cast, let say you have your health variable in your main char and want to get transfer that var to your health widget, inside the widget widget we can both do an interface function or cast function/event. But since we know the exact class and that class(main char) is already in memory anyway, there no benefit of using interface.
It will just add a non-useful data to your context menu(when right-click on a event graph), in addition to having multiple bp interface asset file which can go messy to organise in folders. I have read there a overhead cost as well with interface function.