Download

Multiplayer: possessing question

Hi, i would like to know how you pass true the possessing to a client in a multiplayer setup. i have a setup were i mount/dismount a horse but when you test the setup multiplayer it compleet flips.

on the client the possessing is not shown so the horse stays and the rider still is controlled, as in the SP session this perfectly works mount, ride, dismount. i searched but can not find any good explenation on to do possessing like this. (without hiding a mesh)

i read that the possessing is server side, ok but the client still needs to show this, same as showing the other players climb a wall in multiplayer sessions.

Like in some games you can be in a MP session and get in a car with all 4 players, one is controlling the car and the others just sit but still can move the camera acting they looking left or right.

thx
jeng

  • You need to dissect multiplayer projects / watch tutorials. Search out multiplayer RPG examples on the Marketplace / Community-Tools etc. But very quickly…

  • The Client needs to send a message to the Server requesting control over the horse actor (Possess node). That is usually done by calling a Custom-Event set to Run-On-Server (also known as an RPC).

  • The car example is useful, as its simpler. Once you request the Server to posses the car, you instantly get driving / steering control of the vehicle, along with the built-in cameras on the car, plus whatever abilities it has, such as shooting at enemies (all controlled through the car blueprint). In affect, nothing of the character needs to be carried over here, except for maybe spawning a dummy mesh inside the car etc.

  • However in practice there’s a lot more to this… Anything outside of a standard character (CMC) will typically need custom movement code added or tweaked to move the vehicle, plus client-side prediction / lag correction, plus other work including replication of anims etc, along with player move / action validation (anti-cheat strategies etc). So there’s a lot more work to do.

  • For example, in the horse scenario, the player mesh also has to be attached to the horse and may keep abilities from before, such as the ability to wield a sword, perform magic, defend / fight etc (and look around if the ‘player body’ still has to reflect that). So be aware, that there is a second type of RPC, a Custom-Event that calls Run-On-Server first, and then executes Run-On-All (also known as Multicast). This is so all Clients can see whatever the client on the horse does.

  • You’d save a lot of time by hunting around for a Multiplayer Marketplace pack that contains a horse etc (assuming you can find one). Note, while a horse can be built from the character template, the CMC doesn’t play nicely with anything that’s non-humanoid. A good learning resource is to search out posts by TheJamsh regarding this…

  • Good luck -

Hi, i was following the multiplyer guide and have some assets that do possessing but they hide the player when they do the possessing and a other also does a similar thing but has the rider attached in the bike blueprint and also hide the rider mesh. i tried to do a same thing by created two custom functions one multicast and one server only. but still the possessing on client side fails, all animations do play like the mounting but breaking down the code shows that we first need to focus on the possessing that is doing all the weird things on the rest.

we keep looking but thanks for the reply