SplineUtility.EvaluatePosition returns unexpected value

Hi,
Trying to find a float3 coordinate along a spline using a float between 0 and 1.

public Vector3 EvaluateRailPos(float _normalisedRailPos)
{
      return SplineUtility.EvaluatePosition(railSpline, _normalisedRailPos);
}

For some reason, instead of returning the x, y, z coordinates as expected, the function simply returns a float3 with the float from 0 to 1 (_normalisedRailPos) as the x value. (i.e. (0.15, 0, 0.) These are obviously not the coordinates I’m after.

I’ve verified that railSpline is indeed the correct ISpline (I’m referencing it other times in the code in SplineUtility functions with no unexpected behaviour). _normalisedRailPos is also definitely a float from 0 to 1, as expected.

I thought that the coordinates might be the coordinates local to the spline, so I tried converting them to global coordinates, but this had no effect (it shouldn’t matter anyway since EvaluatePosition supposedly returns global coords.)

Any help is appreciated, I’m stumped.

I believe if you use EvaluatePosition on a Spline, it is in local space. If you use it on a SplineContainer, it is in worldspace.