Version: 2023.2
언어: 한국어
범위 지정 레지스트리 인증
에셋 스토어 캐시 위치 커스터마이즈

전역 캐시 커스터마이즈

패키지 관리자는 레지스트리 데이터와 압축되지 않은 패키지에 대한 전역 캐시를 유지합니다.

전역 캐시는 패키지 관리자가 에셋 스토어 패키지에 대해 유지하는 캐시와 별개입니다. 에셋 스토어 캐시에 대한 자세한 내용은 에셋 스토어 캐시 위치 커스터마이즈를 참조하십시오.

기본적으로 패키지 관리자의 전역 캐시 루트에는 다음과 같은 하위 디렉토리가 있으며, 각 하위 캐시는 서로 다른 용도로 사용됩니다.

  • db 하위 디렉토리에는 레지스트리 데이터(패키지 메타데이터 및 타르볼)가 저장됩니다.
  • packages 하위 디렉토리는 패키지 타르볼의 압축되지 않은 콘텐츠를 저장합니다.
  • Git LFS를 활성화한 경우 git-lfs 하위 디렉토리는 다운로드한 Git LFS(Large File Storage) 파일을 저장합니다.

패키지 관리자는 전역 캐시를 기본 위치에 저장하며, 이 위치는 오버라이드가 가능합니다. 전역 캐시 루트의 기본 위치에 대한 자세한 내용은 전역 캐시를 참조하십시오.

다음과 같은 여러 이유로 전역 캐시 위치를 오버라이드해야 할 수 있습니다.

  • 내부 드라이브의 공간을 절약하려고 함
  • 다른 사람들이 액세스할 수 있도록 공유 드라이브에 캐시를 저장하려고 함
  • 시스템 디렉토리가 아닌 폴더에 캐시를 저장하려고 함

2023.2.0f1부터 db 하위 디렉토리의 최대 크기는 기본적으로 10GB이며, 이는 오버라이드가 가능합니다. 다음과 같은 여러 이유로 db 하위 디렉토리의 최대 크기를 오버라이드해야 할 수 있습니다.

  • 사용 가능한 디스크 공간이 적은 경우 공간을 절약하기 위해 제한을 낮출 수 있음
  • 사용 가능한 디스크 공간이 많은 경우 제한을 늘릴 수 있음. 이렇게 하면 패키지 관리자가 캐시에 더 많은 데이터를 저장할 수 있으므로, 패키지를 다시 다운로드하지 않고도 캐시에서 패키지를 가져올 수 있습니다. 캐시된 패키지는 설치 속도가 빨라지고 네트워크 사용량도 줄어듭니다.

다음 표는 기본 프로퍼티를 오버라이드하는 데 사용할 수 있는 여러 메서드를 보여 줍니다.

메서드 전역 캐시 위치 db 하위 디렉토리 최대 크기 추가 참고 사항
Preferences 창 지원 지원 안 함 이는 간편하고 영구적이라는 점에서 권장되는 메서드입니다. 이 메서드를 사용하여 패키지 캐시 위치를 변경하면 Unity는 현재 및 향후 Unity 에디터 세션에 대한 환경 설정을 저장합니다.
사용자 설정 파일 지원 지원 사용자 설정 파일의 패키지 캐시 프로퍼티 오버라이드는 현재 Unity 에디터 세션 이후에도 유지됩니다.
환경 변수 지원 지원 기본적으로 이 메서드는 현재 커맨드 프롬프트(또는 터미널) 세션에 대한 구성을 설정하지만 운영체제 설정에서 영구적으로 설정할 수 있습니다. 고급 사용자는 특정 사용 사례에서 세션 기반 변수를 선호할 수 있습니다.

참고: Preferences 창을 사용하여 전역 캐시 위치를 설정하면 사용자 설정 파일에서 cacheRoot 프로퍼티도 설정됩니다. 사용자 설정 파일을 수동으로 설정하려면 사용자 설정 파일 사용을 참조하십시오.

