The `Curve On Surface` component expects the curve points to be specified in (u,v) coordinates. This is a requirement as only those types of coordinates will actually be *on* the surface. Regular (x,y,z) coordinates could be anywhere and are not guaranteed to be anywhere near the base surface.

So instead of just plugging in (x,y,z) points, you need to convert them into (u,v) points first. The `Surface Closest Point` component does this. It’ll tell you both the (x,y,z) point coincident with the surface which is closest to your input point, *and* the (u,v) coordinates of that same point.