I can’t guarantee these are precise circles but this is the solution I’ve come up with for creating circles for myself.
I am working in the Construction Script for my Blueprint so I’m not sure if this will work as well at run time.
Basically to start with you’ll need to create a variable called SplineRadius (Float) and for keeping it cleaner, SplineNum (Integer).
When you add the spline to your viewport make sure you tick “Closed Loop” in the details panel like below.
Next we need to create the spline points. Below is how I went through and created the spline points with the SplineRadius variable.
Finally we need to alter the tangents to make the curve of the spline a circle. Now I’m sure there is some math you can do to ensure it is completely circle but my cheap easy way was to just get 1.5 X SplineRadius and just use the resulting float as the tangent.
Now in my example when I looped through all the variables the tangents were as follows:
Point 0 = Y Tangent with the returned 1.5 X Radius being Positive
Point 1 = X Tangent with the returned 1.5 X Radius being Negative
Point 2 = Y Tangent with the returned 1.5 X Radius being Negative
Point 3 = X Tangent with the returned 1.5 X Radius being Positive
How to set those tangents you can see in the image below.
You can of course fix the loop if you find a way, just couldn’t figure out a way to make sure that the returned 1.5 X Radius result went to the right tangent and it is easier to make sure you get it all right when it is laid out in full.
In the end you should get a result similar to what you seen below. Further more it means that you can edit the circle to what ever size you need by editing SplineRadius.
Anyways hope that helps. If you figure out the math for making sure that it is in fact a circle instead of my quick solution for the tangent let me know.