시작하기 전 중요한 참조 사항

  • 어떤 방법을 선택하든 캐시 위치를 변경하면 패키지 관리자가 앞으로 해당 위치를 사용하도록 지시합니다.패키지 관리자가 원래 위치에 저장한 기존 패키지는 해당 폴더 구조에 유지됩니다.
  • db 하위 디렉토리의 최대 크기를 설정했는데 새 크기가 해당 하위 디렉토리의 현재 크기보다 작은 경우, 패키지 관리자는 새로운 제한에 도달할 때까지 캐시에서 콘텐츠를 제거합니다. 패키지 관리자는 가장 이전에 사용된 콘텐츠를 먼저 제거합니다(프로젝트에 설치한 날짜 기준).
  • 사용자 설정 파일을 사용하면 현재 사용자 계정에 변경 사항이 적용됩니다. 전역 설정 파일이 있더라도 캐시 오버라이드는 전역 설정 파일에서 설정할 수 없습니다.
  • 서로 다른 방법으로 여러 값을 설정하는 방식에는 다음과 같은 다양한 요인이 영향을 미칩니다.
    • 환경 변수 메서드를 사용하여 캐시 위치를 변경한 경우 Preferences 창을 사용하여 위치를 변경할 수 없습니다.
    • 환경 변수 설정은 사용자 설정 파일이나 Preferences 창에서 동일한 설정을 적용하는 것보다 우선합니다.
    • 레지스트리 데이터 캐시(UPM_NPM_CACHE_PATH), 압축되지 않은 패키지 캐시(UPM_CACHE_PATH) 또는 Git LFS 캐시(UPM_GIT_LFS_CACHE_PATH)에 대한 환경 변수를 설정하면 패키지 관리자는 전역 캐시 루트의 위치에 관계없이 환경 변수에서 지정하는 위치를 사용합니다.
    • 경로(UPM_GIT_LFS_CACHE_PATH)를 명시적으로 설정하지 않고 Git LFS 캐시(UPM_ENABLE_GIT_LFS_CACHE)를 활성화하면 패키지 관리자는 전역 캐시 루트 아래의 git-lfs 폴더를 위치로 사용합니다.

Preferences 창 사용

Preferences 창을 사용하여 전역 캐시의 기본 위치를 오버라이드하려면 다음 단계를 따르십시오.

  1. 다음 방법 중 하나를 사용하여 Preferences 창을 엽니다.

    • Preferences 창에 나와 있는 대로 Unity 에디터 메뉴를 사용합니다.
    • Package Manager 창을 열고 Advanced 메뉴를 연 다음 Preferences를 선택합니다.
  2. Package Manager 카테고리를 선택합니다.

  3. Packages에서 Cache Location 옆에 있는 메뉴를 엽니다.

  4. Change Location을 선택합니다.

  5. 전역 캐시의 새 위치를 선택합니다.

Package Manager 카테고리가 선택된 Preferences 창
Package Manager 카테고리가 선택된 Preferences 창

사용자 설정 파일 사용

사용자 설정 파일을 수동으로 편집하여 전역 캐시 루트의 위치나 db 하위 디렉토리의 최대 크기 또는 둘 모두를 오버라이드할 수 있습니다.

다음 단계에 따라 사용자 설정 파일을 편집합니다.

  1. .upmconfig.toml 사용자 설정 파일을 찾습니다.파일 위치를 찾으려면 설정 파일을 참조합니다.파일이 없는 경우 빈 텍스트 파일을 생성합니다.

  2. 전역 캐시 루트의 위치를 오버라이드하려면 cacheRoot 키를 추가하고 그 값을 커스텀 위치에 절대 경로로 설정합니다. 중요:TOML 파일에서 Windows 경로를 설정할 때는 슬래시(/) 또는 더블 슬래시(\\)를 사용하십시오.백슬래시(\)는 이스케이프 시퀀스를 표시하는 특수 문자이므로 TOML 구문 분석 오류를 발생시킬 수 있는 백슬래시를 사용하지 마십시오.

  3. db 하위 디렉토리의 최대 크기를 오버라이드하려면 maxCacheSize 키를 추가하고 그 값을 바이트 수를 나타내는 양의 정수로 설정합니다. 예를 들어 크기를 5GB로 설정하려면 5000000000 값을 할당합니다.

