Create from Base NPC Interactable Component¶
Overview¶
UMIPBaseNPCInteractableComponent is a convenience base class that already wires up the IMIPInteractableComponentInterface boilerplate. Deriving from it is the faster path when you only need to override interaction behavior without setting up the full listener scaffold from scratch.
Step 1: Derive from UMIPBaseNPCInteractableComponent¶
Create a new C++ class and set the parent to UMIPBaseNPCInteractableComponent. Add the required interface function overrides.

UCLASS(Blueprintable, ClassGroup=(Custom), meta=(BlueprintSpawnableComponent))
class UMIPMyNPCInteractableComponent : public UMIPBaseNPCInteractableComponent
{
GENERATED_BODY()
protected:
virtual void OnInteractedServer_Implementation(UObject* InObject, const FGameplayTag& InInteractionTag) override;
virtual void OnInteractedClient_Implementation(UObject* InObject, const FGameplayTag& InInteractionTag) override;
virtual void OnEndInteractedServer_Implementation(UObject* InObject, const FGameplayTag& InInteractionTag) override;
virtual void OnEndInteractedClient_Implementation(UObject* InObject, const FGameplayTag& InInteractionTag) override;
};
Steps 3–7: Follow the Standard Flow¶
After the class is created, follow the remaining steps from the full guide — adding the component to the Player Controller, creating the definition asset, creating the listener Blueprint, and assigning everything together.
- Step 3 — Add to Player Controller
- Step 4 — Create Interaction Definition Asset
- Step 5 — Create Interaction Listener Blueprint
- Step 6 — Assign the Listener in Player Controller
- Step 7 — Assign to InteractionInstancesDefinitionAsset