Network Levels

Each replicated property on an AMorpheusActor belongs to one of three network levels (Foreground, Midground or Background) as defined by the user.

Seeing an AMorpheusActor at a specific network level means you can see all replicated properties belonging to that network level and below. For example, if a client is seeing an AMorpheusActor in the midground, it will see all background and midground properties. This means that every client will see all background properties for every AMorpheusActor in the world at all times.

You can specify the MinimumNetworkLevel of an AMorpheusActor type. The AMorpheusActor will be forced into at least this network level at all times.

Below is a breakdown of each network level, its behaviour, limitations and examples.

Foreground

All foreground properties are replicated at 60Hz(30Hz in High Scale Mode).

Foreground properties can use most types supported by standard Unreal replication: see Supported types.

Multicast RPCs are only received for actors in the foreground network level.

Depending on the game, each client will likely be able to see on the order of 50-100 actors in the foreground. Foreground properties cost much less bandwidth than midground & background ones. You should only move a property out of foreground if you definitely need it to be more widely visible.

Examples of foreground properties include:

  • The player's name.

  • The player's current chat status.

  • A list of the player's teammates.

The server sees every actor in the foreground network level, but only receives foreground property updates at 30Hz.

Midground

All midground properties are replicated at 30Hz(10Hz in High Scale Mode).

Background properties can only use a narrow set of types: see Supported types.

Multicast RPCs are not received for actors in the midground network level.

Depending on the game, each client will likely be able to see on the order of 500-1000 actors in the midground.

Examples of midground properties include:

  • A higher fidelity quantised position of the actor.

  • The quantised rotation of the actor.

  • The colour index of each player's hat.

Background

All background properties are replicated at 6Hz (2Hz in High Scale Mode).

Background properties can only use a narrow set of types: see Supported types.

Multicast RPCs are not received for actors in the background network level.

Because every client sees all background properties in the world, you have to be careful what you mark as a background property. Adding background properties which frequently change value can incur a large bandwidth cost to your game. You should only mark a property as being in the background if it is absolutely essential that it is visible on all clients.

Examples of background properties include:

  • A low fidelity quantised position of the actor.

  • An index determining which player character the actor is.

  • The current emote index of each player.

Last updated