Legacy Documentation: Version 2018.1 (Go to current version)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

NetworkManager

class in UnityEngine.Networking

/

Inherits from:MonoBehaviour

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

The NetworkManager is a convenience class for the HLAPI for managing networking systems.

For simple network applications the NetworkManager can be used to control the HLAPI. It provides simple ways to start and stop client and servers, to manage scenes, and has virtual functions that user code can use to implement handlers for network events. The NetworkManager deals with one client at a time. The example below shows a minimal network setup.

#pragma strict
public class Manager extends NetworkManager {
    public override function OnServerConnect(conn: NetworkConnection) {
        Debug.Log("OnPlayerConnected");
    }
}
using UnityEngine;
using UnityEngine.Networking;

public class Manager : NetworkManager { public override void OnServerConnect(NetworkConnection conn) { Debug.Log("OnPlayerConnected"); } }

Static Properties

networkSceneNameThe name of the current network scene.
singletonThe NetworkManager singleton object.

Properties

autoCreatePlayerA flag to control whether or not player objects are automatically created on connect, and on scene change.
channelsThe Quality-of-Service channels to use for the network transport layer.
clientThe current NetworkClient being used by the manager.
clientLoadedSceneThis is true if the client loaded a new scene when connecting to the server.
connectionConfigThe custom network configuration to use.
customConfigFlag to enable custom network configuration.
dontDestroyOnLoadA flag to control whether the NetworkManager object is destroyed when the scene changes.
globalConfigThe transport layer global configuration to be used.
isNetworkActiveTrue if the NetworkServer or NetworkClient isactive.
logLevelThe log level specifically to user for network log messages.
matchesThe list of matches that are available to join.
matchHostThe hostname of the matchmaking server.
matchInfoA MatchInfo instance that will be used when StartServer() or StartClient() are called.
matchMakerThe UMatch MatchMaker object.
matchNameThe name of the current match.
matchPortThe port of the matchmaking service.
matchSizeThe maximum number of players in the current match.
maxConnectionsThe maximum number of concurrent network connections to support.
maxDelayThe maximum delay before sending packets on connections.
migrationManagerThe migration manager being used with the NetworkManager.
networkAddressThe network address currently in use.
networkPortThe network port currently in use.
numPlayersNumPlayers is the number of active player objects across all connections on the server.
offlineSceneThe scene to switch to when offline.
onlineSceneThe scene to switch to when online.
packetLossPercentageThe percentage of incoming and outgoing packets to be dropped for clients.
playerPrefabThe default prefab to be used to create player objects on the server.
playerSpawnMethodThe current method of spawning players used by the NetworkManager.
runInBackgroundControls whether the program runs when it is in the background.
scriptCRCCheckFlag for using the script CRC check between server and clients.
secureTunnelEndpointAllows you to specify an EndPoint object instead of setting networkAddress and networkPort (required for some platforms such as Xbox One).
serverBindAddressThe IP address to bind the server to.
serverBindToIPFlag to tell the server whether to bind to a specific IP address.
simulatedLatencyThe delay in milliseconds to be added to incoming and outgoing packets for clients.
spawnPrefabsList of prefabs that will be registered with the spawning system.
startPositionsThe list of currently registered player start positions for the current scene.
useSimulatorFlag that control whether clients started by this NetworkManager will use simulated latency and packet loss.
useWebSocketsThis makes the NetworkServer listen for WebSockets connections instead of normal transport layer connections.

Public Methods

