Interaction System Help

When working with CPP+BP interfaces, avoid using Cast and avoid calling interface functions directly.

For testing interface, use

if (HitActor->Implements<UInteract_Interface>())
{
    //...
}

Store only the AActor* (or UObject*) in a variable, you don’t need a pointer to the interface.

When calling interface function, use

IInteract_Interface::Execute_ShowInteractionPrompt(HitActor);

IInteract_Interface::Execute_Interact(CurrentInteractableActor);