Before starting, confirm that emcc is available in your PATH. This is usually configured by the Emscripten SDK, e.g. when invoking emsdk activate and source ./emsdk_env.sh/emsdk_env.bat.

ターミナルを開き、エンジンソース コードのルートディレクトリに移動します。次に、SConsにJavaScriptプラットフォームの構築を指示します。 target をリリース ビルドの release またはデバッグ ビルドの release_debug として指定します:

scons platform=javascript tools=no target=release
scons platform=javascript tools=no target=release_debug

By default, the JavaScript singleton will be built into the engine. Official export templates also have the JavaScript singleton enabled. Since eval() calls can be a security concern, the javascript_eval option can be used to build without the singleton:

scons platform=javascript tools=no target=release javascript_eval=no
scons platform=javascript tools=no target=release_debug javascript_eval=no

これで、エンジンはEmscriptenによってWebAssemblyにコンパイルされます。完了すると、結果のファイルは bin サブディレクトリに配置されます。名前は godot.javascript.opt.zip (リリース用)か、``godot.javascript.opt.debug.zip``(デバッグ用)です。

最後に、リリース テンプレートのzipアーカイブの名前を webassembly_release.zip に変更します:

mv bin/godot.javascript.opt.zip bin/webassembly_release.zip

デバッグテンプレートの webassembly_debug.zip :

mv bin/godot.javascript.opt.debug.zip bin/webassembly_debug.zip

Threads and GDNative

The default export templates do not include threads and GDNative support for performance and compatibility reasons. See the export page for more info.

You can build the export templates using the option threads_enabled=yes or gdnative_enabled=yes to enable threads or GDNative support:

scons platform=javascript tools=no threads_enabled=yes target=release
scons platform=javascript tools=no threads_enabled=yes target=release_debug

scons platform=javascript tools=no gdnative_enabled=yes target=release
scons platform=javascript tools=no gdnative_enabled=yes target=release_debug

Once finished, the resulting file will be placed in the bin subdirectory. Its name will have either the .threads or .gdnative suffix.

Finally, rename the zip archives to webassembly_release_threads.zip and webassembly_release_gdnative.zip for the release template:

mv bin/godot.javascript.opt.threads.zip bin/webassembly_threads_release.zip
mv bin/godot.javascript.opt.gdnative.zip bin/webassembly_gdnative_release.zip

And webassembly_debug_threads.zip and webassembly_debug_gdnative.zip for the debug template:

mv bin/godot.javascript.opt.debug.threads.zip bin/webassembly_threads_debug.zip
mv bin/godot.javascript.opt.debug.gdnative.zip bin/webassembly_gdnative_debugzip

Building the Editor

It is also possible to build a version of the Godot editor that can run in the browser. The editor version requires threads support and is not recommended over the native build. You can build the editor with:

scons platform=javascript tools=yes threads_enabled=yes target=release_debug

Once finished, the resulting file will be placed in the bin subdirectory. Its name will be godot.javascript.opt.tools.threads.zip. You can upload the zip content to your web server and visit it with your browser to use the editor.

Refer to the export page for the web server requirements.