Version: 5.3 (switch to 5.4b)
  • C#
  • JS

Script language

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


class in UnityEngine.Networking


Inherits from:MonoBehaviour

Suggest a change


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.


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.



Switch to Manual


Base class which should be inherited by scripts which contain networking functionality.

This is a MonoBehaviour class so scripts which need to use the networking feature should inherit this class instead of MonoBehaviour. It allows you to invoke RPC/Commands and receive various callbacks.


connectionToClientThe NetworkConnection associated with this NetworkIdentity. This is only valid for player objects on the server.
connectionToServerThe NetworkConnection associated with this NetworkIdentity. This is only valid for player objects on the server.
hasAuthorityThis returns true if this object is the authoritative version of the object in the distributed network application.
isClientReturns true if running as a client and this object was spawned by a server.
isLocalPlayerThis returns true if this object is the one that represents the player on the local machine.
isServerReturns true if this object is active on an active server.
localPlayerAuthorityThis value is set on the NetworkIdentity and is accessible here for convenient access for scripts.
netIdThe unique network Id of this object.
playerControllerIdThe id of the player associated with the behaviour.

Public Functions

ClearAllDirtyBitsThis clears all the dirty bits that were set on this script by SetDirtyBits();
GetNetworkChannelThis virtual function is used to specify the QoS channel to use for SyncVar updates for this script.
GetNetworkSendIntervalThis virtual function is used to specify the send interval to use for SyncVar updates for this script.
InvokeCommandManually invoke a Command.
InvokeRPCManually invoke an RPC function.
InvokeSyncEventManually invoke a SyncEvent.
OnCheckObserverCallback used by the visibility system to determine if an observer (player) can see this object.
OnDeserializeVirtual function to override to receive custom serialization data.
OnNetworkDestroyThis is invoked on clients when the server has caused this object to be destroyed.
OnRebuildObserversCallback used by the visibility system to (re)construct the set of observers that can see this object.
OnSerializeVirtual function to override to send custom serialization data.
OnSetLocalVisibilityCallback used by the visibility system for objects on a host.
OnStartAuthorityThis is invoked on behaviours that have authority, based on context and NetworkIdentity.localPlayerAuthority.
OnStartClientCalled on every NetworkBehaviour when it is activated on a client.
OnStartLocalPlayerCalled when the local player object has been set up.
OnStartServerCalled when the server starts listening.
OnStopAuthorityThis is invoked on behaviours when authority is removed.
PreStartClientAn internal method called on client objects to resolve GameObject references.
SetDirtyBitUsed to set the behaviour as dirty, so that a network update will be sent for the object.


CmdDelegateDelegate for Command functions.
EventDelegateDelegate for Event functions.

Inherited members


enabled이 기능이 활성화 되는 경우 behavior가 업데이트되고, 비활성화 되는 경우 behavior는 업데이트 되지 않습니다.
isActiveAndEnabledHas the Behaviour had enabled called.
gameObject현재의 컴포넌트가 첨부된 게임 오브젝트를 나타냅니다. 컴포넌트(component)는 항상 게임 오브젝트에 첨부되어 있다.
tag현재 게임 오브젝트의 태그를 나타냅니다.
transform현재 GameObject에 첨부된 Transform를 나타냅니다. (첨부되지 않은 경우에 null)
useGUILayout비활성화 하는 경우에, GUI 레이아웃 phase를 생략하도록 해줍니다.
hideFlags오브젝트가 숨겨져있는 상태인지, 씬에 저장된 상태인지, 또는 사용자에 의해서 수정가능한 상태인지를 확인합니다.
name오브젝트의 이름을 나타냅니다.

Public Functions

BroadcastMessage게임오브젝트의 모든 MonoBehaviour나 Children 들에 대해 /methodName/으로 이름지어진 메서드를 호출 합니다.
CompareTag게임 오브젝트에 tag 태그가 태깅되었는가?
GetComponent제네릭(Generic) 버젼을 나타낸다. 더 자세한 정보는 Generic Functions페이지에서 확인.
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.
GetComponents제네릭(Generic) 버젼을 나타낸다. 더 자세한 정보는 Generic Functions페이지에서 확인.
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.
SendMessage게임오브젝트의 모든 MonoBehaviour들에 대해 /methodName/으로 이름지어진 메서드를 호출 합니다.
SendMessageUpwards게임오브젝트와 behaviour의 acestor의 모든 MonoBehaviour들에 대해 /methodName/으로 이름지어진 메서드를 호출 합니다.
CancelInvoke현재 MonoBehaviour상의 모든 invoke 호출을 취소합니다.
Invoke설정한 시간에 methodName 메서드를 호출합니다.
InvokeRepeating time 초에 /methodName/메서드를 호출한 후, 매 /repeatRate/초 마다 반복적으로 호출합니다.
IsInvoking현재 MonoBehaviour에서 pending 상태의 invoke 호출이 있는지 확인합니다.
StartCoroutine코루틴을 시작합니다.
StopAllCoroutines현재 behaviour상에서 동작하는 모든 coroutine의 동작을 멈춥니다.
StopCoroutineStops the first coroutine named methodName, or the coroutine stored in routine running on this behaviour.
GetInstanceID오브젝트의 인스턴스 ID를 반환합니다.
ToString게임 오브젝트의 이름을 반환합니다.

