Quick answer: Unreal blueprint interface call returning false on an actor component that implements it? Interface dispatch only checks the actor, not its components - call Implements_Interface on the component directly.

DoesImplementInterface(Actor, IInteractable) returns false even though UInteractableComponent on that actor implements IInteractable.

Search the components

auto Comp = Actor->FindComponentByInterface(UInteractable::StaticClass());
if (Comp) IInteractable::Execute_Interact(Comp);

Interface implementation is per-UObject. Components are UObjects but not the actor's UClass.

Forward from the actor

If the actor itself doesn't implement the interface but should look like it does, give it a thin IInteractable_Implementation that forwards to the component. Cleaner for blueprint consumers.

Avoid Get All Actors of Interface

That node is O(n_actors) on every call. If you have many interactable components per actor, build and cache a registry on game start.

“Interfaces in Unreal are per-class - not 'somewhere on the actor's component tree'.”

Build the interactable registry as part of a custom subsystem. Lookup becomes O(1), and your gameplay code stops needing to know which actor type holds the interface.