No. You Could use USphereComponent* 's, for example, that have overlap functions bound to them in the constructor;
InteractionSphere = PCIP.CreateDefaultSubobject<USphereComponent>(this, TEXT("InteractionSphere")); InteractionSphere->OnComponentBeginOverlap.AddDynamic(this, &AMyClass::OnBeginOverlap); InteractionSphere->OnComponentEndOverlap.AddDynamic(this, &AMyClass::OnEndOverlap); InteractionSphere->AttachTo(RootComponent); InteractionSphere->SetSphereRadius(200.f);
They are attached to the root component and appear after the root component in the components hierarchy in the BP…
The interactionSphere would be declared;
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Interaction") class USphereComponent* InteractionSphere;
in the header…
Hope that helps!