What's the right way to Spawn a Component at Runtime?

I’m trying to optimize my game by spawning multiple USkeletalMeshComponent instances directly, instead of creating hundreds of empty actors that each contain one component. The goal is to have these components spawned using RegisterComponentWithWorld and make them simulate physics.

Here’s the code I’m using:

if (IsValid(GetWorld()) && IsValid(SkeletalMesh))
{
    USkeletalMeshComponent* SkeletalMeshComponent = NewObject<USkeletalMeshComponent>(GetWorld());
    if (IsValid(SkeletalMeshComponent))
    {
        SkeletalMeshComponent->SetSkeletalMesh(SkeletalMesh, false);
        SkeletalMeshComponent->SetWorldTransform(FTransform(FRotator(0, 0, 0), GetActorLocation(), FVector(1)));
        SkeletalMeshComponent->RegisterComponentWithWorld(GetWorld());

        SkeletalMeshComponent->SetSimulatePhysics(true);
        SkeletalMeshComponent->SetAllBodiesSimulatePhysics(true);
    }
}

Despite the code executing correctly (yes, I’m sure that this code runs), I never see the skeletal mesh components in the world. Even when I scale them up significantly, they still don’t appear. Can anyone help with this issue?

FIXED