인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Jae Young Park님의 프로필 이미지
Jae Young Park

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Scene Manager #1

(오류정정요청) Awake 설명

작성

·

635

6

강의 타임라인 중 13:55 부터 Awake를 설명하는 부분에서

" 꺼놓은 상태에서 적용되는 애가 더 있어요"

"게임 신 현재 들고 있는 컴포넌트를 끈 상태에서도 잘 작동하길 원한다면 Awake로 만드는 것도 하나의 방법이 되겠구요"

라고 언급하고 있습니다.

그런데, Unity Documentation에 따르면 active(켜놓은 상태) 할 때 Awake가 작동된다고 나와있습니다. 실제로 제가 @Scene을 끄고 Awake가 동작하는 지 디버깅을 했을 때 Awake가 호출되지 않았으며 EventSystem Null Reference Error가 로그로 찍혔습니다.

강의에서는 @Scene을 킨 상태에서(체크 박스를 체크한 상태) 테스트를 하고 있기도 합니다.

Awake는 active한 상태 + 컴포넌트가 disabled 된 경우일 때 Start와 달리 호출된다고 정정해야 할 것으로 보입니다.

https://docs.unity3d.com/ScriptReference/MonoBehaviour.Awake.html

답변 2

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

네 말씀하신게 맞습니다.
[꺼놓은 상태에서 적용되는]이 아니라 [최초 생성될 때 실행되는]으로 말했어야 했는데
순간 말을 잘못했네요

0

설명하시면서 약간 말씀이 꼬인 것 같은데 오브젝트 비활성화가 아니라 스크립트 비활성화를 했을 때 Start()는 호출되지 않지만 Awake()는 호출됩니다.

Jae Young Park님의 프로필 이미지
Jae Young Park

작성한 질문수

질문하기