Is BP Interface's function implementation not required?

I just made a simple blueprint interface with 1 function and added that interface to another blueprint. After I compiled that I expected to see an error / warning that the blueprint does not implement the function from interface but no such message is given. Even if I call it and run the game there are no errors / warnings that I’m calling a function that was declared by interface but is not implemented anywhere.
Is that ok? Are functions declared in interfaces not mandatory to be implemented in objects that use those interfaces?

Yes, that’s the beauty of blueprints. Interface functions are implicitly implemented automatically (you can see them in the interfaces list in My Blueprint tab), and you only have to explicitly use a function if you want to do something with it.
Another neat thing about blueprint interfaces as opposed to c++: you don’t have to neither Cast to the interface nor check if a class implements an interface, you can send an interface call to anything you want at any moment, and if it doesn’t implement that interface, the call is simply ignored. You’ll get no error or crash.

3 Likes