Version: Unity 6.0 (6000.0)
언어 : 한국어
웹 빌드에서 미사용 리소스 제거
웹 템플릿

모바일에 웹 플랫폼 최적화

빠른 로드 시간은 특히 느린 모바일 네트워크에서 애플리케이션 리소스를 다운로드해야 하는 모바일 기기의 웹 기반 애플리케이션에서 매우 중요합니다. 로드 시간이 느리면 사용자 경험이 저하되고 이탈률이 높아질 수 있습니다. 따라서 모바일에 웹 빌드를최적화하는 것이 중요합니다

웹 기반 모바일 애플리케이션은 빌드 규모가 작고 성능이 우수한 코드가 있을 때 가장 효과적입니다. 다운로드할 데이터, 사용자 기기에 저장할 데이터, 초기화 시 로드할 데이터가 적어 로드 시간이 단축되기 때문입니다.

모바일 전용이 아닌 웹 최적화의 경우 웹 빌드 최적화를 참조하십시오.

최적화 빠른 참조

다음 권장 설정을 사용하여 모바일용 Unity 웹 플랫폼에 맞게 최적화를 수행합니다.

권장사항 설명
규모에 맞게 최적화 개발 빌드 설정을 비활성화하고 디스크 크기에 맞게 빌드를 최적화합니다(Disk Size with LTO).
Brotli 압축 사용 Brotli 압축 메서드를 사용하여 플레이어 빌드를 압축합니다.
Unity 어드레서블 시스템 사용 에셋에 Unity 어드레서블 시스템을 사용합니다.
오디오 파일 최적화 오디오가 차지하는 디스크 공간을 줄입니다.
프로젝트의 그래픽스 최적화 그래픽스가 차지하는 디스크 공간을 줄입니다.
그래픽 품질 레벨 변경 품질 레벨을 낮추어 빌드를 더 빠르게 만듭니다.

규모에 맞게 최적화

빌드 크기가 작을수록 모바일에 더 좋습니다. 다운로드할 데이터가 적기 때문에 일반적으로 로딩 시간이 짧아지고 사용자 기기의 스토리지 공간을 덜 사용하기 때문입니다.

빌드를 최대한 작게 만들려면 개발 빌드 설정을 비활성화하고 디스크 크기에 맞게 빌드를 최적화합니다.

  1. File > Build Profiles로 이동합니다.

  2. Web을 선택합니다.

  3. Development Build가 활성화된 경우 비활성화합니다.

  4. Code OptimizationDisk Size with LTO로 설정합니다.

참고: LTO로 최적화된 빌드는 시간이 오래 걸릴 수 있습니다. 최종 릴리스 또는 성능 테스트가 필요한 경우에만 이 최적화를 사용합니다. 개발 중에 더 빠른 빌드 옵션을 사용하십시오.

빌드 크기에 영향을 미치는 다른 설정은 웹 빌드를 최적화하기 위한 권장 플레이어 설정웹 빌드에서 미사용 리소스 제거를 참조하십시오.

C#을 사용하여 크기 설정 최적화 활성화

설정을 편집하는 스크립트가 있고 C#을 사용하여 Disk Size with LTO 설정을 활성화하려면 다음 코드를 스크립트에 추가하십시오.

// Set Platform Settings to optimize for disk size (LTO)
UnityEditor.WebGL.UserBuildSettings.codeOptimization = UnityEditor.WebGL.WasmCodeOptimization.DiskSizeLTO;

Brotli 압축 사용

Brotli 압축은 Unity가 빌드하는 동안 사용자를 위해 미리 압축하는 설정입니다. Brotli 압축 파일은 gzip 압축 파일보다 더 작으므로 빌드 크기가 줄어듭니다.

하지만 Brotli는 압축하는 데 시간이 더 오래 걸립니다. 또한 Chrome과 Firefox는 기본적으로 HTTPS를 통한 Brotli 압축만 지원합니다. 애플리케이션에 적합하지 않은 경우 Gzip 압축을 대신 사용하는 것이 좋습니다.

Brotli 압축 설정을 사용하려면 다음 단계를 따르십시오.

  1. 웹 서버가 올바른 인코딩으로 Brotli 파일을 제공하도록 설정되었는지 확인합니다. 자세한 내용은 웹 애플리케이션 배포를 참조하십시오.

  2. Player 설정에 액세스합니다(메뉴: Edit > Project Settings > Player).

  3. Web settings 탭을 클릭합니다.

  4. Publishing Settings 섹션으로 이동합니다.

  5. Compression FormatBrotli로 설정합니다.

C#을 사용하여 압축 포맷을 변경

프로젝트 설정 스크립트가 있고 C#으로 압축 포맷을 변경하려는 경우 다음 코드를 스크립트에 추가하십시오.

// Set the compression format to Brotli
PlayerSettings.WebGL.compressionFormat = WebGLCompressionFormat.Brotli;

Unity 어드레서블 시스템 사용

