対応エンジンと書き出しガイド
GameRush へ掲載できるのは、Unity(WebGL)・Godot 4・Phaser で書き出したビルドと、index.html のある静的サイト(Web)です。アップロードされたビルドの中身からどれで作ったかを判別し、そのエンジンに合わせて取り込みます。ほかの開発環境で作ったゲームも、ブラウザで動く index.html 一式を書き出せれば Web として上げられます。
1. 受け取れる形
アップロード画面で、ビルドを zip かフォルダで指定してください。zip の中身がひとつのフォルダに包まれている場合は、こちらでそのフォルダを剥がしてから探すので、包んだままで構いません。
エンジンはビルドの中身から自動で判別します。Unity は Build フォルダの4ファイル、Godot は同じ名前の .pck・.wasm・.js、Phaser は JavaScript に含まれる Phaser 本体を手がかりにし、どれにも当たらなければ Web として取り込みます。
2. 対応している開発環境
- Unity(WebGL ビルド)
- Godot 4(Web 書き出し)
- Phaser(Web ビルド)
- Web(
index.htmlのある静的サイト。作ったツールは問いません)
ほかのツール(たとえば GDevelop・Construct 3・RPGツクール MV/MZ・microStudio・Bitsy など)で書き出した HTML5 一式も、Web を選んでアップロードできる場合があります。ただし、ツールごとの動作確認はまだしていないため、書き出したものがそのまま動くとはお約束できません。また、含まれるファイルの種類によってはアップロードできない場合があります。
Roblox や UEFN、ネイティブ専用のエンジンは、ブラウザで動く成果物を持ち出せないため掲載できません。
3. Unity
WebGL ビルドの出力フォルダを、そのまま zip にしてアップロードしてください。エンジンで Unity を選ぶと、Build フォルダの中身(loader / framework / wasm / data の4ファイル)から起動に必要な設定を組み立てます。
出力フォルダに index.html が含まれていても、そちらは使わずに GameRush 側のプレイヤーで起動します。ロード中の進捗表示や先読みはこのプレイヤーが行うため、読み込みの体感はこちらのほうが速くなります。
書き出し設定でロード時間を詰めるこつは、Compression Format を Brotli にして Decompression Fallback を切ることです。ほかの設定と、おすすめ設定でまとめてビルドする方法は ゲームの最適化ガイド にあります。
4. Godot 4
- Web プリセットで書き出すと、
.html/.js/.wasm/.pck/.pngが出力されます。 - 書き出された
.htmlはプロジェクト名になっているので、index.htmlへ改名してから zip にしてください。Web プリセットの Export Path をindex.htmlにしておくと、改名せずに済みます。 - Use Threads は切ったまま書き出してください。スレッドありのビルドは
SharedArrayBufferを使うため、配信側に追加のヘッダー設定が必要になります。Godot 4.3 以降はシングルスレッド書き出しが既定です。
5. Phaser
ビルドした出力フォルダを、index.html がいちばん上にある状態で zip にしてアップロードしてください。書き出した index.html はそのまま使います。
- アセットの参照は相対パスにしてください。Vite なら
vite.configのbaseを"./"に、webpack ならoutput.publicPathを""にします。 - ゲームはビルドごとのサブディレクトリから配信されるため、
/assets/...のようなルート絶対パスは別の場所を指してしまいます。アップロードのときに見つけた場合はその場でお知らせします。 - ソースマップ(
.js.map/.css.map)は取り込みのときに除きます。読み込み量を減らすためで、ゲームの動作には影響しません。
Phaser 本体を含む JavaScript が同梱されているかどうかを、アップロードのときに確認します。Phaser を使っていないビルドはこの選択肢では受け取れません。CDN から読み込む形も、ビルドの中に Phaser 本体が無いため受け取れません。npm からバンドルするか、phaser.min.js を zip に含めてください。Phaser 本体を含む JavaScript を Brotli で事前圧縮した .js.br だけにすると、中身を確認できないため受け取れません。圧縮しない .js か、gzip の .js.gz で含めてください。
6. Web(その他のツール)
Unity・Godot・Phaser 以外で作ったゲームは、Web を選んでください。index.html がいちばん上にある状態で zip にしてアップロードすると、index.html をそのまま使います。中身から作ったツールを判別することはしません。
- アセットの参照は相対パスにしてください。
/assets/...のようなルート絶対パスは、ビルドごとのサブディレクトリから配信するときに別の場所を指してしまうため、アップロードのときにお知らせします。 - HTML ファイルは1つあたり 512KB までです。それを超える
.htmlはアップロードのときにお知らせします。 - 使えるファイルの種類・合計サイズ(50MB まで)・ファイル数(2000 まで)の条件は、ほかのエンジンと同じです。対応していない種類のファイルが含まれているとアップロードできません。ソースマップ(
.js.map/.css.map)は取り込みのときに除きます。 - GameRush のローディングバーは出ません。読み込み中の表示はゲームの側で用意してください。
- Unity の WebGL ビルドのうち、
.loader.js/.framework.js/.wasm/.dataの4ファイルがそろったもの(.framework.js/.wasm/.dataは.gz/.br/.unitywebで圧縮したものも数えます)は Web では受け取りません。Unity を選んでください(ローディングバーと先読みが有効になります)。
7. うまくいかないとき
- Unity を選んで弾かれる場合は、zip の中に
Buildフォルダの4ファイル(.loader.js/.framework.js/.wasm/.data。.loader.js以外は.gz/.br/.unitywebで圧縮したものでも構いません)がそろっているかを確認してください。 - Godot を選んで弾かれる場合は、zip を展開したときのいちばん上に
index.htmlがあるかを確認してください(書き出された.htmlの改名忘れが多い箇所です)。512KB を超える.htmlもアップロードできません。 - Phaser を選んで弾かれる場合は、
index.htmlがいちばん上にあるか、アセットの参照が相対パスになっているか、Phaser を含む JavaScript が.jsか.js.gzで同梱されているか、512KB を超える.htmlが無いかを確認してください。 - Web を選んで弾かれる場合は、
index.htmlがいちばん上にあるか、アセットの参照が相対パスになっているか、512KB を超える.htmlが無いかを確認してください。 - それでも解決しない場合は、使用した開発環境とバージョンを添えてお問い合わせください: info@gamerush.jp