목차

반응형

유니티 프로젝트를 공유하거나 버전관리를 하다보면 한가지 의문이 생기는 부분이 있다.

라이브러리 폴더가 왜 그렇게 용량을 많이 먹는거고 꼭 있어야하는건지, 라이브러리 폴더는 어떻게 해야할지 의문이 생겨서 확인해보고 결과를 찾았다.

결론만 얘기하자면 라이브러리 폴더는 반드시 있어야한다.

 

목차

1. 유니티 오피셜

2. 웹상의 의견

3. 본인 경험, 회사 상사 의견

 

 

1. 유니티 오피셜

라이브러리 폴더가 무엇을 하는 것인지는 유니티 오피셜을 인용하자면

"Unity는 에셋 폴더에 추가하는 파일을 읽고 처리하여 파일 콘텐츠를 데이터의 내부 게임 레디 버전으로 변환합니다. 실제 에셋 파일은 수정되지 않은 상태로 유지되고 처리 및 변환된 데이터 버전은 프로젝트의 Library 폴더에 저장됩니다.

이 폴더는 캐시 폴더와 유사하다고 생각할 수 있습니다. 사용자는 라이브러리 폴더를 수동으로 변경하지 않아도 되며, 변경하려고 하면 Unity 에디터에서 프로젝트의 기능에 영향을 미칠 수 있습니다. 하지만 프로젝트가 열려 있지 않은 라이브러리 폴더를 Unity에서 언제든지 안전하게 삭제할 수 있습니다. 이 폴더의 데이터는 모두 에셋 및 ProjectSettings 폴더에 저장된 데이터로부터 생성되기 때문입니다. 따라서 라이브러리 폴더를 버전 관리에 포함시켜서도 안 됩니다."

간단하게 생각하면 프로젝트의 캐시데이터를 저장하고 라이브러리 폴더를 굳이 버전관리에 포함 안해도 ProjectSettings나 Asset폴더에 세팅값이 있어서 캐시데이터가 다시 생성되기 때문에 버전 관리에 포함 시켜서 안된다(왜 안해도 된다가 아니라 하면 안되는것처럼 표현했지)고 적혀있다.

https://docs.unity3d.com/kr/current/Manual/BehindtheScenes.html

 

씬의 기반 작업 - Unity 매뉴얼

Unity는 에셋을 자동으로 임포트하고, 에셋을 임포트하는 데 사용할 임포트 설정과 프로젝트 전반에서 에셋이 사용되는 위치 같은 에셋에 대한 다양한 추가 데이터를 관리합니다. 아래에는 이 프로세스가 진행되는 방법이 설명되어 있습니다.

docs.unity3d.com

여기까지 보면 Library 폴더는 없어도 무방한 것처럼 보인다.

라이브러리 폴더가 겁나 크기 때문에 걸리적 거리기도 한다. 나 같은 경우는 라이브러리 폴더만 2~3GB한다.

 

2. 웹상의 의견

대충 찾아보면 웹상 의견도 없애도 되고 어차피 알아서 생성되니까 필요없다고 한다.

Library 폴더에 대한 웹상의 의견

대부분은 삭제해도 괜찮음, 버전관리에서 포함시킬 필요없음.

이라고 한다.

 

3. 본인 경험, 회사 상사 의견

사실상 이 글의 핵심인데 내가 말하고자 하는 것은 다르다.

일단 나의 경험상으로는 분명히 Library를 삭제해도 된다고 나와 있어서 프로젝트의 Library 폴더를 삭제하고 다른 팀원한테 프로젝트를 공유해봤더니 특정 데이터의 Inspector의 값이 제대로 안들어가져 있어서 프로젝트가 정상적으로 돌아가지 않았다. 그래서 Library 문제가 맞는지 다시 한번더 전부다 압축해서 보낸뒤 구동해봤더니 정상적으로 구동됐다.

따라서 Library 폴더를 삭제하면 Cache 데이터가 100% 일치하지 않음을 확인했기 때문에 유니티의 공식 답변, 웹상의 의견과 다르게 항상 Library 폴더를 공유해야함을 확인했다.

 

이와 더불어서 회사 상사분께 내가 겪은 문제와 웹상에서 찾아본 내용으로 질문을 하니 본인도 항상 Library 폴더를 같이 공유하고 있다고 하였다.

 

결론 : 라이브러리 폴더는 필요하다.

 

ps : 근데 라이브러리 폴더 압축안하면 2~3gb지 압축하면 수백mb로 용량 줄어드니까 그냥 하자

반응형