728x90
반응형
- 개요

유니티의 Script Execution Order 기능을 사용하면 스크립트의 실행 순서를 임의로 조작할 수 있다
일반적인 스크립트들은 위의 Default Time 구간에서 실행된다
그러나 + 아이콘을 누르거나 드래그 앤 드롭하여 스크립트를 Default Time 이전에 배치하면 해당 스크립트는 우선 실행된다
스크립트를 배치한 후에 Apply를 누르면 조정한 스크립트의 실행 순서를 적용한다
- Script Execution Order의 실제 사용
1) ScriptA 클래스

ScriptA 클래스를 위와 같이 구성하였다
싱글톤 패턴을 사용하여 Awake 함수에서 고유한 인스턴스를 생성한다
2) ScriptB 클래스

ScriptB 클래스를 위와 같이 구성하였다
Awake 함수를 오버라이드하되, ScriptA 클래스의 고유한 인스턴스를 사용하도록 설정하였다
3) 스크립트 실행 순서 조정

일반적인 상황이라면, ScriptA의 인스턴스로부터 TestFunc 함수를 호출할 수 없다
하지만 실행순서를 조정하여 ScriptA의 스크립트를 우선 실행하도록 설정하였다


실행 순서를 조정했을 때 위와 같은 결과를 얻을 수 있다
- 주의사항
스크립트의 실행 순서 조작은 유용한 기능이지만
유니티에서 지정한 실행 주기를 해치는 행위이므로 가급적 사용하지 않는 것을 권장한다
따라서 필요한 경우 다음의 규칙을 세워 코드 흐름을 설계하는 것이 좋다
- 클래스 본인의 객체를 초기화해야 하는 경우 : Awake 함수에서 수행
- 다른 클래스의 객체를 참조하거나 접근해야 하는 경우 : Start 함수에서 수행
728x90
반응형
'유니티 엔진 > 유니티 엔진의 구성' 카테고리의 다른 글
| 유니티 엔진의 구성 - 22) 로그 (0) | 2026.02.23 |
|---|---|
| 유니티 엔진의 구성 - 21) Hiearchy 버튼 (0) | 2026.02.19 |
| 유니티 엔진의 구성 - 19) Pivot vs Center와 Global vs Local (0) | 2026.02.14 |
| 유니티 엔진의 구성 - 18) Game Object Icon Gizmos (0) | 2026.02.11 |
| 유니티 엔진의 구성 - 17) Resources (0) | 2026.02.03 |