
The Random class in Unity3D provides the method insideUnitCircle that returns a random Vector2 inside a circle with radius = 1. By calling normalized, the Vector length (or magnitude) will be increased to 1. That effectively puts the random point on the edge of the circle.
The RandomPointOnCircleEdge function returns the random point as a Vector3 where y=0.
private Vector3 RandomPointOnCircleEdge(float radius)
{
var vector2 = Random.insideUnitCircle.normalized * radius;
return new Vector3(vector2.x, 0, vector2.y);
}