プレーヤーとテスター向けに、直接 HTTPS リンクで Unity Web ビルドを公開します。ローダーとデータを含む完全なビルド フォルダーをアップロードし、同じアドレスを更新し続けます。ここでは、Unity の圧縮設定が重要です。アップロードする前に、Lobsite 用のビルドを準備してください。
仕組み
- Build for Web. Unity の Web プラットフォーム (古いバージョンでは WebGL と呼ばれていました) を選択します。 Gzip または Brotli 圧縮を使用する場合は、Player Settings → Publishing Settings で Decompression Fallback を有効にします。
build/webに組み込みます。 - ファイルを確認してデプロイします。 ほとんどの Unity ビルドは匿名ファイルと Free ファイルの制限を超えているため、必要に応じて Standard でサインインします。
npx lobsite ./build/webを実行するか、ダッシュボードから完全なビルドをアップロードします。 - ゲームを共有して更新します。 公開された URL をプレイヤーに送信します。再度ビルドして更新のために同じサイトにデプロイするか、別のプレイテストに
npx lobsite --previewを使用します。
Lobsite で機能する圧縮設定
Lobsite は、Content-Encoding ヘッダーを自動的に追加せずに、保存されている .br および .gz ファイルを提供します。ネイティブ ブラウザーの解凍を想定した圧縮された Unity ビルドは、これらのデフォルトでは正しくロードされません。
Decompression Fallback を有効にして、Unity のビルドに JavaScript デコンプレッサーが含まれるようにします。あるいは、圧縮用に Disabled を選択し、より大きなファイルとダウンロードを受け入れます。エディタのバージョンについては、Unity の展開ドキュメント を確認してください。
index.html、Build/ ディレクトリ、TemplateData/、およびその他の生成されたフォルダーをまとめて保管します。 .wasm または .data ファイルのみをアップロードしても、プレイ可能なゲームは生成されません。
最大の Unity ビルド ファイルを確認してください
Free および匿名ホスティングでは、ファイルあたり 5 MB、合計 50 MB、100 ファイルが許可されます。 Unity エンジンのランタイム ファイルとデータ ファイルは通常、最初の制限を超えます。 Standard では、ファイルあたり 100 MB、合計 2 GB、10,000 ファイルが許可されます。ビルドは全体で 2 GB 以内に収まる可能性がありますが、1 つのデータ ファイルが 100 MB を超えるため失敗します。
アップロードする前に完成したビルドを検査します。ファイルが Standard の制限を超える場合は、デプロイする前にビルドを減らすか再構築してください。上記のファイル アップロード領域は、アップロードごとに 25 MB に制限されています。大規模なビルドの場合は、CLI またはサインインしたダッシュボードを使用します。完全な比較については、HTML5 ゲームの制限 を参照してください。
スレッドとプライベート プレイテスト
Native C/C++ Multithreading を有効にする場合は、クロスオリジン分離を構成します。これをプロジェクトの横の lobsite.toml に置き、そこから npx lobsite でデプロイします。
dir = "build/web"
[[headers]]
for = "/*"
[headers.values]
Cross-Origin-Opener-Policy = "same-origin"
Cross-Origin-Embedder-Policy = "require-corp"
ファイルアップロード領域にはlobsite.tomlが読み込まれません。サードパーティのリソースが分離されて動作していることを確認します。機密プレイテストの場合、Standard はプレビュー ビルドを含むサイトのすべてのアドレスをカバーするパスワードを提供します。マルチプレイヤーおよびその他のバックエンド サービスは、依然として Lobsite とは別に実行されます。
公開前にプレビューできます。リダイレクトも含めてワンクリックでロールバックできます。
ファイルはハッシュで保存されます。変更のないサイトを再デプロイしてもアップロードは 0 バイトです。
Standard では、サイトのすべてのアドレスでパスワードを求められます。レビュアーの入力はブラウザごとに 1 回です。
Free アカウントでも利用できます。DNS レコードを 1 つ追加するとサイトが独自ドメインに移動します。すべてのプランですべてのサイトに HTTPS が付きます。
リダイレクト、ヘッダー、フォームは lobsite.toml に記述し、デプロイごとに一緒に反映されます。
すべての制限は公開されており、すべてのエラーが次にすべきことを教えてくれます。
Unity Web 共有方法
| 方法 | 提供するもの | 何を確認するか |
|---|---|---|
| Lobsite 公開 URL | スタンドアロンでプレイ可能なリリース | 圧縮設定とプランの制限 |
| Lobsite プレビュー URL | 別のテストビルド | 公開されているものと同じ設定。プレビューは公開されたものを置き換えません |
| Unity のローカル Build and Run | 開発マシンでのテスト | パブリック ホスティングにはさまざまなヘッダーとパスを含めることができます |
別のエンジンの同等の WebAssembly ワークフローについては、「Godot ホスティング」を参照してください。 HTML5 ゲームガイド は、ブラウザ オーディオ、埋め込み、キャッシュをカバーします。
よくある質問
圧縮された Unity WebGL ビルドがロードに失敗するのはなぜですか?
ローダーが Content-Encoding ヘッダーを予期しているかどうかを確認します。 Lobsite のデフォルト ファイル サービスを使用して、Decompression Fallback を有効にして再構築するか、圧縮を無効にします。完全な新しいビルドを一緒にアップロードします。
すべての Unity WebGL ビルドは Standard に適合しますか?
いいえ。各ファイルは最大 100 MB、サイト全体は最大 2 GB で、ファイル数は 10,000 個以下でなければなりません。実際のエンジンのランタイム ファイル、データ ファイル、アセット ファイルを確認します。
Web ビルドの代わりに Unity ソース ファイルを公開できますか?
いいえ。Lobsite は完成した Web ビルドを提供します。 Unity を実行したり、C# をコンパイルしたり、デスクトップ実行ファイルをブラウザ ゲームに変換したりすることはありません。
Unity マルチスレッドはブラウザ ファイルのアップロードで機能しますか?
デフォルトのアップロードでは、分離ヘッダーは構成されません。 Native C/C++ Multithreading を必要とするビルドには、CLI と上記のヘッダー設定を使用します。