RemoveClientAuthority() still seems to be broken in 5.2.1

My scenario is I want a player to be able to enter a vehicle, enabling client control over it, then exit it, freeing it up for use by other clients. Pretty straightforward.

Everything works great up until a CLIENT wants to EXIT a vehicle. The client sends a command to the server to RemoveClientAuthority() but something seems to go wrong. While the host can now enter the vehicle, his motions are not reflected on the client’s view, and when he gets out, the vehicle “snaps” back to the position it was in when he got in. The vehicle has a NetworkTransform component, set to RigidBody3D.

Here are my two very simple functions:

[SyncVar] private GameObject currentVehicle;

[Command]
void CmdEnterVehicle(GameObject vehicle)
{
    currentVehicle = vehicle;
    vehicle.GetComponent<NetworkIdentity>().AssignClientAuthority(connectionToClient);
}

[Command]
void CmdExitVehicle(GameObject vehicle)
{
    vehicle.GetComponent<NetworkIdentity>().RemoveClientAuthority(connectionToClient);
    currentVehicle = null;
}

According to this thread which had discussion of a similar-sounding problem, it was filed as a bug here, and despite being marked as “fixed”, it still seems to be wonky.

Yep, seeing this problem as well and it’s something I can’t “work around” so we’ve basically stopped work until this is addressed!

This fix will be in 5.2.1p3

Awesome! Glad to hear.

Was this really fixed ?
I’m on Unity 5.3.5, and on RemoveClientAuthority() object “snaps” back, and then “slides (interpolates)” to the correct position. This problem only occuring on clients, never on host.
I’m using “Rigidbody 2D sync” mode on network transform. (If use transform sync there’s no such problem.)

I have the same problem :frowning:

5.4.0 F3, same.