| Home Page | Recent Changes | Preferences

Role

Role is a concept in replication. Actors have two properties to define their role on server and client in network games: Role and RemoteRole. Role always tells us (and the engine :)) about the local role while RemoteRole tells about the role on the other side of the network.

  • On the server all actors have Role == ROLE_Authority, while their RemoteRole can be either ROLE_None, ROLE_DumbProxy, ROLE_SimulatedProxy or ROLE_AutonomousProxy.
  • On the clients the same actors have their Role and RemoteRole swapped, i.e. RemoteRole == ROLE_Authority and Role is any of the other values according to the Actor's RemoteRole on the server.
  • Client-side actors (i.e. actors that weren't replicated, but spawned on the client) have Role == ROLE_Authority on the network client. These actors only exist on the client they were spawned on. They can't be replicated to any other client or the server.

What do the different net roles mean?

The net roles are defined in the Actor class, as the enum ENetRole (see Actor/Enums for others).

ROLE_None
This means that the actor will not be replicated at all. Examples for this kind of actors are the GameInfo, Mutators and GameRules as well as some explosion effects and decals in UT.
ROLE_DumbProxy
The actor is replicated, but can't execute any functions on the remote side. It will update when variables are replicated to it but will not attempt to interpolate.
ROLE_SimulatedProxy
The actor is replicated and may execute simulated functions and simulated state code on the remote side. Often this kind of actor simulates its behavior based on initially replicated properties without (much) further "help" from the server.
ROLE_AutonomousProxy
Autonomous proxies come with some more magic built-in. :) They are basically simulated proxies, but may execute simulated and non-simulated functions on the client owning this actor. (only on that client!)
In UT only PlayerPawns are autonomous proxies, in UT2003 only PlayerControllers are. Every other client sees them as a regular simulated proxy. Player-controlled actors, such as the guided redeemer missile (GuidedWarshell in UT or RedeemerWarhead in UT2003) are autonomous proxies on the controlling player's client, too.
ROLE_Authority
All functions can be executed. This role is only allowed on the machine the actor was spawned on. All actors on the server or in standalone games have Role == ROLE_Authority. Never manually set the RemoteRole on the authorative version of an actor or the Role on a replicated version of the actor to this value.

Related Topics


Category Enum

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In