diff --git a/tutorials/export/exporting_for_android.rst b/tutorials/export/exporting_for_android.rst index aa94a60d6..0ffe3b21a 100644 --- a/tutorials/export/exporting_for_android.rst +++ b/tutorials/export/exporting_for_android.rst @@ -191,16 +191,16 @@ the export menu. * - Export option - Environment variable * - Encryption / Encryption Key - - GODOT_SCRIPT_ENCRYPTION_KEY + - ``GODOT_SCRIPT_ENCRYPTION_KEY`` * - Options / Keystore / Debug - - GODOT_ANDROID_KEYSTORE_DEBUG_PATH + - ``GODOT_ANDROID_KEYSTORE_DEBUG_PATH`` * - Options / Keystore / Debug User - - GODOT_ANDROID_KEYSTORE_DEBUG_USER + - ``GODOT_ANDROID_KEYSTORE_DEBUG_USER`` * - Options / Keystore / Debug Password - - GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD + - ``GODOT_ANDROID_KEYSTORE_DEBUG_PASSWORD`` * - Options / Keystore / Release - - GODOT_ANDROID_KEYSTORE_RELEASE_PATH + - ``GODOT_ANDROID_KEYSTORE_RELEASE_PATH`` * - Options / Keystore / Release User - - GODOT_ANDROID_KEYSTORE_RELEASE_USER + - ``GODOT_ANDROID_KEYSTORE_RELEASE_USER`` * - Options / Keystore / Release Password - - GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD + - ``GODOT_ANDROID_KEYSTORE_RELEASE_PASSWORD`` diff --git a/tutorials/export/exporting_for_ios.rst b/tutorials/export/exporting_for_ios.rst index e2c7f2fb0..3c08d0242 100644 --- a/tutorials/export/exporting_for_ios.rst +++ b/tutorials/export/exporting_for_ios.rst @@ -123,8 +123,8 @@ the export menu. * - Export option - Environment variable * - Encryption / Encryption Key - - GODOT_SCRIPT_ENCRYPTION_KEY + - ``GODOT_SCRIPT_ENCRYPTION_KEY`` * - Options / Application / Provisioning Profile UUID Debug - - GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG + - ``GODOT_IOS_PROVISIONING_PROFILE_UUID_DEBUG`` * - Options / Application / Provisioning Profile UUID Release - - GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE + - ``GODOT_IOS_PROVISIONING_PROFILE_UUID_RELEASE`` diff --git a/tutorials/export/exporting_for_linux.rst b/tutorials/export/exporting_for_linux.rst index dad1725e1..862ee3aed 100644 --- a/tutorials/export/exporting_for_linux.rst +++ b/tutorials/export/exporting_for_linux.rst @@ -31,4 +31,4 @@ the export menu. * - Export option - Environment variable * - Encryption / Encryption Key - - GODOT_SCRIPT_ENCRYPTION_KEY + - ``GODOT_SCRIPT_ENCRYPTION_KEY`` diff --git a/tutorials/export/exporting_for_macos.rst b/tutorials/export/exporting_for_macos.rst index 600c7aec4..df043bfcb 100644 --- a/tutorials/export/exporting_for_macos.rst +++ b/tutorials/export/exporting_for_macos.rst @@ -227,20 +227,20 @@ the export menu. * - Export option - Environment variable * - Encryption / Encryption Key - - GODOT_SCRIPT_ENCRYPTION_KEY + - ``GODOT_SCRIPT_ENCRYPTION_KEY`` * - Options / Codesign / Certificate File - - GODOT_MACOS_CODESIGN_CERTIFICATE_FILE + - ``GODOT_MACOS_CODESIGN_CERTIFICATE_FILE`` * - Options / Codesign / Certificate Password - - GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD + - ``GODOT_MACOS_CODESIGN_CERTIFICATE_PASSWORD`` * - Options / Codesign / Provisioning Profile - - GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE + - ``GODOT_MACOS_CODESIGN_PROVISIONING_PROFILE`` * - Options / Notarization / API UUID - - GODOT_MACOS_NOTARIZATION_API_UUID + - ``GODOT_MACOS_NOTARIZATION_API_UUID`` * - Options / Notarization / API Key - - GODOT_MACOS_NOTARIZATION_API_KEY + - ``GODOT_MACOS_NOTARIZATION_API_KEY`` * - Options / Notarization / API Key ID - - GODOT_MACOS_NOTARIZATION_API_KEY_ID + - ``GODOT_MACOS_NOTARIZATION_API_KEY_ID`` * - Options / Notarization / Apple ID Name - - GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME + - ``GODOT_MACOS_NOTARIZATION_APPLE_ID_NAME`` * - Options / Notarization / Apple ID Password - - GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD + - ``GODOT_MACOS_NOTARIZATION_APPLE_ID_PASSWORD`` diff --git a/tutorials/export/exporting_for_web.rst b/tutorials/export/exporting_for_web.rst index d0d894644..7131848c3 100644 --- a/tutorials/export/exporting_for_web.rst +++ b/tutorials/export/exporting_for_web.rst @@ -20,9 +20,11 @@ in the user's browser. Projects written in C# using Godot 4 currently cannot be exported to the web. To use C# on web platforms, use Godot 3 instead. -.. important:: Use the browser-integrated developer console, usually opened - with :kbd:`F12`, to view **debug information** like JavaScript, - engine, and WebGL errors. +.. tip:: + + Use the browser-integrated developer console, usually opened + with :kbd:`F12` (:kbd:`Cmd + Option + I` on macOS), to view + **debug information** like JavaScript, engine, and WebGL errors. .. attention:: @@ -35,10 +37,6 @@ in the user's browser. general, especially when using the GLES2 rendering backend (which only requires WebGL 1.0). -.. warning:: SharedArrayBuffer requires a :ref:`secure context `. - Browsers also require that the web page is served with specific - `cross-origin isolation headers `__. - WebGL version ------------- @@ -93,11 +91,6 @@ of limitations you should be aware of when porting a Godot game to the web. page is served via a secure HTTPS connection (localhost is usually exempt from such requirement). -.. tip:: Check the `list of open HTML5 issues on GitHub - `__ - to see if the functionality you're interested in has an issue yet. If - not, open one to communicate your interest. - Using cookies for data persistence ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -203,12 +196,32 @@ Exporting for the web generates several files to be served from a web server, including a default HTML page for presentation. A custom HTML file can be used, see :ref:`doc_customizing_html5_shell`. +.. warning:: + + To ensure low audio latency and the ability to use :ref:`class_Thread` in web exports, + Godot 4 web exports always use + `SharedArrayBuffer `__. + This requires a :ref:`secure context `, + while also requiring the following CORS headers to be set when serving the files: + + :: + + Cross-Origin-Opener-Policy: same-origin + Cross-Origin-Embedder-Policy: require-corp + + If you don't control the web server or are unable to add response headers, + use `coi-serviceworker `__ + as a workaround. + + If the client doesn't receive the required response headers, + **the project will not run**. + The generated ``.html`` file can be used as ``DirectoryIndex`` in Apache -servers and can be renamed to e.g. ``index.html`` at any time, its name is +servers and can be renamed to e.g. ``index.html`` at any time. Its name is never depended on by default. The HTML page draws the game at maximum size within the browser window. -This way it can be inserted into an ``