Version: 2019.2
WebGL: 압축된 빌드 배포
WebGL 빌드 디버깅 및 문제 해결

WebAssembly 스트리밍용 서버 설정

WebAssembly 스트리밍 컴파일이 동작하려면 서버가 application/wasm MIME(Multipurpose Internet Mail Extension) 타입의 .wasm을 반환해야 합니다. WebGL 빌드에 대해 압축을 활성화한 경우 파일을 제공할 때 올바른 Content-Encoding 리스폰스 헤더를 추가해야 합니다. 이는 WebAssembly 스트리밍이 생성하는 .wasm 파일이 추가로 압축되기 때문입니다.

WebAssembly 스트리밍을 사용하여 WebGL 빌드를 올바르게 제공하려면 다음의 서버 설정 파일을 사용하십시오.

Apache

압축되지 않은 빌드의 경우 다음 .htaccess 파일을 Build 하위 폴더에 저장합니다.

<IfModule mod_mime.c>
  AddType application/wasm .wasm
</IfModule>

gzip 압축 빌드의 경우 다음 .htaccess 파일을 Build 하위 폴더에 저장합니다.

<IfModule mod_mime.c>
  AddEncoding gzip .unityweb
  AddEncoding gzip .wasm
  AddType application/wasm .wasm
</IfModule>

Brotli 압축 빌드의 경우 다음 .htaccess 파일을 Build 하위 폴더에 저장합니다.

<IfModule mod_mime.c>
  AddEncoding br .unityweb
  AddEncoding br .wasm
  AddType application/wasm .wasm
</IfModule>

IIS

압축되지 않은 빌드의 경우 다음 web.config 파일을 Build 하위 폴더에 저장합니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <remove fileExtension=".unityweb" />
            <mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
            <remove fileExtension=".wasm" />
            <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
        </staticContent>
    </system.webServer>
</configuration>

gzip 압축 빌드의 경우 다음 web.config 파일을 Build 하위 폴더에 저장합니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <remove fileExtension=".unityweb" />
            <mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
            <remove fileExtension=".wasm" />
            <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
        </staticContent>
        <rewrite>
            <outboundRules>
                <rule name="Append gzip Content-Encoding header">
                    <match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" pattern="\.(unityweb|wasm)$" />
                    </conditions>
                    <action type="Rewrite" value="gzip" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

Brotli 압축 빌드의 경우 다음 web.config 파일을 Build 하위 폴더에 저장합니다.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <staticContent>
            <remove fileExtension=".unityweb" />
            <mimeMap fileExtension=".unityweb" mimeType="application/octet-stream" />
            <remove fileExtension=".wasm" />
            <mimeMap fileExtension=".wasm" mimeType="application/wasm" />
        </staticContent>
        <rewrite>
            <outboundRules>
                <rule name="Append br Content-Encoding header">
                    <match serverVariable="RESPONSE_Content-Encoding" pattern=".*" />
                    <conditions>
                        <add input="{REQUEST_FILENAME}" pattern="\.(unityweb|wasm)$" />
                    </conditions>
                    <action type="Rewrite" value="br" />
                </rule>
            </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

  • 2019.2에서 WebAssembly 스트리밍 추가됨
WebGL: 압축된 빌드 배포
WebGL 빌드 디버깅 및 문제 해결