안녕하세요.
An infinite import loop has been detected. 라는 문구와 함께 무한히 반복하는 Compiling Scripts 팝업을 보게 됩니다. 제가 지쳐서 팝업의 Cancel 버튼을 누르기 전까지는요.
오랜만에 글 남겨보는 연구실장입니다.
오늘은 Unity 6 에 대한 글을 써보려고 합니다.
Unity 6 가 정식으로 출시한게 2024년 4월 29일이니, 벌써 1년이 다 되어갑니다.
저는 정식 출시 소식을 듣고 6000.0.0f1 를 다운받았고, 2~3주 마다 새 버전으로 업데이트를 하며 계속 Unity 6를 사용했습니다.
현재 제 메인 장비에는 6000.0.40f1 과 6000.0.34f1 이 설치되어 있습니다.
오늘 다시 확인해보니 6000.0.42f1 까지 릴리즈가 되었네요.
6000.0.42f1 도 조만간 설치해봐야겠네요.
아무튼 그동안 Unity 6 를 사용하며 느꼈던 것들을 글로 정리해보려고 합니다.
### 회사 업무에서 사용하고 있던 Unity,
저는 기존에 Unity 2022.3.42f1 을 사용하고 있었습니다.
주로 WebGL 을 타겟으로 build 를 하지만, 때로는 Windows 와 Android, iOS 로도 build 를 진행합니다.
그간 회사에서 프로젝트를 진행하면서
- 우리가 사용하는 asset 들이 안정적으로 잘 동작하고 있고
- WebGL / Windows / Android / iOS 모두 정상적으로 잘 빌드가 되고 있으니
큰 일이 아니면 굳이 업데이트를 하려고 하지 않았습니다.
### 그런데 Unity 6 는,
Unity 6가 구미가 당겼던 것은 이전보다 강력해진 Web 지원이었습니다.
특히나 Mobile Web 지원.
이전에는 Mobile Web 을 정상적으로 지원하지 않았기 때문에 약간의 아쉬움이 있었습니다.
그외에도 많은 부분에서 좋아졌다는 소식들이 저로 하여금 Unity 6를 다운로드 받게 만들었고,
그걸로 Unity Korea 에서 진행했던 노마드 코더의 김치런도 참여하며 재밌게 작업을 해보고 있습니다.
![]() |
노마드 코더님 강의를 들으며 만들었던 김치런 |
처음 6000.0.0f1 같은 경우는 아쉬운 모습도 보였습니다.
Android build 를 하고 싶은데, keystore 도 입력하지 못하는 상황도 있었거든요.
그래도 2~3주 마다 새 버전이 나오고, 이전의 오류들이 고쳐지는 모습들이 좋다고 생각했습니다.
그러다가 6000.0.40f1 까지 올리고 나서,
"이제는 메인 프로젝트에도 적용해봐도 되지 않을까?" 라는 생각이 들었습니다.
몇가지 실험을 해보고, '버전을 올려봐도 괜찮겠다.' 는 판단이 서서 과감히 버전을 올렸습니다.
하지만...
### 다양한 이슈...
몇 가지 이슈들을 만났지만, 저에게 가장 크게 다가왔던 부분들만 적어보겠습니다.
처음 만난 이슈는 Unity Web build 실패 입니다.
분명 이전에 사용하던 버전에서 Web build 가 됐었는데, 특정 버전 이후부터 안 되더니 6000.0.40f1 에서도 Web build 가 계속 실패했습니다.
Web build 를 하며 'Decompress fallback 을 enable' 하고 진행하면,
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'match')
이라는 오류가 발생하는 문제입니다.
구글링해서 찾아본 discussion 페이지에서 이 문제가 여러 사람에게 나타나고 있다는 것을 알게 되었습니다.
( 링크 요약 : 6000.0.35f1 부터 Web build 가 실패한다. )
( 링크 요약 : 여러 버전에서 이 문제가 발생하고 있는 것을 확인했고, 6000.0.42f1 에서는 fix 되었다. )
몇 가지 더 실험을 해보다가 위와 동일한 방식으로 진행해도 문제가 없는, Web build 가 가능한 마지막 버전인 6000.0.34f1 으로 내려왔습니다.
그 다음 만난 이슈는 생각 이상으로 느린 Web build 시간 입니다.
기존 프로젝트의 버전을 업데이트 후 build 를 눌렀는데, 정말 엄청 오랜 시간이 소요되었습니다.
정확하게 얼마나 걸릴지 알 수 없어, 50분이 넘어갈 즈음에 cancel 버튼을 눌러 build 를 취소했습니다.
2022.3.42f1 에서는 15~17 분 사이에서 build 가 마무리 되곤 했지만, 50분이 넘기는 건 처음 보는 현상이었습니다.
해당 이슈로 다시 구글링해서 찾아본 discussion 페이지에는 몇 가지 추천 사항이 있었습니다.
( 링크 요약 : 최초 빌드는 약 10배의 시간이 더 걸린다.
Development mode 를 활성화,
WebAssembly 2023 feature set 을 활성화,
Compression format 을 None 으로 설정.
그러면 빠르게 빌드할 수 있을 것 )
하지만 개발 모드를 사용하지 않고, Brotli compress 를 사용하면
Build 가 완료될 때 까지 꽤나 긴 시간을 사용할 수 밖에 없었습니다.
세번째 이슈는 Unity 6 를 사용하기 가장 어렵게 만들었던 이슈인, infinite loop 입니다.
저는 Mirror 와 Weather Maker 라는 asset 을 사용하고 있는데,
이 두 asset 은 Unity 6 프로젝트에 import 하면 100% 확률로 이 문제가 발생하고 있습니다.
![]() |
Running Backend 가 끝나질 않습니다. 이 문제 아시는 분이 계시면 댓글 좀 달아주세요. |
An infinite import loop has been detected. 라는 문구와 함께 무한히 반복하는 Compiling Scripts 팝업을 보게 됩니다. 제가 지쳐서 팝업의 Cancel 버튼을 누르기 전까지는요.
이건 해결책을 찾질 못해서, 더더욱 답답했던 문제였습니다.
이 글을 쓰는 지금도 해결책을 찾지 못했습니다.
마지막 이슈는 WebSocket 연결 오류 입니다.
이건 제가 뭔가를 실수했을 수도 있겠지만, 기존에 잘 동작하고 있었던 항목이 업데이트 이후에 안되니 … 결국 버전 다운그레이드를 진행할 수 밖에 없었습니다.
![]() |
이 문제도 아시는 분이 계시면 댓글 좀 달아주세요. |
### 결국 다시 2022.3.42f1 을 사용하지만...
그래도 계속 Unity 6 를 테스트 해보려고 합니다.
분명 이전보다 좋아진 부분이 있고,
계속해서 bug fix 를 진행하며 조금씩 나아지는 모습을 보여주고 있다고 생각합니다.
실무에 바로 적용하기엔 여러가지 문제가 있을 수 있습니다.
일부 asset 은 Unity 6 지원이 아직 미흡할 수도 있습니다.
그렇지만 새로운 기능들을 테스트하거나, Unity 에서 제공하는 샘플 프로젝트를 돌리는 부분에서는 문제가 없으니 혹 관심이 있는 분들이 있다면 Unity 6 한번 사용해보셔도 좋을 것 같습니다.
![]() |
이 이미지를 누르면 Unity 6 소개 페이지로 이동합니다. 한번 맛 보시는 것도 좋지 않을까요? |
긴 글 읽어주셔서 감사합니다.