Must I check for an implemented interface on an object when executing a function by message?

I’ve been developing with Unreal for a long time, and one feature I enjoy using is Blueprint Interfaces. However, I ran into a curiosity I can’t find an answer for.

I’m wondering if, before telling an object to call an interface function on itself, whether or not I absolutely must check whether or not it has that interface. Now, I know my short answer: no. At least, it appears that when I do not check first and still call the function, I get no errors; the object in question simply doesn’t execute anything, because it does not implement the interface in question. But because I have simply always done this practice, I’m wondering if it’s really a decent “best practice” that I’ve brainwashed myself into tediously doing, or if I’m wasting my time.

Is there any trouble in the backend, or any trouble that I could encounter down the line, from abandoning these constant conditional checks?

If the interface isn’t implemented then it’s basically ignored. You would want to check if the interface is there, if it was to drive some other external logic.

Thanks for verifying this!