OnBeginOverlap from c++ not working

Do you need to actually set a RootComponent? (I also ask this to the community, not rhetorically!)

In my C++ actors, following from examples, I’ve always called CreateDefaultSubobject, like you have. Then with one of them, set it as the RootComponent. So in your case, something like:

...
TriggerBox = CreateDefaultSubobject<UBoxComponent>( TEXT( "TriggerBox" ) );
RootComponent = TriggerBox;
...

I’m wondering if there must be a RootComponent set, before you can then call AttachToComponent( GetRootComponent()…, lest that return a NULL/nullptr?