This is almost exactly the same code used to move a regular non-networked Unity object, except that the time step is not Time.deltaTime but Runner.DeltaTime corresponding to the time between ticks. The secret to why this works across the network on a seemingly local property like the Unity transform is of course the NetworkTransform component added earlier. NetworkTransform is a convenient way to ensure that transform properties are part of the network state.