Problems with Tracers

I’m modifying an existing game (Chivalry:Medieval Warfare) and replacing the parrying system with my own. Basically, the old system used a staticmesh attached to the player as their parrying zone for deflecting attacks. In my version, a series of custom animations that I made are activated depending on which direction the player is looking. The player’s weapon model gets used for parrying.

I gave each weapon its own physics asset which works great. The game uses a series of tracers that track the swing of melee weapons for detecting hits. In my mod, I just check that the HitComponent from the weapon tracers is the pawn’s WeaponAttachment.

While this works fine on local play, once I test on a dedicated server the attacks seem to just “phase through” my weapon attachment. If the weaponattachment is the only thing hit, then the tracer returns it as the HitComponent and the parry is correctly activated. However, if anything else behind the tracer (the player’s body), the tracer detects that component instead. It seems to just pass through the weapon and then hit the player’s body, even though the collision is all set up perfectly.

Any ideas why a tracer would behave like this?

When something works fine serverside (e.g. local test) but not in network then its bound to be replication. You may need to replicate the information to the client and run a client side function

Or make sure whatever checks the server is doing, the clients are also doing, and the server has the final say in what actually occurred.

I use quite of lot of anticipated client side predictions in my project.