Unity WebGL 애플리케이션 배포 가이드

Unity에서 WebGL 애플리케이션을 배포하기 위해 필요한 서버 설정 및 압축 포맷에 대해 설명합니다. 이 가이드는 Unity 개발자들이 WebGL 빌드를 올바르게 배포할 수 있도록 도와줍니다.

1. WebGL 애플리케이션 배포 준비

WebGL 애플리케이션을 배포하기 위해서는 서버가 올바른 리스폰스를 수신하고 처리할 수 있도록 설정해야 합니다. 이 문서에서는 두 가지 주요 설정을 다룹니다.

  • Compression Format: Unity가 빌드 단계에서 파일을 압축하는 방식.
  • Decompression Fallback: 브라우저가 다운로드된 파일을 처리하는 방법.

2. 압축 포맷

WebGL 플레이어 설정에서 압축 포맷을 설정할 수 있습니다. 아래는 사용 가능한 압축 방식입니다.

압축 방식 설명
gzip 기본 옵션으로 모든 브라우저에서 지원되며, 빌드 속도가 빠름.
Brotli 최고의 압축 비율을 제공하지만, 압축하는 데 시간이 더 오래 걸림. Chrome 및 Firefox에서 HTTPS를 통한 지원.
Disabled 압축을 비활성화하여 사용자 정의 압축을 구현 가능.

자세한 사항은 WebGL 브라우저 호환성 문서를 참조하세요.

3. 서버 설정

특정 빌드 설정에 맞춰 서버를 조정해야 할 수 있습니다. 서버는 애플리케이션을 다운로드할 때 기본적으로 압축 풀기를 수행하도록 설정해야 합니다. 이를 위해 Content-Encoding 헤더를 추가합니다.

Content-Encoding 헤더

압축 방식에 따라 Content-Encoding 리스폰스 헤더를 설정하십시오.

압축 방식 파일 확장자 리스폰스 헤더
gzip .gz Content-Encoding: gzip
Brotli .br Content-Encoding: br

4. 압축 풀기 폴백

압축 풀기 폴백 옵션을 활성화하면 Unity가 JavaScript 압축 풀기 소프트웨어를 포함할 수 있습니다. 이는 브라우저가 콘텐츠 압축을 풀 수 없을 때 사용됩니다.

압축 풀기 폴백 활성화 방법 설명
Player Settings Compress Fallback를 활성화하여 빌드 파일에 .unityweb 확장자 추가.

압축 풀기 폴백이 활성화되면 로더의 크기가 커질 수 있으며, 빌드 파일의 로딩 효율성이 감소할 수 있습니다.

5. WebAssembly 스트리밍

WebAssembly 스트리밍을 사용하면 브라우저가 코드를 다운로드하는 동안 코드를 컴파일할 수 있어 로드 시간이 개선됩니다.

파일 확장자 리스폰스 헤더
.wasm, .wasm.gz, .wasm.br Content-Type: application/wasm

추가적으로 JavaScript가 포함된 파일을 위해서는 Content-Type: application/javascript 헤더를 설정해야 합니다.

6. 정리

WebGL 애플리케이션을 성공적으로 배포하기 위해서는 서버 설정과 압축 방식, 압축 풀기 폴백 등을 적절히 설정해야 합니다. 위의 가이드를 따르면 Unity WebGL 애플리케이션을 효과적으로 배포할 수 있습니다.

더 궁금한 점은 Unity 공식 문서나 커뮤니티 포럼에서 찾아보세요.