Unity5에 또 작은 기능이 추가되었다. 바로 RuntimeInitializeOnLoadMethod 이라는 attribute 이다.


이것은 unity game이 실행 될때, 무조건 실행되는 함수이다.

Editor에서 InitializeOnLoadMethod와 동일한 기능을 하는 기능이다.

다른 점은 RuntimeInitializeOnLoadMethod은 게임 실행시에 처음 실행되는 기능이라는 것이다.


Unity4에서도 계속 이런 기능을 원했건만, 드디어 추가 되었다.

static constructor는 누군가가 이 class를 접근해야만 실행되는 거라서, 실행이 불확실했는데, 이제는 단순히 이 attribute를 사용만 하면 된다.

주의할 점은 RuntimeInitializeOnLoadMethod가 항상 제대로 실행되지는 않는다. Editor에서는 잘 실행되면 메서드가, 모바일 빌드해서 돌리면, 실행되지 않는 경우가 발생한다.

현재까지 경험한 바로는 DLL로 미리 빌드해 넣은 Plugin에 있는 RuntimeInitializeOnLoadMethod는 Editor에서는 실행되고, mobile 빌드에서는 실행되지 않는다.

Posted by 바람인생
,