What is the framerate on the host? If that’s dipping at all, even if the host appears to be fine, it could pose issues. A great example would be something totally unnoticeable to the human eye, like an instantaneous dip in framerate while processing an intense RPC. Odds are, this is not happening (I figure you’d probably have recognized that), but it’s worth crossing off the list at the least.
One thing to take into consideration is that if you are running in a server-authoritative paradigm (which you should be), everything will certainly appear to be laggy. Test in the editor, and as Jamendxman3 mentioned, induce some simulated lag with net pktlag=300 (300 being the round-trip packet time, in milliseconds). In this example, it’ll take 150ms for the server to receive the RPC request, *x *ms to process the RPC, and 150ms for the clients to receive the response and update accordingly. 300ms is an extreme example now days, but still happens. Conducting this test, does it appear to be similar to what you’re experiencing? I’d say probably, but only you will know for sure. In a more reasonable example, like 50-100 ms, it’s still a very noticeable delay.
A resolution to this issue is at least a bit daunting. First, you’ll need your clients to perform the actions instantly, for themselves only. Then, you’ll need to fire the RPC for the server to replicate it. That’ll help eliminate the *perception *of lag, but the lag will still exist. Taking it a step further, you’ll need to account for lag when doing hit detection and the like. This is where things get a bit more complicated. In a shooter, for example (giving this example because I’ve not done anything like this for a fighting game, apologies) this means when you fire off a line trace from a player’s firearm, you check where a player was *x *milliseconds ago, where *x *is their single-trip latency.
This may be totally irrelevant to your scenario, and if so I do apologize. I just figured it’d be worth at least crossing off the list. I’m sure you’re aware of a lot of this, but like to explain everything in a little more detail due to future searchers, and like to make no assumptions, in order to be as thorough as possible. I hope it doesn’t come across as demeaning – I apologize if so.