Version: 2019.3
WebGL:部署压缩构建
对 WebGL 构建进行调试和故障排除

WebAssembly 串流的服务器配置

为了使 WebAssembly 串流编译能够正常工作,服务器需要返回 application/wasm MIME(多用途互联网邮件扩展)类型的 .wasm 文件。 如果为 WebGL 构建启用了压缩功能,则在提供文件时需要添加正确的 Content-Encoding 响应标头。这是因为 WebAssembly 串流生成的 .wasm 文件将进行额外压缩。

要正确地为 WebGL 构建提供 WebAssembly 串流,请使用以下服务器配置文件:

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 构建进行调试和故障排除