NEED HELP: Character - Replacing Default Components

Okay, after quite of an fight I managed to get rid of the default class components, as well as the Arrow with this.

Couldn’t override, Capsule and Movement Components at first, because they were tagged as required, but now it works.

ACndCharacter_Master::ACndCharacter_Master(const FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer
	.SetDefaultSubobjectClass<UCndComp_Character_Capsule>(TEXT("CO_CollisionCylinder"))
	.SetDefaultSubobjectClass<UCndComp_Character_Mesh>(TEXT("CO_CharacterMesh"))
	.SetDefaultSubobjectClass<UCndComp_Character_Move>(TEXT("CO_CharMove"))
	.DoNotCreateDefaultSubobject(ACharacter::MeshComponentName)
	.DoNotCreateDefaultSubobject(TEXT("Arrow"))	
	)
		
{

	BPF_Init_SetupComponents();
}

void ACndCharacter_Master::BPF_Init_SetupComponents()
{

	GetCapsuleComponent()->DestroyComponent();

	CO_CndCharacter_Capsule = CreateDefaultSubobject<UCndComp_Character_Capsule>(CndKN_CompNames.Character.Capsule);
CO_CndCharacter_Mesh = CreateDefaultSubobject<UCndComp_Character_Mesh>(CndKN_CompNames.Character.Mesh);

	if (CO_CndCharacter_Mesh)
	{

		CO_CndCharacter_Mesh->SetupAttachment(CO_CndCharacter_Capsule);
	}

	GetCharacterMovement()->DestroyComponent();
	CO_CndCharacter_Move = CreateDefaultSubobject<UCndComp_Character_Move>(CndKN_CompNames.Character.Move);	
	
	if (CO_CndCharacter_Move)
	{

		CO_CndCharacter_Move->UpdatedComponent = CO_CndCharacter_Capsule;
	}

And suprisingly, it’s not crashing the engine.
And to make sure it stays that way for subclasses inheriting Master Class:

ACndCharacter_Player::ACndCharacter_Player(const FObjectInitializer& ObjectInitializer)
	: Super(ObjectInitializer)
{
}