I know what interface is, to relate unrelated classes that in class hierarchy with same functionality. Thing is i never needed to do them, because i didn’t need to relate unrelated class to store them i same variable. I also don’t see need for it in your SceneElement example, because i can make all scene elements inherit from SceneElement class, not to mention this way i can apply common functionality as well relative classes may be different and create whole tree of objects, same as all objects on UE4 are relative to Actor class and all Components are are relative to ActorComponent class. Same case with your MainMenuItem, you got base class and then childs of that class… why you need interface here if they are related and you can hold them in single variable and call functions/events declared in base class?,
This obsessive use of interfaces is strange to me, because it does not fit patterns i see in entire UObject envriament, which blueprints are part of (look Class Viewer).