HTML
Packages local HTML into the APK and serves it from local files — no remote URL required.
When to use
Static builds and offline web apps where you already have the HTML/CSS/JS files.
Core config
Backed by HtmlConfig.
Source
- Project directory (
projectDir) — the folder of HTML/CSS/JS, or a.zipextracted on import. - Files (
files) — the packaged files, typed as HTML/CSS/JS/image/font/other.
Entry
- Entry file (
entryFile) — defaults toindex.html.
Loading
- Load mode (
loadMode) —AUTO(the default for a new app),FILE(file scheme), orLOCAL_HTTP(local server). - Port (
port) — the local server port (forLOCAL_HTTP). - Port-conflict mode (
portConflictMode) —AUTO_KILLorALERT.
Capabilities
- Enable JavaScript (
enableJavaScript). - Enable local storage (
enableLocalStorage). - Allow file access (
allowFileAccess) — required for pure file-based loads.
Appearance
- Background color (
backgroundColor).
Notes
- The generated app gets
allowFileAccessso pure file-based loads work offline. - A Godot web export starts on System WebView. The
Version/4.0token is removed only when the user agent also contains Chrome, so the engine is not treated as Safari 4. A real Safari version string is left as it is. - Folder access — in Special settings, turn on the Native Bridge folder capability. The page picks one directory and can list, read, and write it through
WtaDirectoryon the system WebView. The grant stays on that device, so an exported app asks again. GeckoView does not expose these methods. - Local file does not request the
INTERNETpermission when the page can stay on disk. Automatic does the same for a plain page. A page that needs a CDN, ES modules, or WASM still uses the local server and keeps the permission, as does Local server. AUTOuses the file scheme for a plain page. A page that needs a real origin is served from the local HTTP server: a CDN URL, an ES module (type=moduleor a dynamicimport(),.mjs,.wasm, a service worker, a web manifest, or cross-origin isolation. A savedFILEpage stays on the file scheme unless it needs that origin.fetchorlocalStoragealone does not force the server.LOCAL_HTTPalways uses it. The built-in code editor soft-wraps by default, with a toggle, and highlights HTML.- HTML vs Frontend vs Offline Pack:
- HTML — you already have static files.
- Frontend — you have a framework project whose build output you package.
- Offline Pack — you start from a remote URL and scrape it down.
