Spline "Get Location at Distance Along Spline" is returning sporadic values

I am trying to move a unit along a spline. I first did this in the level blueprint and it worked great. Then I decided I wanted to be able to move multiple character along a spline simultaneously. So I moved all the calculation into the unit class. When I did that however the function started returning sporadic values causing my character to fly all over the place. I have been debugging it for several day and all the parameters are exactly the same (between the level blueprint version and the unit version). The spline length is the same, the distance parameter is the same at each step, the spline even draws the same. For some weird reason the values from “Get Location at Distance Along Spline” are all over the place when calculated inside the pawn.