Seeing what you are trying to achieve, let’s try another way.
You want to create an object that would be outside the radius of a circle with the player position at the center.
The other way could be to first get a random direction and then get a random distance greater than distance.
void CreateAtDistance(){
Vector3 direction = new Vector3(Random.Range(-1.0f,1.0f),Random.Range(-1.0f,1.0f),0);
direction.Normalize();
float distance = Random.Range(minDistance, 50);
direction *= distance;
NewPosition = Position + direction;
}
You will have to try this as I cannot…but the idea is as I said, first define a direction. Then you normalize the vector so that it has length 1. Then you multiply by a value between minDistance and max distance (I chose 50).
Then you multiply the vector to extend it. Then you do an addition of the position and the direction.