Fake projectile and shot replication


I am working on a small co-op shooter game, and we are having a bit of trouble with the weapon fire replication. We are currently spawning a projectile (not sure if we will use that for all weapons), but with the way that we are doing the replication, on client, the projectile always spawns a bit away from the player (when moving). I read a bunch about this way of creating a fake projectile on the client alone, and then let the server show the other connected clients the “real” version of the shot. But I have no idea how to achieve that atm.

At the current state, the client is spawning its own projectile, but the when I execute on server, the projectile appears duplicated. Any insight on how to ignore the client when spawning the replicated projectile would be really welcome? :slight_smile:

Current implementation Player controller calls the ShotFired custom event (not replicated) that spawns the projectile, and then follows up with a RPC_ShotFired (run on server) that calls the same custom event.

I also read about how UT spawns the projectile on client and then blends it with the server one when it gets the response. I think the type of game I am working does not need such awesome implementation, but I was curious to know how that is achieved as well. I imagine that would be only possible in c++?

PS.: Sorry for the noobness :smiley: and thanks already