Weapon Sway function Replication

Something like weapon sway should pretty much never be replicated and definitely not replicated with a multicast on tick, that’s going to destroy your network for no good reason.

Instead you should just run the weapon sway code locally on each client. Assuming you are using the base character, the player’s rotation is already replicated. A very important rule of thumb when designing for multiplayer is that if you can, you should always base effects on existing signals from the server instead of trying to replicate something new. The cost of re-simulating a couple blueprint nodes is tiny compared to the load you on the game from using a ton of replicated variables.

So, if you have the rotation already replicated on the character (if you don’t yet, you may need to set that up properly), so you should just run the sway calculations on every client on tick. Which is as simple as just connecting the sway code to the tick, no multicasts, run on server etc should be involved anywhere.