https://docs.unity3d.com/kr/current/Manual/ExecutionOrder.html
이벤트 함수의 실행 순서 - Unity 매뉴얼
Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하고 실행 시퀀스에 어떻게 포함되는지 설명합니다.
docs.unity3d.com
Script lifecycle flowchart

잘 작성 했는데 문제가 생긴다면 라이프 사이클 확인한다.
각 함수 설명
Awake : 항상 Start 함수의 이전 및 프리팹의 인스턴스화 직후에 호출됩니다.
OnEnable : 오브젝트가 활성화된 경우에만 호출됩니다
씬에 추가 된 오브젝트에서 모든 스크립트는 Start, Update 등기 기타 함수가 호출되기 전에 Awake와 OnEnable 함수가 호출되는 것에 주의하십시오.
당연히 오브젝트가 게임 플레이 중에 인스턴스화 되었을 때 강제로 호출할 수 없습니다.
Start : 스크립트의 인스턴스가 활성화되면 첫 번째 프레임의 업데이트 전에 Start가 호출됩니다.
Update : Update는 프레임마다 한 번씩 호출됩니다.
이것은 프레임의 업데이트에 대한 주요 기능입니다.
OnDestroy : 오브젝트 생존기간의 마지막 프레임의 프레임 업데이트 후 OnDestroy가 호출됩니다
(오브젝트는 Object.Destroy 또는 씬 종료시에 파기됩니다)
OnApplicationQuit : 이 함수는 응용 프로그램 종료 전에 모든 게임 오브젝트에서 호출됩니다.
에디터에서는 사용자가 재생 모드를 중지하면 호출됩니다. 웹 플레이어에서는 웹 뷰가 닫힐 때 호출됩니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Test : MonoBehaviour
{
//멤버변수, 필드, 속성
private int count;
private void Awake()
{
Debug.Log("Awake");
}
private void OnEnable()
{
Debug.Log("OnEnable");
}
// Start is called before the first frame update
void Start()
{
int age; //지역변수
age = 30;
Debug.LogFormat("age: {0}", age); //합성서식 문자열이다, 문자열 보간 사용 가능하다.
}
private void OnDisable()
{
Debug.Log("OnDisable");
}
private void OnDestroy()
{
Debug.Log("OnDestroy");
}
}

Awake -> OnEnable -> Start

Awake -> OnEnable -> Start -> OnDisable(오브젝트가 비활성화 되었을때)

Awake -> OnEnable -> Start -> OnDisable(오브젝트가 비활성화 되었을때) -> OnDestroy(오브젝트가 파괴 되었을때)
'Unity > 참고자료' 카테고리의 다른 글
| [Unity] 커스텀 에디터 : 씬에서 원 그리기 (0) | 2021.10.22 |
|---|---|
| IsPointerOverGameObject / RayCast가 UI를 통과하지 않게하기 (0) | 2021.10.20 |
| Unity : 스크립트를 실행하는 방법 (0) | 2021.10.10 |
| Unity : 인터페이스 및 유니티 메뉴얼 (0) | 2021.10.10 |
| Unity : 유니티 기초, 문법 , 게임 설계 (0) | 2021.10.06 |