Networking Overview

The UE4 framework is built with multiplayer gaming in mind. As long as you follow the basic framework conventions, you generally don't have to do much to extend a single player experience to multiplayer.

UE4 networking is built around the server/client model. This means that there will be one server that is authoritative (makes all the important decisions), and this server will then make sure all connected clients are continually updated so that they maintain the most up to date approximation of the server's world. Even non-networked, single-player games have a server; the local machine acts as the server in these cases.

Actors

In a single player experience, actors are used to represent the game world. In multiplayer, this isn't any different, except for the fact that clients will have an approximation of each actor, while the server will maintain the authoritative version.

Actors are the main workhorse that the server uses to keep clients up to date. When it is time for the server to update a particular client, the server will gather all relevant actors that it determines have changed since the last update, and then sends enough information to the client to catch those actors up to to the latest state.

Network Modes

Network Mode Type Functionality / Ideal Use Case
NM_Standalone This type indicates a server running on a local machine and not accepting clients from remote machines. This is best for single-player, or local multiplayer, games.
NM_DedicatedServer A dedicated server has no local players and can run more efficiently by discarding sound, graphics, user input, and other player-oriented features. This server type is used for multiplayer games hosted on a trusted server, such as competitive MOBA titles, MMO games, or online shooters where high-performing, reliable servers are needed.
NM_ListenServer A listen server is a server that hosts a local player, but is open to connections from remote players as well. This type of server is good for competitive or cooperative games where a dedicated server is unnecessary, and users are able to set up and play their own games without a third-party server. This network mode type may give the host some advantage due to the host's lack of network latency, and the game can be terminated without warning by the host.
NM_Client This is the only mode that is not a server. When in this mode, the local machine is a client to a dedicated or listen server, and therefore will not run server-side logic.