MoveTowards w/ Deltas

My server is calculating the speed of a player to the client which is represented as the magnitude of vector x y z. I need to translate the game object by the deltas multiplied by delta time.

My problem is, I’m not exactly doing it right. No errors, just the math isn’t right. Any pointers?

                    Vector3 targetPosition = new Vector3 (movetoX,movetoY,movetoZ);
                    Vector3 deltaF = new Vector3 (deltaX,deltaY,deltaZ);
                 
                    if (deltaF.magnitude != 0)
                    {
                        float step = deltaF.magnitude * Time.deltaTime;
                        transform.position = Vector3.MoveTowards(this.transform.position, targetPosition, step);
                    }

This is the packet contents Server->Client for reference.

struct PlayerPositionUpdateClient_Struct
{
/*0000*/ uint16    spawn_id;
/*0004*/ float    x_pos;                // x coord
/*0004*/ float    y_pos;                // y coord
/*0004*/ float    z_pos;                // z coord
/*0008*/ float    delta_x;            // Change in z
/*0012*/ float    delta_y;            // Change in x
/*0016*/ float    delta_z;            // Change in y
/*0016*/ float    delta_heading;            // Change in y
/*0020*/ int32    animationspeed;        // animation
/*0032*/ float    rotation;            // Directional heading
/*0036*/
};

This project is a 3d WebGL MMO.

The variable names are a bit confusing: “delta” and “velocity” are used interchangeably whereas they are distinct concepts.

What exactly are the data you are receiving from the server?
x_pos, y_pos, z_pos is the current position?
delta_x, delta_y, delta_z is the velocity?

In that the case, I guess the client received the velocity as well to make prediction and update the visual during the time no packet is received.

x_pos, y_pos, z_pos is the target position
delta_x, delta_y, delta_z is the step distance on the axis.
My current gameobject position is; this.transform.position

So x/y/z_pos would look like (-213,30,1)
While delta_x/y/z would look like (1,0.5,0)

So my gameobject.tranform.position change to the target position x/y/z_pos with a per-step distance on delta_x/y/z over time.

//from server: x_pos,y_pos,z_pos
Vector3 targetPosition = new Vector3 (movetoX,movetoY,movetoZ);
//from server: delta_x,delta_y,delta_z
Vector3 deltaF = new Vector3 (deltaX,deltaY,deltaZ);

The speed of the gameobject if its moving fast or slow is dependant on the delta_x/y/z distance. That is the steps on the axis it should travel to get to it’s intended target position.

My main problem is the step part of movetowards.