Skip to content

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.

Derive from UMIPBaseNPCInteractableComponent and add 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.


See Also