Static Functions

print유니티 콘솔로 로그 메세지를 보냅니다(Debug.Log 같음).
Destroy게임오브젝트, 컴포넌트나 애셋을 삭제합니다.
DestroyImmediate obj 오브젝트를 즉시 파괴합니다. Destroy를 사용하는 것을 추천합니다.
DontDestroyOnLoad새로운 Scene이 로드될때 자동으로 파괴되지 않는 target 오브젝트를 만듭니다.
FindObjectOfType첫번째 활성화한 로드된 type 타입의 오브젝트를 반환합니다.
FindObjectsOfType모든 활성화한 로드된 type 타입의 오브젝트 리스트를 반환합니다.
Instantiate오브젝트의 인스턴스 ID를 반환합니다.


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.


AwakeAwake는 스크립트 인스턴스가 로딩될 때 호출됩니다.
FixedUpdateMonoBehaviour가 활성화 되어있는 경우에, 매 고정된 프레임율의 프레임(fixed framerate frame)마다 호출됩니다.
LateUpdateLateUpdate는 Behaviour가 활성화 되어있는 경우에, 매 프레임마다 호출됩니다.
OnAnimatorIKCallback for setting up animation IK (inverse kinematics).
OnAnimatorMoveCallback for processing animation movements for modifying root motion.
OnApplicationFocus응용프로그램이 포커스 되거나 포커스를 잃었을때 모든 게임오브젝트들에게 보냅니다.
OnApplicationPause플레이어가 일시정지(pauses)됐을때 모든 게임오브젝트들로 보냅니다.
OnApplicationQuit애플리케이션이 종료되기 전에 모든 게임오브젝트에 전달합니다.
OnAudioFilterReadOnAudioFilterRead가 수행될 때, 유니티는 오디오 DSP chain에 커스텀 필터(custom filter)를 삽입합니다.
OnBecameInvisibleOnBecameInvisible은 렌더러가 더이상 카메라에서 보이지 않는 경우에 호출됩니다.
OnBecameVisibleOnBecameVisible은 렌더러가 카메라에서 보이는 경우에 호출됩니다.
OnCollisionEnter이 collider/rigidbody가 다른 collider/rigidbody와 접촉되었을 때 OnCollisionEnter가 호출됩니다.
OnCollisionEnter2D오브젝트의 자식 콜라이더가 다른 콜라이더에 충돌했을 때 호출됩니다. (2D 물리만)
OnCollisionExit이 collider/rigidbody가 다른 rigidbody/collider와의 접촉이 멈춰졌을때 OnCollisionExit가 호출됩니다.
OnCollisionExit2D오브젝트의 콜라이더와 다른 오브젝트의 콜라이더가 충돌에서 떨어진 순간에 호출됩니다. (2D 물리만)
OnCollisionStayOnCollisionStay 는 collider/rigidbody가 모든 rigidbody/collider와의 접촉에 대해 매 프레임마다 한번씩 호출됩니다.
OnCollisionStay2D오브젝트의 콜라이더와 다른 오브젝트의 콜라이더가 충돌하고 있는 동안 매 프레임 계속 호출합니다.(2D 물리만)
OnConnectedToServer서버 접속에 성공했을 때, 클라이언트 상에서 호출됩니다.
OnControllerColliderHitOnControllerColliderHit는 컨트롤러가 이동하는 동안 콜라이더와 충돌할때 호출됩니다.
OnDestroyMonoBehaviour가 제거될 때 호출됩니다.
OnDisablebehaviour가 disabled ()또는 비활성화 되는 경우에 호출됩니다.
OnDisconnectedFromServer서버로부터 연결을 잃거나, 끊어졌을때 클라이언트에서 호출됩니다.
OnDrawGizmos선택할 수 있고 항상 화면에 나타나는 기즈모(gizmos)를 그리고 싶은 경우에 OnDrawGizmos를 사용합니다.
OnDrawGizmosSelected해당 오브젝트가 선택되었을 때에만 기즈모(gizmos)를 그리고 싶은 경우에, OnDrawGizmosSelected를 사용합니다.
OnEnable오브젝트가 활성화되는 경우에 호출됩니다.
OnFailedToConnect어떤 이유로 접속이 실패한 경우에, 클라이언트에서 호출됩니다.
OnFailedToConnectToMasterServer마스터서버로의 접속에 문제가 생겼을때 클라이언트나 서버에 호출됩니다.
OnGUIOnGUI는 GUI 이벤트를 다루고, 렌더링하기 위해 호출합니다.
OnJointBreak같은 게임오브젝트로 어태치된 조인트가 파괴되었을 때 호출됩니다.
OnJointBreak2D같은 게임오브젝트로 어태치된 조인트가 파괴되었을 때 호출됩니다.
OnLevelWasLoaded이 함수는 새 레벨이 로드 되었을때 호출됩니다.
OnMasterServerEvent마스터서버로 부터 이벤트가 리포팅될때 클라이언트나 서버에 호출됩니다.
OnMouseDownOnMouseDown은 사용자가 GUIElement 또는 Collider위에서 마우스 버튼을 누른 경우에, 호출됩니다.
OnMouseDragOnMouseDrag는 사용자가 GUIElement 또는 Collider를 클릭하고 마우스 버튼을 계속 누르고 있는 경우에 호출됩니다.
OnMouseEnter마우스가 GUIElement 또는 Collider로 들어갔을 때 호출됩니다.
OnMouseExit마우스가 더이상 GUIElement 또는 Collider 위에 없는 경우에 호출됩니다.
OnMouseOver마우스가 GUIElement 또는 Collider 위에 있는 동안, 매 프레임 마다 호출됩니다.
OnMouseUpOnMouseUp은 사용자가 마우스 버튼 클릭을 해제했을 때 호출됩니다.
OnMouseUpAsButtonOnMouseUpAsButton는 GUIElement 또는 Collider에서 마우스 버튼 클릭이 해제되었을 때에만 호출됩니다.
OnNetworkInstantiateNetwork.Instantiate로 인스턴스화된 네트워크 오브젝트에서 호출됩니다.
OnParticleCollision파티클이 콜라이더와 충돌했을때 OnParticleCollision이 호출됩니다.
OnPlayerConnected새 플레이어가 접속했을때 서버에서 호출됩니다.
OnPlayerDisconnected플레이어가 연결이 끊겼을 때 서버에서 호출됩니다.
OnPostRenderOnPostRender는 카메라가 씬(scene)의 렌더링을 마친 후에 호출됩니다.
OnPreCullOnPreCull은 카메라가 씬을 컬링(cull) 하기 전에 호출됩니다.
OnPreRenderOnPreRender는 카메라가 씬(scene)의 렌더링을 시작하기 전에 호출됩니다.
OnRenderImage모든 렌더링이 완료된 후에 렌더 이미지로 OnRenderImage가 호출됩니다.
OnRenderObjectOnRenderObject는 카메라가 씬(scene)을 렌더링 한 후에 호출됩니다.
OnSerializeNetworkView네트워크 뷰에 의해 감시되는 스크립트에서 변수의 동기화를 커스터마이즈 하는데 사용됩니다.
OnServerInitializedNetwork.InitializeServer가 invoke되고 완료될 때마다 서버에서 호출됩니다.
OnTransformChildrenChanged이 함수는 해당 GameOjbect의 트랜스폼의 차일드 리스트가 변경되었을 때 호출됩니다.
OnTransformParentChanged이 함수는 해당 GameOjbect의 트랜스폼의 부모 프로퍼티 리스트가 변경되었을 때 호출됩니다.
OnTriggerEnter Collider가 다른 트리거 이벤트에 침입했을 때 OnTriggerEnter가 호출됩니다.
OnTriggerEnter2D오브젝트에 연결된 트리거 안에 다른 오브젝트가 들어갔을 때 호출됩니다. (2D 물리만)
OnTriggerExitOnTriggerExit는 Collider가 /other/의 트리거에 닿는 것을 중지했을 때 호출됩니다.
OnTriggerExit2D트리거 상태의 오브젝트 콜라이더와 다른 오브젝트의 콜라이더가 충돌에서 떨어진 순간에 호출됩니다. (2D 물리만)
OnTriggerStayOnTriggerStay는 트리거를 건드리고 있는 각각/ 다른 / Collider에 대해서 매 프레임 당 한번 호출됩니다.
OnTriggerStay2D트리거 상태의 오브젝트의 콜라이더와 다른 오브젝트의 콜라이더가 충돌하고 있는 동안 매 프레임 계속 호출됩니다. (2D 물리만)
OnValidateThis function is called when the script is loaded or a value is changed in the inspector (Called in the editor only).
OnWillRenderObjectOnWillRenderObject는 해당 오브젝트가 보이는 경우에 각 카메라에서 호출됩니다.
Reset기본 설정 값으로 리셋합니다.
StartStart는 Update메소드가 처음 호출되기 바로 전에 호출됩니다.
UpdateUpdate는 MonoBehaviour가 활성화 되어 있는 경우에, 매 프레임마다 호출됩니다.