What if parameters are updated only on the client?

When we enforce the (!HasAuthority()) and perform the movement on the client only:

The client instance will behave as expected, but as the server is the authoritative version, then the ‘real’ parameters are that of the server, as the client and server are concerned.

It is the character replication logic that has its own way of enforcing the server state that lets us see the difference in the cube.