Why is the client side character dissappears when possessing another actor?

Hello,

I’m trying to make vehicle possession in multiplayer. This is inside the Third Person Character BP.

The Server custom event is set to run on server, the Client custom event is set to multicast.

Everything is working until the attach actor to actor, but when the possess node gets executed, both the server and client can possess the vehicle, but on the client side the original character just disappears. Also, if the server’s character is in possession of the vehicle, the client side sees that the server’s character disappearing. From the server side, everything looks as intended.

First just run that on server, No multicast.

Set InVehicle to RepNotify, on notify disable collision on the client.

I cant see past the Get node but make sure its replicated/valid on server

I tried everything you wtote,
If I run on server without the multicast, then the character not disappears but not snapping to socket either, just walks away.
RepNotify did nothing (I don’t really understand the “on notify disable collision on the client” part)
Before the get node is just an array for which vehicle is it interacting, but without that just a simple reference works the same.

I made a reorder in the nodes and it is seems to be working now, but with only this socket (root bone), it is disappearing with the others for some reason

how are you handling the Null options here? (0,2,3)
also validate those variables, Vehicle option and combine Ref

but no, put everything on Server, delete the multicast it has no purpose here, attach must be done on server too.

Collision needs to be done on client but thats what the RepNotify is for

I don’t do anything with the 0 2 3 yet (it will be like if the Vehicle Option is for example 3, then it will get the index 3 reference in the array and that will be the parent for the attach)

Do you mean like this? Because it is just not snapping where it need to be. My half solution is setting the root where will be the driver in the modelling program because for some reason, only the root works for both player to see.

again, delete the mulitcast, it all goes on server :slight_smile:

beyond that, verify your variables so off the GET check is valid, and if not valid go back and check the other two variables

I’m sure, I’m doing something wrong but I just cannot get it working. The other variables don’t have is valid options

closer, but the SetActorCollision has to be on RepNotify but we can come back to that later.

so the issue now is you need validate the REF which you’ve done and after the GET node, put a print string or breakpoint on the IsNotValid path and see where it breaks down

I don’t know if this should happen but it is just stops where the breakpoint is but I cannot read anything out from the connections

The output log says this:

so that means its not valid, i assume thats your CombineRef so where is that set?

Handle ALL possession in the Game mode.

RPC the Server (controller Auth Proxy) to Call an event in the GM to handle the possession.

  • Have the GM disable CMC (set movement mode to None), Disable Capsule component collision and Mesh collision, set the mesh and Any attached meshes to Hidden in game.
  • Unpossess the character
  • Attach the character mesh to the Vehicle
  • Possess the vehicle

Reverse for exiting the vehicle.

Alternatively you could attach the character to the seat as if it’s driving. Still have to disable cmc/collisions etc.