GetStartPositionThis finds a spawn position based on NetworkStartPosition objects in the scene.
IsClientConnectedThis checks if the NetworkManager has a client and that it is connected to a server.
OnClientConnectCalled on the client when connected to a server.
OnClientDisconnectCalled on clients when disconnected from a server.
OnClientErrorCalled on clients when a network error occurs.
OnClientNotReadyCalled on clients when a servers tells the client it is no longer ready.
OnClientSceneChangedCalled on clients when a scene has completed loaded, when the scene load was initiated by the server.
OnDestroyMatchCallback that happens when a NetworkMatch.DestroyMatch request has been processed on the server.
OnDropConnectionCallback that happens when a NetworkMatch.DropConnection match request has been processed on the server.
OnMatchCreateCallback that happens when a NetworkMatch.CreateMatch request has been processed on the server.
OnMatchJoinedCallback that happens when a NetworkMatch.JoinMatch request has been processed on the server.
OnMatchListCallback that happens when a NetworkMatch.ListMatches request has been processed on the server.
OnServerAddPlayerCalled on the server when a client adds a new player with ClientScene.AddPlayer.
OnServerConnectCalled on the server when a new client connects.
OnServerDisconnectCalled on the server when a client disconnects.
OnServerErrorCalled on the server when a network error occurs for a client connection.
OnServerReadyCalled on the server when a client is ready.
OnServerRemovePlayerCalled on the server when a client removes a player.
OnServerSceneChangedCalled on the server when a scene is completed loaded, when the scene load was initiated by the server with ServerChangeScene().
OnSetMatchAttributesCallback that happens when a NetworkMatch.SetMatchAttributes has been processed on the server.
OnStartClientThis is a hook that is invoked when the client is started.
OnStartHostThis hook is invoked when a host is started.
OnStartServerThis hook is invoked when a server is started - including when a host is started.
OnStopClientThis hook is called when a client is stopped.
OnStopHostThis hook is called when a host is stopped.
OnStopServerThis hook is called when a server is stopped - including when a host is stopped.
ServerChangeSceneThis causes the server to switch scenes and sets the networkSceneName.
SetMatchHostThis sets the address of the MatchMaker service.
SetupMigrationManagerThis sets up a NetworkMigrationManager object to work with this NetworkManager.
StartClientThis starts a network client. It uses the networkAddress and networkPort properties as the address to connect to.
StartHostThis starts a network "host" - a server and client in the same application.
StartMatchMakerThis starts MatchMaker for the NetworkManager.
StartServerThis starts a new server.
StopClientStops the client that the manager is using.
StopHostThis stops both the client and the server that the manager is using.
StopMatchMakerStops the MatchMaker that the NetworkManager is using.
StopServerStops the server that the manager is using.
UseExternalClientThis allows the NetworkManager to use a client object created externally to the NetworkManager instead of using StartClient().

Static Methods

RegisterStartPositionRegisters the transform of a game object as a player spawn location.
ShutdownShuts down the NetworkManager completely and destroy the singleton.
UnRegisterStartPositionUnregisters the transform of a game object as a player spawn location.

Inherited Members

Properties

enabledEnabled Behaviours are Updated, disabled Behaviours are not.
isActiveAndEnabledHas the Behaviour had enabled called.
gameObjectThe game object this component is attached to. A component is always attached to a game object.
tagThe tag of this game object.
transformThe Transform attached to this GameObject.
runInEditModeAllow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor).
useGUILayoutDisabling this lets you skip the GUI layout phase.
hideFlagsShould the object be hidden, saved with the scene or modifiable by the user?
nameThe name of the object.

Public Methods

BroadcastMessageCalls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTagIs this game object tagged with tag ?
GetComponentReturns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildrenReturns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the component of Type type in the GameObject or any of its parents.
GetComponentsReturns all components of Type type in the GameObject.
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children.
GetComponentsInParentReturns all components of Type type in the GameObject or any of its parents.
SendMessageCalls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwardsCalls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
CancelInvokeCancels all Invoke calls on this MonoBehaviour.
InvokeInvokes the method methodName in time seconds.
InvokeRepeatingInvokes the method methodName in time seconds, then repeatedly every repeatRate seconds.
IsInvokingIs any invoke on methodName pending?
StartCoroutineStarts a coroutine.
StopAllCoroutinesStops all coroutines running on this behaviour.
StopCoroutineStops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
GetInstanceIDReturns the instance id of the object.
ToStringReturns the name of the GameObject.

Static Methods

printLogs message to the Unity Console (identical to Debug.Log).
DestroyRemoves a gameobject, component or asset.
DestroyImmediateDestroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoadMakes the object target not be destroyed automatically when loading a new scene.
FindObjectOfTypeReturns the first active loaded object of Type type.
FindObjectsOfTypeReturns a list of all active loaded objects of Type type.
InstantiateClones the object original and returns the clone.

Operators

boolDoes 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.

Messages

