24.4 C
Seoul
Tuesday, July 7, 2020
Home Blog URP 패키지 설치가 오래 걸리는 이유

[URP 포팅] URP 패키지 설치가 오래 걸리는 이유

지난번에 4회에 걸쳐서 URP 포팅기를 올렸습니다. 그때는 탐색전이고 이제야 본경기입니다. 그때는 기술적인 이슈와 예상시간을 알아보려는 목적이었다면 이제는 실제 개발 중인 프로덕트를 포팅해야 합니다. 실제로 개발 중인 프로덕트를 URP로 포팅한다는 것은 그 범위나 디테일 면에서 차이가 큽니다. 기본적으로는 빌트인 렌더러의 결과 화면과 URP의 결과 화면이 픽셀 하나까지 일치하도록 맞춰야 하고, 차이가 난다면 이유가 무엇인지, 근본적으로 해결이 안 되는 문제인지 확실하게 분석을 해야 합니다. 이 번 포스팅을 시작으로 본격적인 URP 포팅 기록을 시작해보겠습니다.

URP 패키지 설치가 오래 걸리는 이유

URP 포팅을 하려면 URP 패키지를 설치해야 합니다. 근데, 샘플이 아닌 현실의 프로젝트에서는 URP 설치에 30분~1시간 정도의 시간이 걸립니다. 왜일까요?

이유는 바로 프로젝트의 모든 재질을 리임포트하기 때문입니다. LWRP가 URP로 발전하는 과정에서 많은 것이 바뀌었는데 그 부분을 자동으로 마이그레이션 해주려고 유니티에서 선택한 방식이 바로 모든 재질을 리임포트하면서 임포트 스크립트에서 마이그레이션을 수행하는 것입니다.

샘플 프로젝트라면 고마운 일이겠지만, 현실 프로젝트의 크기는 수백 기가를 넘어가는 크기라서 엄청나게 오랜 시간이 걸리게 됩니다. 설상가상으로 처음 URP를 설치한 PC 뿐 아니라 git/svn을 통해서 프로젝트를 내려받은 모든 PC에서도 동일한 마이그레이션 작업을 진행하게 됩니다. 캐시 서버를 쓰더라도 도움이 되지 않습니다. 모든 직원이 URP 설치에 1시간씩 써야만 한다는 게 사소한 시간 낭비는 아니죠.

자동 마이그레이션을 원하는지 물어보는 창을 한 번 띄워줬으면 좋았을 텐데 하는 아쉬움이 남습니다.

자동 마이그레이션 끄기 (커스텀 URP 설치)

설치가 오래 걸리는 문제를 해결하기 위해서 자동 마이그레이션을 끄는 것을 선택할 수 있습니다. 방법은 URP 소스코드에서 AssetPostProcessors 디렉터리 안쪽의 클래스들을 주석으로 막으면 됩니다. 하지만 모든 PC에서 이 작업을 하는 것은 현실적으로 어려우므로, git/svn을 통해서 전파할 수 있는 방법이 필요합니다. 그중에 하나는 패키지 매니저를 통해서 URP를 설치하는 대신에 URP 소스코드를 프로젝트의 Packages 디렉터리에 직접 복사해서 설치하는 방법입니다.

처음에는 패키지 매니저를 통해서 URP를 설치합니다. 그러면 아래처럼 Package Cache 디렉터리에 소스코드가 받아집니다.

이 디렉터리를 프로젝트 루트의 Packages 디렉터리로 복사하고, 패키지 매니저에서는 언인스톨합니다. 이렇게 하면 커스텀 버전의 SRP 수동 설치 완료!

그리고서 AssetPostProcessors 디렉터리의 클래스들을 원하는 만큼 주석한 다음에 git/svn을 통해 올려주면 됩니다. 이렇게 하면 소스코드를 받은 다른 PC에서 아무런 대기 시간 없이 URP를 사용할 수 있습니다.

이 방법의 단점은 URP를 업그레이드 할 때마다 수동으로 머지를 해줘야 한다는 점입니다. 물론, URP를 수정하면서 쓸 예정이신 분들은 괜찮겠지만요.

추가 정보

포스팅을 쓰면서 몇 가지 URP 버전을 받아보니 제가 문제를 겪던 시점과 소스코드가 달라진 것 같습니다. 제가 작업하던 소스코드에서 스크립트 컴파일이 끝나면 무조건 모든 재질의 리임포트를 시도했는데, 이제는 그런 코드가 보이지 않네요. 수정된 것이라면 다행이고, 아니라면 위의 방법을 활용해 보시길 바랍니다.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay connected

58FansLike
56FollowersFollow
156FollowersFollow
128FollowersFollow
- Advertisment -

Recipe of the day