Right now, I am a little lost. I reinstalled all Opsive components to be sure that I am on the latest version. Now I get another weird behavior. I enter my car on the local client. I use teleport to get rid of the animation stuff for the time being. The player on the remote client also enters the car. But in the next frame the player receives an SetPositionAndRotationRPC that forces the remote player to immediately exit the car again. Call stack on the remote client below.
I also saw that you changed the behavior of the standard drive ability in case of networking. But I don't understand your comments that the IDriveSource has to take over the notification of the remote players.
I think we need a diagram how the drive ability is supposed to work over the network. Then we can better trace issues. If you already have something, let me know, otherwise I will try drawing something from what I see in the code, and how I think states should be managed.
Vehicle exited BaseCharacterPUN(Clone)
UnityEngine.Debug:Log(Object)
Ai.Atnc.Car.VehicleRideAbility:OnExitedVehicle() (at Assets/_ATNC/Scripts/Car/VehicleRideAbility.cs:312)
Ai.Atnc.Car.VehicleRideAbility:WillTryStopAbility() (at Assets/_ATNC/Scripts/Car/VehicleRideAbility.cs:302)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:TryStopAbility(Ability, Boolean) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1414)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:StopAllAbilities(Boolean) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:2250)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:SetPositionAndRotation(Vector3, Quaternion, Boolean, Boolean) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1970)
Opsive.UltimateCharacterController.Character.UltimateCharacterLocomotion:SetPositionAndRotation(Vector3, Quaternion, Boolean) (at Assets/Opsive/UltimateCharacterController/Scripts/Character/UltimateCharacterLocomotion.cs:1953)
Opsive.UltimateCharacterController.AddOns.Multiplayer.PhotonPun.Character.PunCharacter:SetPositionAndRotationRPC(Vector3, Quaternion, Boolean) (at Assets/Opsive/UltimateCharacterController/Add-Ons/Multiplayer/PhotonPUN/Scripts/Character/PunCharacter.cs:945)
System.Reflection.MethodBase:Invoke(Object, Object[])
Photon.Pun.PhotonNetwork:ExecuteRpc(Hashtable, Player) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:538)
Photon.Pun.PhotonNetwork:OnEvent(EventData) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:2156)
Photon.Realtime.LoadBalancingClient:OnEvent(EventData) (at Assets/Photon/PhotonRealtime/Code/LoadBalancingClient.cs:3142)
ExitGames.Client.Photon.PeerBase
eserializeMessageAndCallback(StreamBuffer)
ExitGames.Client.Photon.EnetPeer
ispatchIncomingCommands()
ExitGames.Client.Photon.PhotonPeer
ispatchIncomingCommands()
Photon.Pun.PhotonHandler
ispatch() (at Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs:208)
Photon.Pun.PhotonHandler:FixedUpdate() (at Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs:142)