How to get a dynamically created actor to tick?

A dynamically created actor does not call tick and neither does its component. What steps is it missing?

The creation:

void AMainCharacter::BeginPlay()
{
	Super::BeginPlay();
	DefaultDynamicCameraActor = NewObject<ADynamicCameraActor>(this); // <-- DOES NOT TICK
	...

The constructor:

ADynamicCameraActor::ADynamicCameraActor(const FObjectInitializer &ObjectInitializer)
		: Super(ObjectInitializer)
{
	PrimaryActorTick.bCanEverTick = true;
	PrimaryActorTick.bStartWithTickEnabled = true;

	CameraMovementComponent = CreateDefaultSubobject<UCameraMovementComponent>(TEXT("CameraMovementComponent")); // <-- DOES NOT TICK
	...

Begin play:

void ADynamicCameraActor::BeginPlay()
{
	Super::BeginPlay();
}

Tick:

void ADynamicCameraActor::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	UE_LOG(LogTemp, Display, TEXT("Tick Actor")); //<-- NEVER CALLED
}

use GetWorld()->SpawnActor instead of NewObject