Spawn on a sphere

The principal is still the same, just pick the vector somehow meaningfully.

Not 100% sure i wrote the math correctly, but something along those lines should work

float VerticalStep = 10;
float HorizontalStep = 20;
float Radius = 1234;
for(float i = 0; i < 180; i+=VerticalStep)
    for(float j = 0; j <= 360; i+=HorizontalStep)
    {
       FVector Dir = FVector::UpVector;
       Dir = Dir.RotateAngleAxis(i, FVector(0,1,0));
       Dir = Dir.RotateAngleAxis(j, FVector(0,0,1));
       DrawMyObject(Center, Radius, Dir);
    }

Maybe HorizontalStep should also depends on VerticalStep instead of being independed constant value