Interfaces and event dispatchers

Casting does add memory weight. I try to avoid it like the plague and use interfaces. Even Controller, Character, Player state communication is handled with BPI’s.

If you have to cast and you’re casting to the same instance a lot, you should create a reference variable. The process of casting has a little overhead. A variable mitigates that repetitive hit.

I haven’t run into many instances where a cast is absolutely required or better. Animation BP access to character class is the only hard ref I agree with.

End of day I feel the weight of interface vs memory weight of cast is the determining factor.

Using interfaces in a complex way requires a lot of thought and organization. That’s the only downside to them on large complex projects. I usually prototype with casts to determine what all is needed, then create the architecture for BPI’s.


Dispatchers require a cast reference. Only time I use them is for “One to Many” communications. Like a switch that manages many lights etc.

Just my 2 cents.