Game Development, 게임개발/개발

Start()와 Awake()의 차이 [Unity]

게임이 더 좋아 2021. 3. 21. 03:25
반응형
728x170

 

1. Awake()

 

Awake()는 일반적으로 게임이 시작되기 전에, 모든 변수와 게임의 상태를 초기화하기 위해서 호출된다.

즉, start보다 먼저 호출된다.

 

다행히 모든 오브젝트가 초기화되고 호출되기 때문에

GameObject.FindWithTag를 이용해서 해당 게임 오브젝트를 요청하거나, 다른 오브젝트와 안전하게 연동해서 사용할 수 있다.

 

즉, 초기화시키기에 이렇게 알맞은 것이 없다.

 

**단, 각 게임오브젝트의 Awake()는 랜덤 순서로 실행되기 때문에

스크립트간의 참조(reference)를 설정하기 위해 Awake를 사용하고, 정보를 보내고 받는 경우에는 Start를 사용해야 한다.

 


 

2. Start()

 

Start()는 Update메소드가 처음 호출되기 바로 전에 호출되고

해당 Behaviour의 주기동안에 한번만 호출된다.

 

또한 Script Instance로 활성화 된 경우에만 실행되는데

이게 무슨말이냐 하면??

스크립트가 컴포넌트로 있을 때를 이야기 한다.

GameObject에 추가로 인스턴스화가 되어서 그렇게 표현한다.

 

 


 

Awake() - Start() - Update()이런 순서라고 볼 수 있다.

 

 

반응형
그리드형