Create Arrow grouping mechanic like the game arrowfest?

I am creating a game that kind of requires the mechanic of arrows in the following game arrow fest (- YouTube). I can’t seem to figure out how to do that arrow grouping and circling? I thought of spawning objects around player in circles and I used the following code

    private void UpdateCircle()
        for (int i = 0; i < instantiateList.Count; i++)
            float angle = i * Mathf.PI * 2f / instantiateList.Count;
            Vector3 newPos = new Vector3(Mathf.Cos(angle) * radius, Mathf.Sin(angle) * radius, 0);
            instantiateList*.transform.localPosition = newPos;*

But it didn’t work as I wanted and in the video. I wanted to ask if there is a better way to achieve such seamless grouping of objects around the player? Any ideas, tips, resources will be appreciated.

I think the arrows are just spiraling out from the center with a consistent expansion, when there are a lot of arrows you can see the colors make a sort of fractal pattern. Basically, for each i you make the angle smaller and smaller, and you multiply the radius by i times a small distance. The small distance should also get smaller and smaller as i gets bigger. Another way you can do it is to make a Vector3 called “toNextArrow” or something, and every time you add an arrow you rotate this vector and make it slightly longer. The next arrow is then lastArrowPosition + toNextArrow. It will take a lot of tweaking to make it look nice though so make it easy to change some of these variables in the inspector.