Workaround: Construct the DefaultSubobject with ... = CreateDefaultSubobject<UMassAgentComponent>(TEXT("MASS"), true); The issue appears to be that the DefaultSubobject holds a pointer to the CDO ...