Understanding the client-server model
Now that we have a running test we can play with, let's get a bit of theory out of the way. It wouldn't be a bad idea to leave this test level open and explore it while we talk about this next concept.
To understand how multiplayer gameplay works in Unreal, you first need to understand how information moves between the connected game sessions and how changes are made to the game environment. There's no way around this. To write multiplayer code successfully, you have to build a clear mental model of what's going on, or you'll wind up hitting a lot of walls. Multiplayer is challenging to debug—if something doesn't work, you can't simply set a breakpoint in your blueprint and trace through to see what happened. Very often, all you'll know is that a bit of information you thought should have gone to the other machine never got there. If you take the time to understand how networking works, you'll have a much easier time figuring out what's gone wrong when...