BlueprintImplemetable function null in constructor

Constructor is the first code when object is created, at that point object is not fully initiated and link up to reflection system, because of that calling that function in constructor won’t forward the call to blueprint. Not to mention constructor is also called when default class object (CDO) is created and engine it self is not fully initiated so doing any code aside of setting defaults and declaring components is risk of crash on engine start up.

UObjects provides events which allows to inject code in to various initiation stages, most ealiest one you can use is

Which is called when varable values are set to defaults from blueprints, in Actors you can also use this:

Which is called when components are initiated, it called right before BeginPlay only diffrence is it is also called in Editor when you place object on level as well as all previews, rermber that actor not only have gameplay code but also code how actor should behave in editor and previews