Need help for multiplayer mechanic setup

Hi there
I’ working on a 4 player side scroll multiplayer game based on blueprints and want to implement a descent method for multiplayer mechanics. I can make it work already but I want to use a standard system for prevent cheating and lower any possible delay or lag.

You know the flow in single player is as simple as that but in multiplayer I can imagine that these two methods for clients (Client 1 and 2) is logical. So my questions is like this:

  • I don’t know if it’s necessary to check everything in clients before sending the command to server. Is there any benefit here?
  • Is there any other method that I can use here?
  • Which is better? Setting variables in multicast event or setting replicated variables on server. I know variables can be updated after events and that’s problematic, am I right?
  • Is there a book on unreal networking that I can read?

Any help is really appreciated and thanks.