Component added in construction script not showing under component tree in details

I added a component procedurally, ignore the first if statement it was just something i made on a whim so it wouldnt run every frame.

cpp:

void ACustomPolygonGenerator::OnConstruction(const FTransform& Transform)
{
	if (VertexBillboards.Num() < 1 && Vertices.Num() > 0)
	{
		UPROPERTY(EditAnywhere, BlueprintReadOnly)
		VertexBillboards.Add(NewObject<UMaterialBillboardComponent>(this));
		FAttachmentTransformRules AttachmentTransformRules = FAttachmentTransformRules::KeepWorldTransform;
		VertexBillboards[0]->AttachToComponent(RootComponent, AttachmentTransformRules);
		VertexBillboards[0]->CreationMethod = EComponentCreationMethod::UserConstructionScript;
		VertexBillboards[0]->SetWorldLocation(Vertices[0]);
		RegisterAllComponents();
	}
}

.h:

#pragma once

#include "GameFramework/Actor.h"
#include "CustomPolygonGenerator.generated.h"

UCLASS()
class ROT_API ACustomPolygonGenerator : public AActor
{
	GENERATED_BODY()
	
public:	
	ACustomPolygonGenerator();

protected:
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Meta = (MakeEditWidget = true))
		TArray<FVector> Vertices;
	TArray<int> Tris;
	TArray<FVector2D> Uvs;
	virtual void OnConstruction(const FTransform& Transform) override;
	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TArray<UMaterialBillboardComponent*> VertexBillboards;
	UPROPERTY(EditAnywhere)
	UMaterial* BillboardMaterial;

public:	
};