I switched my class over to using a default constructor. However once I reverted CircularBuffer.h to remove the default constructor I added, the problem returned. My class is inherits from USceneComponent. Here’s what’s happening:
Build.h contains
#define WITH_HOT_RELOAD_CTORS 1
In [ProjectName].generated.cpp, there is a line:
DEFINE_VTABLE_PTR_HELPER_CTOR(UVerletVelocityTrackerCmp);
ObjectBase.h defines that macro as follows when WITH_HOT_RELOAD_CTORS is nonzero:
#define DEFINE_VTABLE_PTR_HELPER_CTOR(TClass) \
TClass::TClass(FVTableHelper& Helper) : Super(Helper) {};
Unreal is generating a constructor for my class for hot reload which relies on default constructors for all of the fields. This is the detail I wasn’t remembering from before. I understand if the nature of the build tool makes this specific thing I’m trying to do impossible, but I wanted to bring it up in case it sounded like a bug.
Thanks.