This is a specialized NetworkManager that includes a networked lobby.
The lobby has slots that track the joined players, and a maximum player count that is enforced. It requires that the NetworkLobbyPlayer component be on the lobby player objects.
NetworkLobbyManager is derived from NetworkManager, and so it implements many of the virtual functions provided by the NetworkManager class. To avoid accidentally replacing functionality of the NetworkLobbyManager, there are new virtual functions on the NetworkLobbyManager that begin with "OnLobby". These should be used on classes derived from NetworkLobbyManager instead of the virtual functions on NetworkManager.
The OnLobby*() functions have empty implementations on the NetworkLobbyManager base class, so the base class functions do not have to be called.
gamePlayerPrefab | This is the prefab of the player to be created in the PlayScene. |
lobbyPlayerPrefab | This is the prefab of the player to be created in the LobbyScene. |
lobbyScene | The scene to use for the lobby. This is similar to the offlineScene of the NetworkManager. |
lobbySlots | These slots track players that enter the lobby. |
maxPlayers | The maximum number of players allowed in the game. |
maxPlayersPerConnection | The maximum number of players per connection. |
minPlayers | The minimum number of players required to be ready for the game to start. |
playScene | The scene to use for the playing the game from the lobby. This is similar to the onlineScene of the NetworkManager. |
showLobbyGUI | This flag enables display of the default lobby UI. |
CheckReadyToBegin | CheckReadyToBegin checks all of the players in the lobby to see if their readyToBegin flag is set. |
OnLobbyClientAddPlayerFailed | Called on the client when adding a player to the lobby fails. |
OnLobbyClientConnect | This is called on the client when it connects to server. |
OnLobbyClientDisconnect | This is called on the client when disconnected from a server. |
OnLobbyClientEnter | This is a hook to allow custom behaviour when the game client enters the lobby. |
OnLobbyClientExit | This is a hook to allow custom behaviour when the game client exits the lobby. |
OnLobbyClientSceneChanged | This is called on the client when the client is finished loading a new networked scene. |
OnLobbyServerConnect | This is called on the server when a new client connects to the server. |
OnLobbyServerCreateGamePlayer | This allows customization of the creation of the GamePlayer object on the server. |
OnLobbyServerCreateLobbyPlayer | This allows customization of the creation of the lobby-player object on the server. |
OnLobbyServerDisconnect | This is called on the server when a client disconnects. |
OnLobbyServerPlayerRemoved | This is called on the server when a player is removed. |
OnLobbyServerPlayersReady | This is called on the server when all the players in the lobby are ready. |
OnLobbyServerSceneChanged | This is called on the server when a networked scene finishes loading. |
OnLobbyServerSceneLoadedForPlayer | This is called on the server when it is told that a client has finished switching from the lobby scene to a game player scene. |
OnLobbyStartClient | This is called on the client when a client is started. |
OnLobbyStartHost | This is called on the host when a host is started. |
OnLobbyStartServer | This is called on the server when the server is started - including when a host is started. |
OnLobbyStopClient | This is called on the client when the client stops. |
OnLobbyStopHost | This is called on the host when the host is stopped. |
SendReturnToLobby | Sends a message to the server to make the game return to the lobby scene. |
ServerReturnToLobby | Calling this causes the server to switch back to the lobby scene. |
TryToAddPlayer | This is used on clients to attempt to add a player to the game. |
networkSceneName | The name of the current network scene. |
singleton | The NetworkManager singleton object. |
enabled | Enabled Behaviours are Updated, disabled Behaviours are not. |
isActiveAndEnabled | Has the Behaviour had enabled called. |
gameObject | The game object this component is attached to. A component is always attached to a game object. |
tag | The tag of this game object. |
transform | The Transform attached to this GameObject. |
runInEditMode | Allow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor). |
useGUILayout | Disabling this lets you skip the GUI layout phase. |
autoCreatePlayer | A flag to control whether or not player objects are automatically created on connect, and on scene change. |
channels | The Quality-of-Service channels to use for the network transport layer. |
client | The current NetworkClient being used by the manager. |
clientLoadedScene | This is true if the client loaded a new scene when connecting to the server. |
connectionConfig | The custom network configuration to use. |
customConfig | Flag to enable custom network configuration. |
dontDestroyOnLoad | A flag to control whether the NetworkManager object is destroyed when the scene changes. |
globalConfig | The transport layer global configuration to be used. |
isNetworkActive | True if the NetworkServer or NetworkClient isactive. |
logLevel | The log level specifically to user for network log messages. |
matches | The list of matches that are available to join. |
matchHost | The hostname of the matchmaking server. |
matchInfo | A MatchInfo instance that will be used when StartServer() or StartClient() are called. |
matchMaker | The UMatch MatchMaker object. |
matchName | The name of the current match. |
matchPort | The port of the matchmaking service. |
matchSize | The maximum number of players in the current match. |
maxConnections | The maximum number of concurrent network connections to support. |
maxDelay | The maximum delay before sending packets on connections. |
migrationManager | The migration manager being used with the NetworkManager. |
networkAddress | The network address currently in use. |
networkPort | The network port currently in use. |
numPlayers | NumPlayers is the number of active player objects across all connections on the server. |
offlineScene | The scene to switch to when offline. |
onlineScene | The scene to switch to when online. |
packetLossPercentage | The percentage of incoming and outgoing packets to be dropped for clients. |
playerPrefab | The default prefab to be used to create player objects on the server. |
playerSpawnMethod | The current method of spawning players used by the NetworkManager. |
runInBackground | Controls whether the program runs when it is in the background. |
scriptCRCCheck | Flag for using the script CRC check between server and clients. |
secureTunnelEndpoint | Allows you to specify an EndPoint object instead of setting networkAddress and networkPort (required for some platforms such as Xbox One). |
serverBindAddress | The IP address to bind the server to. |
serverBindToIP | Flag to tell the server whether to bind to a specific IP address. |
simulatedLatency | The delay in milliseconds to be added to incoming and outgoing packets for clients. |
spawnPrefabs | List of prefabs that will be registered with the spawning system. |
startPositions | The list of currently registered player start positions for the current scene. |
useSimulator | Flag that control whether clients started by this NetworkManager will use simulated latency and packet loss. |
useWebSockets | This makes the NetworkServer listen for WebSockets connections instead of normal transport layer connections. |
hideFlags | Should the object be hidden, saved with the scene or modifiable by the user? |
name | The name of the object. |
BroadcastMessage | Calls the method named methodName on every MonoBehaviour in this game object or any of its children. |
CompareTag | Is this game object tagged with tag ? |
GetComponent | Returns the component of Type type if the game object has one attached, null if it doesn't. |
GetComponentInChildren | Returns the component of Type type in the GameObject or any of its children using depth first search. |
GetComponentInParent | Returns the component of Type type in the GameObject or any of its parents. |
GetComponents | Returns all components of Type type in the GameObject. |
GetComponentsInChildren | Returns all components of Type type in the GameObject or any of its children. |
GetComponentsInParent | Returns all components of Type type in the GameObject or any of its parents. |
SendMessage | Calls the method named methodName on every MonoBehaviour in this game object. |
SendMessageUpwards | Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour. |
CancelInvoke | Cancels all Invoke calls on this MonoBehaviour. |
Invoke | Invokes the method methodName in time seconds. |
InvokeRepeating | Invokes the method methodName in time seconds, then repeatedly every repeatRate seconds. |
IsInvoking | Is any invoke on methodName pending? |
StartCoroutine | Starts a coroutine. |
StopAllCoroutines | Stops all coroutines running on this behaviour. |
StopCoroutine | Stops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour. |
GetStartPosition | This finds a spawn position based on NetworkStartPosition objects in the scene. |
IsClientConnected | This checks if the NetworkManager has a client and that it is connected to a server. |
OnClientConnect | Called on the client when connected to a server. |
OnClientDisconnect | Called on clients when disconnected from a server. |
OnClientError | Called on clients when a network error occurs. |
OnClientNotReady | Called on clients when a servers tells the client it is no longer ready. |
OnClientSceneChanged | Called on clients when a scene has completed loaded, when the scene load was initiated by the server. |
OnDestroyMatch | Callback that happens when a NetworkMatch.DestroyMatch request has been processed on the server. |
OnDropConnection | Callback that happens when a NetworkMatch.DropConnection match request has been processed on the server. |
OnMatchCreate | Callback that happens when a NetworkMatch.CreateMatch request has been processed on the server. |
OnMatchJoined | Callback that happens when a NetworkMatch.JoinMatch request has been processed on the server. |
OnMatchList | Callback that happens when a NetworkMatch.ListMatches request has been processed on the server. |
OnServerAddPlayer | Called on the server when a client adds a new player with ClientScene.AddPlayer. |
OnServerConnect | Called on the server when a new client connects. |
OnServerDisconnect | Called on the server when a client disconnects. |
OnServerError | Called on the server when a network error occurs for a client connection. |
OnServerReady | Called on the server when a client is ready. |
OnServerRemovePlayer | Called on the server when a client removes a player. |
OnServerSceneChanged | Called on the server when a scene is completed loaded, when the scene load was initiated by the server with ServerChangeScene(). |
OnSetMatchAttributes | Callback that happens when a NetworkMatch.SetMatchAttributes has been processed on the server. |
OnStartClient | This is a hook that is invoked when the client is started. |
OnStartHost | This hook is invoked when a host is started. |
OnStartServer | This hook is invoked when a server is started - including when a host is started. |
OnStopClient | This hook is called when a client is stopped. |
OnStopHost | This hook is called when a host is stopped. |
OnStopServer | This hook is called when a server is stopped - including when a host is stopped. |
ServerChangeScene | This causes the server to switch scenes and sets the networkSceneName. |
SetMatchHost | This sets the address of the MatchMaker service. |
SetupMigrationManager | This sets up a NetworkMigrationManager object to work with this NetworkManager. |
StartClient | This starts a network client. It uses the networkAddress and networkPort properties as the address to connect to. |
StartHost | This starts a network "host" - a server and client in the same application. |
StartMatchMaker | This starts MatchMaker for the NetworkManager. |
StartServer | This starts a new server. |
StopClient | Stops the client that the manager is using. |
StopHost | This stops both the client and the server that the manager is using. |
StopMatchMaker | Stops the MatchMaker that the NetworkManager is using. |
StopServer | Stops the server that the manager is using. |
UseExternalClient | This allows the NetworkManager to use a client object created externally to the NetworkManager instead of using StartClient(). |
GetInstanceID | Returns the instance id of the object. |
ToString | Returns the name of the GameObject. |
Logs message to the Unity Console (identical to Debug.Log). | |
RegisterStartPosition | Registers the transform of a game object as a player spawn location. |
Shutdown | Shuts down the NetworkManager completely and destroy the singleton. |
UnRegisterStartPosition | Unregisters the transform of a game object as a player spawn location. |
Destroy | Removes a gameobject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Makes the object target not be destroyed automatically when loading a new scene. |
FindObjectOfType | Returns the first active loaded object of Type type. |
FindObjectsOfType | Returns a list of all active loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
bool | Does the object exist? |
operator != | Compares if two objects refer to a different object. |
operator == | Compares two object references to see if they refer to the same object. |
Awake | Awake is called when the script instance is being loaded. |
FixedUpdate | This function is called every fixed framerate frame, if the MonoBehaviour is enabled. |
LateUpdate | LateUpdate is called every frame, if the Behaviour is enabled. |
OnAnimatorIK | Callback for setting up animation IK (inverse kinematics). |
OnAnimatorMove | Callback for processing animation movements for modifying root motion. |
OnApplicationFocus | Sent to all GameObjects when the player gets or loses focus. |
OnApplicationPause | Sent to all GameObjects when the application pauses. |
OnApplicationQuit | Sent to all game objects before the application is quit. |
OnAudioFilterRead | If OnAudioFilterRead is implemented, Unity will insert a custom filter into the audio DSP chain. |
OnBecameInvisible | OnBecameInvisible is called when the renderer is no longer visible by any camera. |
OnBecameVisible | OnBecameVisible is called when the renderer became visible by any camera. |
OnCollisionEnter | OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider. |
OnCollisionEnter2D | Sent when an incoming collider makes contact with this object's collider (2D physics only). |
OnCollisionExit | OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider. |
OnCollisionExit2D | Sent when a collider on another object stops touching this object's collider (2D physics only). |
OnCollisionStay | :ref::OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider. |
OnCollisionStay2D | Sent each frame where a collider on another object is touching this object's collider (2D physics only). |
OnConnectedToServer | Called on the client when you have successfully connected to a server. |
OnControllerColliderHit | OnControllerColliderHit is called when the controller hits a collider while performing a Move. |
OnDestroy | Destroying the attached Behaviour will result in the game or scene receiving OnDestroy. |
OnDisable | This function is called when the behaviour becomes disabled. |
OnDisconnectedFromServer | Called on the client when the connection was lost or you disconnected from the server. |
OnDrawGizmos | Implement OnDrawGizmos if you want to draw gizmos that are also pickable and always drawn. |
OnDrawGizmosSelected | Implement OnDrawGizmosSelected to draw a gizmo if the object is selected. |
OnEnable | This function is called when the object becomes enabled and active. |
OnFailedToConnect | Called on the client when a connection attempt fails for some reason. |
OnFailedToConnectToMasterServer | Called on clients or servers when there is a problem connecting to the MasterServer. |
OnGUI | OnGUI is called for rendering and handling GUI events. |
OnJointBreak | Called when a joint attached to the same game object broke. |
OnJointBreak2D | Called when a Joint2D attached to the same game object breaks. |
OnMasterServerEvent | Called on clients or servers when reporting events from the MasterServer. |
OnMouseDown | OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider. |
OnMouseDrag | OnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse. |
OnMouseEnter | Called when the mouse enters the GUIElement or Collider. |
OnMouseExit | Called when the mouse is not any longer over the GUIElement or Collider. |
OnMouseOver | Called every frame while the mouse is over the GUIElement or Collider. |
OnMouseUp | OnMouseUp is called when the user has released the mouse button. |
OnMouseUpAsButton | OnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed. |
OnNetworkInstantiate | Called on objects which have been network instantiated with Network.Instantiate. |
OnParticleCollision | OnParticleCollision is called when a particle hits a Collider. |
OnParticleTrigger | OnParticleTrigger is called when any particles in a particle system meet the conditions in the trigger module. |
OnPlayerConnected | Called on the server whenever a new player has successfully connected. |
OnPlayerDisconnected | Called on the server whenever a player disconnected from the server. |
OnPostRender | OnPostRender is called after a camera finished rendering the scene. |
OnPreCull | OnPreCull is called before a camera culls the scene. |
OnPreRender | OnPreRender is called before a camera starts rendering the scene. |
OnRenderImage | OnRenderImage is called after all rendering is complete to render image. |
OnRenderObject | OnRenderObject is called after camera has rendered the scene. |
OnSerializeNetworkView | Used to customize synchronization of variables in a script watched by a network view. |
OnServerInitialized | Called on the server whenever a Network.InitializeServer was invoked and has completed. |
OnTransformChildrenChanged | This function is called when the list of children of the transform of the GameObject has changed. |
OnTransformParentChanged | This function is called when the parent property of the transform of the GameObject has changed. |
OnTriggerEnter | OnTriggerEnter is called when the Collider other enters the trigger. |
OnTriggerEnter2D | Sent when another object enters a trigger collider attached to this object (2D physics only). |
OnTriggerExit | OnTriggerExit is called when the Collider other has stopped touching the trigger. |
OnTriggerExit2D | Sent when another object leaves a trigger collider attached to this object (2D physics only). |
OnTriggerStay | OnTriggerStay is called once per frame for every Collider other that is touching the trigger. |
OnTriggerStay2D | Sent each frame where another object is within a trigger collider attached to this object (2D physics only). |
OnValidate | This function is called when the script is loaded or a value is changed in the inspector (Called in the editor only). |
OnWillRenderObject | OnWillRenderObject is called for each camera if the object is visible and not a UI element. |
Reset | Reset to default values. |
Start | Start is called on the frame when a script is enabled just before any of the Update methods is called the first time. |
Update | Update is called every frame, if the MonoBehaviour is enabled. |