🛠 유니티 엔진/기초

유니티 기본 함수 목록

또디기 2025. 3. 23. 20:06

게임 루프 함수

Awake()

  • 스크립트의 활성화 여부와 관계 없이, 오브젝트가 활성화되어 있다면 가장 먼저(Start보다 우선) 호출된다.
  • 단, Start와 마찬가지로 오브젝트가 비활성화된 채로 게임 루프에 진입하면, 오브젝트가 활성화되는 시점에 호출된다.
  • 프리팹을 Instantiate로 생성하는 경우, 생성 직후 호출된다.

Start()

  • 스크립트가 활성화되어 있을 때 첫 번째 Update()가 호출되기 전에 호출된다.
  • 스크립트가 비활성화된 채로 게임 루프에 진입하면, 스크립트가 활성화되는 시점에 호출된다.

이하의 함수들은 Start와 마찬가지로 스크립트에 바인딩되며, 스크립트가 활성화되어 있을 때에만 동작한다.

Update()

  • 매 프레임 호출된다.
  • 경과 시간의 일관성을 보장할 수 없다.
  • 매 프레임 수행되어야 하는 동작을 정의한다.

FixedUpdate()

  • 일정한 주기(Fixed TimeStep) 간격으로 호출된다. 실제로 다른 스레드에서 일정 간격마다 호출하는 건 아니고, FixedUpdate의 호출 여부를 결정하는 곳에서 누적된 시간에서 TimeStep을 빼가며 반복 호출하는 식이다.
  • 경과 시간의 일관성이 보장된다.
  • 물리 시뮬레이션은 FixedUpdate가 호출된 후 일어난다.

LateUpdate()

  • Update()가 호출된 다음으로 호출된다.
  • 주로 Update에서 값을 바꾸고, 그에 따른 처리를 LateUpdate에서 해주는 방식으로 사용한다.

OnDrawGizmos()

  • 렌더링 루프에서 기즈모를 그릴 때 호출되며 여기서 Gizmo 클래스를 사용해 기즈모를 그릴 수 있다.

OnGUI()

  • 렌더링 루프에서 GUI를 그릴 때 호출되며 여기서 GUI 클래스를 사용해 GUI를 그릴 수 있다.
  • GUI이므로 실제 게임에서도 그려지는 것이다.

이벤트 함수

OnBecameVisible(), OnBecameInvisible()

  • 게임 오브젝트에 부착된 렌더러가 카메라 절두체 공간에 들어올 때 / 벗어날 때 호출된다.

OnCollisionEnter(), OnTriggerEnter(), -Stay(), -Exit()

  • 콜라이더가 부착된 오브젝트가 다른 콜라이더와 충돌, 트리거 오버랩, 지속, 탈출하는 경우 호출된다.

OnMouseEnter(), OnMouseDown(), OnMouseDrag, OnMouseOver(), OnMouseExit()

  • 클라이언트의 마우스가 콜라이더 위에 진입, 그 상태로 클릭, 드래그, 지속, 탈출하는 경우에 호출된다.

OnDestroy()

  • 게임 오브젝트가 파괴되기 전에 호출된다.

이 외에도 엄청나게 많은 상속 가능한 함수들이 있다. 자세한 내용은 유니티 Docs를 참고하자.

https://docs.unity3d.com/kr/2021.1/ScriptReference/MonoBehaviour.html