How do I make a BlueprintNativeEvent in a UPrimitiveComponent?

I created a component class. I want to override one of its functions in a blueprint.
Header file:

UFUNCTION(BlueprintNativeEvent, Category = Spawner)
  void OnSpawn(AActor* SpawnedActor);

Implementation file:

void USpawnerComponent::OnSpawn_Implementation(AActor* SpawnedActor)
{
}

In the editor, I create a blueprint and attach SpawnerComponent to that blueprint. This event is not listed anywhere. How do I create a C++ function for a component that I can override in a blueprint? I can make this work just fine when I derive from Actor, but I want a component so I can attach it to other actors.