I think the update spline is needlessly complicated … if using addsplinepoint it is rather easy:
void AVRCHAR::UpdateSplinePath(const TArray<FVector>& path)
{
TeleportSpline->ClearSplinePoints();
for (FVector vec : path)
{
TeleportSpline->AddSplinePoint(vec, ESplineCoordinateSpace::World, false);
}
TeleportSpline->UpdateSpline();
}