Web: choose your task
Export, compilation, JavaScriptBridge, loader and browser-target limitations.
Choose your task
| Goal | Read |
|---|---|
| Publish a browser game | Web export: game files, preset and hosting. |
| Build a custom WASM template | Compiling for Web: Emscripten, threads and dynamic linking. |
| Call JavaScript or pass a callback | JavaScriptBridge: types, lifetime and target limitations. |
| Control the loader from a page | HTML5 shell API: Engine, configuration and startup. |
| Customize the launch page | Custom HTML shell: matching filenames and templates. |
Check before integrating
The current Web target uses WebAssembly wasm32 and Compatibility/WebGL2. The native .NET module and current C# export plugin provide no ready C# Web export. Desktop DLLs, JavaScriptBridge appearing in a C# SDK and successful desktop builds do not change that.
For threaded variants inspect secure context, crossOriginIsolated and SharedArrayBuffer on the final page. A threads=no build must match the preset; removing headers does not transform threaded WASM into single-thread code. Iframes, external files and service workers need separate checks.
On failure inspect browser Console/Network first: URLs/404s, .wasm response type, matching JS/WASM/PCK files, service-worker cache, then WebGL2/thread availability. Check the main level, input, audio and saves only after runtime loading. A blank page and a game-script failure occur at different stages.
This section map includes source-reviewed limitations. It establishes neither a game launch in a particular browser nor successful C# publishing. Web engine settings and code were not changed in this pass.