Thanks for the answer!
I was reading the UE class code and thinking the same way, but I can’t be sure.
Looks like whatever the parameters are, the engine handles the FObjectInitializer, and the only 2 reasons for adding it are either for:
- Correct C++ syntax to compile.
- Access the
DoNotCreateDefaultSubobject
orCreateDefaultSubobjectClass
function.
But looks like some UE plugins/classes that override the default UObject constructor require manually adding it to the derived class constructor.