프로퍼티를 설정한 후 Unity 에디터 또는 허브를 다시 시작하지 않아도 변경 사항이 적용됩니다.

Windows 예시

cacheRoot = "E:\\Unity\\cache"
maxCacheSize = 5000000000

macOS 및 Linux 예시

cacheRoot = "/dev/external/shared/Unity/cache"
maxCacheSize = 5000000000

환경 변수 사용

자동화나 CI(지속적 통합)와 관련된 시나리오에서는 사용자 설정 파일이나 Preferences 창에서 설정을 구성하는 것이 실용적이지 않고 오류가 발생하기 쉽습니다.이러한 시나리오에서는 환경 변수를 사용하여 전역 캐시와 하위 캐시에 대한 설정을 구성하는 것이 좋습니다.다음 환경 변수를 사용할 수 있습니다.

환경 변수 설명
UPM_CACHE_ROOT 전역 캐시(레지스트리 데이터와 압축되지 않은 패키지 캐시가 포함된 루트 폴더)의 위치를 ​​지정합니다.
UPM_NPM_CACHE_PATH 패키지 관리자가 레지스트리 데이터 캐시에 사용하도록 할 위치에 절대 경로를 지정합니다. 기본적으로 이는 전역 캐시 루트 아래의 db 하위 디렉토리입니다.
UPM_CACHE_PATH 패키지 관리자가 패키지 타르볼의 압축되지 않은 콘텐츠를 저장하기 원하는 위치에 대한 절대 경로를 지정합니다.기본적으로 전역 캐시 루트의 packages 하위 디렉토리입니다.
UPM_ENABLE_GIT_LFS_CACHE 공백("")을 제외한 모든 값을 지정하여 Git LFS 캐시를 활성화합니다.기본적으로 패키지 관리자는 전역 캐시 루트의 git-lfs 하위 디렉토리를 사용합니다. 단, UPM_GIT_LFS_CACHE_PATH 환경 변수를 사용하여 다른 경로를 지정하는 경우는 예외입니다.
UPM_GIT_LFS_CACHE_PATH 패키지 관리자가 Git LFS 캐시를 저장할 위치의 절대 경로를 지정합니다. 이 경로를 설정하면 Git LFS 캐시가 자동으로 활성화됩니다.
UPM_MAX_CACHE_SIZE 레지스트리 데이터 캐시(db 하위 디렉토리)의 최대 크기를 양의 정수 바이트로 지정합니다. 예를 들어 크기를 5GB로 설정하려면 5000000000 값을 할당합니다.

중요:이 방법을 사용할 때는 다음 가이드라인을 따르십시오.

  • 환경 변수를 설정하기 전에 Unity 에디터와 Unity Hub가 이미 실행 중인 경우 이를 닫으십시오.
  • 환경 변수를 설정한 것과 동일한 커맨드 프롬프트나 터미널 세션에서 Unity 에디터 또는 Unity Hub를 실행하십시오.
  • 앞의 표에서 환경 변수를 설정한 경우 Unity를 실행할 때마다 해당 변수를 설정해야 합니다.

환경 변수 설정에 대한 내용은 운영체제의 문서를 참조하십시오.환경 변수에 대한 소개는 https://en.wikipedia.org/wiki/Environment_variable을 참조하십시오.

추가 리소스

범위 지정 레지스트리 인증
에셋 스토어 캐시 위치 커스터마이즈