AwakeAwake is called when the script instance is being loaded.
FixedUpdateFrame-rate independent MonoBehaviour.FixedUpdate message for physics calculations.
LateUpdateLateUpdate is called every frame, if the Behaviour is enabled.
OnAnimatorIKCallback for setting up animation IK (inverse kinematics).
OnAnimatorMoveCallback for processing animation movements for modifying root motion.
OnApplicationFocusSent to all GameObjects when the player gets or loses focus.
OnApplicationPauseSent to all GameObjects when the application pauses.
OnApplicationQuitSent to all game objects before the application quits.
OnAudioFilterReadIf OnAudioFilterRead is implemented, Unity will insert a custom filter into the audio DSP chain.
OnBecameInvisibleOnBecameInvisible is called when the renderer is no longer visible by any camera.
OnBecameVisibleOnBecameVisible is called when the renderer became visible by any camera.
OnCollisionEnterOnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionEnter2DSent when an incoming collider makes contact with this object's collider (2D physics only).
OnCollisionExitOnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
OnCollisionExit2DSent 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.
OnCollisionStay2DSent each frame where a collider on another object is touching this object's collider (2D physics only).
OnConnectedToServerCalled on the client when you have successfully connected to a server.
OnControllerColliderHitOnControllerColliderHit is called when the controller hits a collider while performing a Move.
OnDestroyDestroying the attached Behaviour will result in the game or scene receiving OnDestroy.
OnDisableThis function is called when the behaviour becomes disabled.
OnDisconnectedFromServerCalled on the client when the connection was lost or you disconnected from the server.
OnDrawGizmosImplement OnDrawGizmos if you want to draw gizmos that are also pickable and always drawn.
OnDrawGizmosSelectedImplement OnDrawGizmosSelected to draw a gizmo if the object is selected.
OnEnableThis function is called when the object becomes enabled and active.
OnFailedToConnectCalled on the client when a connection attempt fails for some reason.
OnFailedToConnectToMasterServerCalled on clients or servers when there is a problem connecting to the MasterServer.
OnGUIOnGUI is called for rendering and handling GUI events.
OnJointBreakCalled when a joint attached to the same game object broke.
OnJointBreak2DCalled when a Joint2D attached to the same game object breaks.
OnMasterServerEventCalled 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.
OnMouseDragOnMouseDrag is called when the user has clicked on a GUIElement or Collider and is still holding down the mouse.
OnMouseEnterCalled when the mouse enters the GUIElement or Collider.
OnMouseExitCalled when the mouse is not any longer over the GUIElement or Collider.
OnMouseOverCalled every frame while the mouse is over the GUIElement or Collider.
OnMouseUpOnMouseUp is called when the user has released the mouse button.
OnMouseUpAsButtonOnMouseUpAsButton is only called when the mouse is released over the same GUIElement or Collider as it was pressed.
OnNetworkInstantiateCalled on objects which have been network instantiated with Network.Instantiate.
OnParticleCollisionOnParticleCollision is called when a particle hits a Collider.
OnParticleTriggerOnParticleTrigger is called when any particles in a particle system meet the conditions in the trigger module.
OnPlayerConnectedCalled on the server whenever a new player has successfully connected.
OnPlayerDisconnectedCalled on the server whenever a player disconnected from the server.
OnPostRenderOnPostRender is called after a camera finished rendering the scene.
OnPreCullOnPreCull is called before a camera culls the scene.
OnPreRenderOnPreRender is called before a camera starts rendering the scene.
OnRenderImageOnRenderImage is called after all rendering is complete to render image.
OnRenderObjectOnRenderObject is called after camera has rendered the scene.
OnSerializeNetworkViewUsed to customize synchronization of variables in a script watched by a network view.
OnServerInitializedCalled on the server whenever a Network.InitializeServer was invoked and has completed.
OnTransformChildrenChangedThis function is called when the list of children of the transform of the GameObject has changed.
OnTransformParentChangedThis function is called when the parent property of the transform of the GameObject has changed.
OnTriggerEnterOnTriggerEnter is called when the Collider other enters the trigger.
OnTriggerEnter2DSent when another object enters a trigger collider attached to this object (2D physics only).
OnTriggerExitOnTriggerExit is called when the Collider other has stopped touching the trigger.
OnTriggerExit2DSent when another object leaves a trigger collider attached to this object (2D physics only).
OnTriggerStayOnTriggerStay is called once per physics update for every Collider other that is touching the trigger.
OnTriggerStay2DSent each frame where another object is within a trigger collider attached to this object (2D physics only).
OnValidateThis function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
OnWillRenderObjectOnWillRenderObject is called for each camera if the object is visible and not a UI element.
ResetReset to default values.
StartStart is called on the frame when a script is enabled just before any of the Update methods are called the first time.
UpdateUpdate is called every frame, if the MonoBehaviour is enabled.

Did you find this page useful? Please give it a rating: