How frequently should I use RPCs?

Should I mostly refrain from the use of RPCs and rely on event propagation via replicated variables?

Like in events of

  • capturing a flag (and transmitting who captured it)
  • moving a piece on a chessboard (which piece, which position)
  • Death messages (who, cause)

And if I shouldnt use RPCs, why?

There is no real right or wrong about this. RPCs are the most direct, but greedy way of getting to the client. Normal replication happens in a more bandwidth friendly way.

Think of RPCs as “you need it now, here is everything with it” and normal replication as “when you have time, please update this value”.

Here are some good references:

https://www.unrealengine.com/blog/blueprint-networking-tutorials

https://www.unrealengine.com/blog/crash-course-in-blueprints-replication

https://www.unrealengine.com/blog/network-tips-and-tricks

https://forums.unrealengine.com/showthread.php?2956-New-Blueprint-Networking-Tutorial-Videos-Posted