Replication - Throwing Object

I am actually stuck in my multiplayer project : a bloodbowl like. I can’t make a good throwing ball system.

The first player who picks up the ball: no problem. He can throw it, but problems happen here: the player throwing the ball sees the throw correctly but the other player sees 2 balls and sometimes, none of them are following the same path viewed by the 1st player.

Other problem : The 2nd player can’t pick up the ball (by stepping on the ball and going outside the collision box). Can you help me please ?

Picking up and throwing the ball should all happen server-side.

If you don’t want to implement a complex “client predictive ball throwing” mechanic, make sure to spawn the throwing ball server-side only and replicate its location by making the ball replicated and replicate movement.

If you see 2 balls, then its most likely that one of the balls is the ball spawned by the server and got replicated, whereas the other ball is the one that got spawned client-side.

1 Like

Hello @Zangdai ,
To achieve proper replication, I recommend using RepNotify. I’m not exactly sure how you’re handling it at the moment.

If you’d like, you can share the code for how you’ve implemented the ball grabbing and throwing, and I’ll help you set up the replication correctly so it works as expected on both the server and the clients.

Adding to what @MajorT mentioned,

I would also enable Always Relevant, since this option makes the actor always be considered relevant to all clients, regardless of distance, visibility, or network priority.


I’ll be waiting for your reply!

Server spawns replicated ball.
All players see the ball location.

Player A interacts with the ball to pick it up… RPC server to pickup.
Server validates it can happen and then attaches ball to Player A’s hand.

Player A throws the Ball… RPC server to throw, server destroys current ball and spawns a new one (projectile movement component).

All players see the ball thrown. It goes to the same place on all clients.


You can also do a client-fakey approach to this as well without replicating an actual ball and physics.