Quick answer: Interface Message nodes silently no-op if the target doesn’t implement the interface. Add the interface to the target BP and implement the event; guard with Does Implement Interface.

An interaction system sends an “OnInteract” interface Message to whatever the player looks at. Nothing happens — the target doesn’t implement the interface, so the message goes nowhere.

Message vs Call

The “safe” behavior of Message is exactly why your call vanishes — it’s not erroring, it’s no-oping.

Implement on the Target

  1. Open the target Blueprint → Class Settings → Implemented Interfaces → Add your interface.
  2. In the My Blueprint panel, find the interface event under Interfaces and implement it.

Just adding the interface isn’t enough — you must implement the event/function too.

Guard With Does Implement Interface

Branch (Does Implement Interface: BPI_Interactable)
  True  -> OnInteract (Message)
  False -> (show "can't interact" feedback)

Makes the intent explicit and lets you give the player feedback for non-interactable objects.

Verifying

Look at an interactable object and interact — its event fires. Look at a wall — the guard catches it. No silent failures.

“Interface Messages are fire-and-forget. The target must implement the interface AND the event.”

For C++ interfaces called from Blueprint, the implementing class must mark functions BlueprintNativeEvent or BlueprintImplementableEvent to be reachable.