How to accomplish smooth throwing weapons? (ex. grenades)

I’m getting around to polishing some old things in my game, one of the problems / nitpicks I have is how janky it feels to throw a projectile weapon, like a grenade. I did the amateur way of the client telling the server it threw something, then the server cloning the part and doing physics, which is bad because it causes a delay between when you throw and when the projectile is actually launched. As a band aid solution, I’d have the server create the projectile in front (~7 studs) of where the client says to throw it from, which does look better but just causes a lot of other issues like it going through walls or it not even being thrown at all because it gets created inside of something.

How do I accomplish smooth throwing weapons that replicate to everyone and have physics sync up, like in Phantom Forces and Games Unite?

I’m thinking of handling it client sided and having the server tell all clients to manually replicate but I’m afraid that physics won’t sync up, causing the projectile to land at different places on other people’s screens. Anyone who uses this method, how does it go?

Any help please?

4 Likes