내가 일하며 알게 된 프로그래밍
article thumbnail

유니티 캐시서버에 대해 알아보자.

협업을 하면서 git, svn, cvs 등 형상관리 툴을 사용하다 보면 버전별 branch가 다양하게 나뉘는건 당연한 일이다.

이때 branch를 옮겨다니다 보면
Unity 에서는 바뀐 에셋 파일을 감지하고 해당 에셋들에 대해 다시 import를 진행한다.
(.psd, .fbx, (psd,fbx).meta, texture들의 내부 버전번호,  AssetPostprocessors 버전의 해시가 변경되면 import를 다시 진행한다)
이렇게 에셋들에 대한 임포트를 다시 실행할때마다 대기시간이 걸린다
프로젝트의 크기에 따라 짧게는 몇초 길게는 몇시간까지도 소요된다.
이걸 해결하기 위한 기능이 Cache Server의 기능이다.
Local서버 혹은 Remote서버에 임포트된 파일들을 캐싱해두고 에셋이 변경될 때 더욱 빠르게 로드를 완료할 수 있도록 도와주는 기능이다.
*주의1. 모든 파일을 캐싱해두진 않는다
*주의2. 일정기간 사용되지 않는 파일은 자동으로 삭제된다

사용법
Edit - Preferences - Cache Server

(Unity 버전에 따라 옵션의 차이가 있음)
중요 옵션
-New Projects default asset pipeline : 에셋 파이프라인을 선택
-Cache Server mode : Local (로컬저장소) or Remote (리모트 서버)

 

[Local옵션]
-Maximum Cache Size : 캐시서버의 크기 (프로젝트의 규모에 따라 변경)
-Custom cache location : 기본 지정 저장소 이외의 다른 Path값 설정

 

[Remote옵션]
-IP Address : 리모트 캐시서버의 IP주소

 

[Unity5 버전 이후 생긴 옵션]
Cache Server Dafault Mode : 기본으로 사용할 IP주소

캐시서버의 기능을 사용한다면
Hold on 없는 브랜치 변경은 아닐지라도
혁신적으로 줄어든 Hold on 시간을 맞이할 수 있을것이다.

Unity Docs
https://docs.unity3d.com/kr/current/Manual/CacheServer.html

 

캐시 서버 - Unity 매뉴얼

중요: 캐시 서버는 에셋 임포트 파이프라인 버전 1을 지원합니다. 에셋 임포트 파이프라인 버전 2를 사용하는 경우에는 Unity 액셀러레이터를 대신 사용하십시오.

docs.unity3d.com

https://docs.unity3d.com/kr/current/Manual/Preferences.html#Cache-Server

profile

내가 일하며 알게 된 프로그래밍

@CtrlVGames