My Observation when Box set to move only on the client

I set the box to move only on the client by negating the HasAuthority function check.

void AMovingPlatform::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	if (HasAuthority()==false)
	{
		FVector Location = GetActorLocation();
		Location += FVector(MoveVelocity * DeltaTime, 0, 0);
		SetActorLocation(Location);
	}
}

My Observations:

  • The box only moves on the client.
  • When I tried to jump on the box or move through it, the player starts to glitch out.

What I think is going on:

  • The client is setting the values of player transform based on inputs and physics but at the very next frame, the transform values are reset with those received from the server.
  • Both the pawn controlled by Server and Client glitch out only on the server when some out of syncing happens but the copies on server behaves as they should on the server according to the map.

Inference:
Whatever server believes is true, is forced down on the clients.