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?
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 and thanks already