Loading...
2017. 9. 24. 13:15

unity의 awake

script 함수 실행 순서는 awake, onenable, start다. 이건 알고있던 건데 작업을 하다가 자꾸 awake에 에러가 나서 에러를 찾다보니하이라키에서 활성화 되어 있는오브젝트에 비활성화로 달려있는 컴포넌트였다. 여기에 붙어있는 컴포넌트의 내용은 아래와 같다.public class TestAwake : MonoBehaviour { void Awake() { Debug.Log("Awake"); } void OnEnable() { Debug.Log("OnEnable"); } void Start () { Debug.Log("Start"); } void Update () { Debug.Log("Update"); }} 똑같은 상태에서 TestAwake 컴포넌트의 active만 꺼 두면 어떻게 될까?..

ExecuteInEditMode

작업할때 디자이너분들이 작업하기 편하게 "ExecuteInEditMode"를 자주 쓰는 편인데어느날 에디터 실행후 종료시에 이상한 에러가 뜬다.봤더니 에디터 실행 후 종료시에 ExecuteInEditMode 코드가 있는 스크립트의 start 함수가 호출된다.누가 호출하는걸까..콜백도 없고...그래서 디버그를 다 찍어서 editor을 실행하니 ExecuteInEditMode 코드가 있는 스크립트에서는 1. 에디터 실행 - script의 OnDestroy 실행, Start 실행2. 에디터 종료 - script의 OnDestroy 실행, Start 실행 위와 같은 루틴을 탄다. [ExecuteInEditMode]public class ExecuteTest : MonoBehaviour { // Use this ..