Open2
Emscripten + Visual Studio で圧縮をデフォルトで使うことの背景知識

Unity WebGL での先行事例
Unity WebGL では、プロジェクトのビルド時に WebAssembly, JavaScript の圧縮を行うことができる。
その形式として、次の形式が利用可能である
- gzip
- brotil
ただし、ビルドしたプロジェクトをブラウザで実行するときに、それらのファイルがブラウザによって正しく展開されるようにするためには、次のどちらかの対応が必要となる
- サーバ上でアセットの配信形式 (MIME Type) を正しく設定する
- プロジェクトのビルド時に、プロジェクト自体にアセットを展開するためのコードを含ませる
前者は、 GitHub Pages といったホスティングサービスや CDN 側が、ファイルをアップロードするだけで、適切な配信形式で配信するように設定されていることもある。(ユーザが圧縮形式に対して意識しなくてもよい)
間違ったプロジェクトのビルド設定を使ってしまうと、ゲームが起動しないという現象が簡単に発生してしまう。そのため、注意が必要な設定項目になっている上、だいたい初心者はここで一度つまづいている
- https://note.com/ume_white/n/n5394255363f4
-
https://qiita.com/aguroshou0413/items/1451a6779a92acb96b78
- 上記の記事ではこれを「不具合」としているが、れっきとした Unity 側の仕様である
- twitter 上の検索でも多数

Visual Studio上でのアセットの圧縮
.Net Framework に Gzip, Brotli 圧縮を行うためのクラスが実装されている。
そのため、MSBuild のビルドプロセスでアセットに対して Gzip, Brotli 圧縮を行うことは技術上可能である
作成者以外のコメントは許可されていません