모바일 브라우저 애플리케이션에서 사용자 이탈률을 낮추려면 로드 시간이 짧아야 합니다. 초기화 시간을 단축하려면 시작 시 모든 에셋을 로드하는 대신 어드레서블을 사용하여 애플리케이션에 필요한 경우에만 에셋을 로드하십시오. 특정 에셋의 로딩을 게임 로드 후까지 지연할 수 있습니다.

이러한 변경 사항을 적용하려면 새로 만든 어드레서블 파일로 StreamingAssets/aa/catalog.json을 업데이트해야 합니다.

어드레서블 및 설정 방법에 대한 자세한 내용은 어드레서블을 참조하십시오.

어드레서블을 더 최적화하려면 다음을 시도하십시오.

어드레서블을 그룹으로 정렬

에셋 번들의 수를 줄이기 위해 어드레서블을 그룹으로 정렬합니다. 에셋 번들의 양이 작을수록 빌드 크기가 작아집니다. 어드레서블 그룹과 그룹 생성 방법에 대한 자세한 내용은 그룹 관리 및 생성을 참조하십시오.

오디오 파일 최적화

프로젝트에 오디오 파일이 많은 경우 파일을 압축하여 오디오 파일의 크기를 줄이는 것이 가장 좋습니다. 하지만 압축된 오디오로 인해 오디오 품질이 저하될 수 있습니다. 압축 포맷에 대한 자세한 내용은 오디오 클립을 참조하십시오.

프로젝트의 그래픽스 최적화

복잡한 그래픽스는 리소스를 소모하여 빌드를 더 크게 만들고 성능이 저하시킬 수 있습니다. 하지만 그래픽스를 최적화하여 빌드 크기를 줄이고 성능을 향상하는 방법도 있습니다. 빌드의 그래픽스를 최적화하려면 다음을 시도하십시오.

가능하면 ASTC 압축 텍스처를 사용합니다.

ASTC 압축 텍스처 유형은 작은 텍스처 크기를 제공하고 다운로드 시간을 단축합니다. ASTC가 지원되지 않는 경우 ETC2를 고려하십시오. 자세한 내용은 텍스처 포맷을 참조하십시오.

ASTC 압축 텍스처를 사용하는 방법:

  1. 프로젝트에서 텍스처 에셋을 선택하여 Texture Import Settings 창을 엽니다.

  2. Web settings를 선택합니다.

  3. Override For Web을 활성화합니다.

  4. Format을 ASTC 블록 옵션 중 하나로 설정합니다.

ASTC 압축 텍스처에 더 큰 블록 크기 사용

ASTC 압축 텍스처를 사용하는 경우 압축에 더 큰 블록 크기를 사용하십시오. ASTC는 4x4 텍셀과 12x12 텍셀 사이의 블록 크기를 지원합니다. 블록 크기가 클수록 텍스처 품질이 저하되어 빌드 크기가 작아집니다. 모바일 네트워크를 통해 다운로드 시간을 최적화하는 품질과 크기 간의 적절한 균형을 찾으려면 8x8을 사용하는 것이 좋습니다. 다운로드 시간이 여전히 너무 느린 경우 블록 크기를 늘리십시오. 자세한 내용은 플랫폼별 권장, 기본 및 지원 텍스처 포맷을 참조하십시오.

ASTC 압축 텍스처의 블록 크기를 설정하려면 다음 단계를 따르십시오.

  1. 프로젝트에서 텍스처 에셋을 선택합니다. Texture Import Settings가 나타납니다.

  2. Web settings를 선택합니다.

  3. Override For Web을 활성화합니다.

  4. Format을 더 큰 ASTC 블록 옵션 중 하나로 설정합니다(예: RGB(A) Compressed ASTC 8x8 block).

그래픽 품질 레벨 낮추기

권장되는 베스트 프랙티스는 그래픽 품질 레벨을 가장 빠른 옵션으로 설정하는 것입니다. 빠른 옵션일수록 빌드 크기가 작아집니다.

그래픽 품질 레벨을 변경하려면 다음 단계를 따르십시오.

  1. Quality 설정에 액세스합니다(메뉴: Edit > Project Settings > Quality).

  2. Low 또는 Very Low 품질 수준을 선택합니다.

하지만 가장 빠른 설정은 애플리케이션의 비주얼에 영향을 미칠 수 있으므로 애플리케이션이 적절하게 표시되는지 확인해야 합니다.

C#을 사용하여 품질 레벨 변경

프로젝트 설정 스크립트가 있고 스크립트에서 프로젝트의 품질 레벨을 변경하려는 경우 다음 코드를 추가하십시오.

// Set the quality level to Very Low (index 0)
QualitySettings.SetQualityLevel(0, true);

SetQualityLevel() 함수는 Quality Level 매트릭스의 인덱스를 값으로 사용합니다. 이 경우 SetQualityLevel(0, true)Very Low 설정 또는 Quality Level 매트릭스의 첫 번째 옵션입니다. Low 또는 두 번째 옵션으로 변경하려면 대신 SetQualityLevel(1, true)를 사용합니다.

추가 리소스

웹 빌드에서 미사용 리소스 제거
웹 템플릿