Skip to content

Browser Runtime

Vifu loads games as static browser assets. The runtime expects an HTML entry file, relative assets, and optional companion capability metadata.

Runtime contract

AreaRequirement
EntryHTML file such as index.html or a Godot Web Export entry.
AssetsRelative paths from the build output.
StorageBrowser storage may be used for local state, but the game must boot without remote state.
NetworkDo not require third-party network calls for first render.
CompanionUse companion.plugin.v1 only when the game registers SDK state or commands.

iframe behavior

Games should tolerate iframe constraints:

  • no top-level navigation
  • no reliance on popups
  • responsive layout inside the frame
  • pause or resume cleanly when hidden
  • no required access to parent window except through the SDK bridge

Boot checklist

  1. Serve the build from a local static server.
  2. Reload the entry page directly.
  3. Confirm all assets load with relative URLs.
  4. Confirm the game is playable before companion initialization.
  5. Confirm companion.status().hostConnected becomes true inside Vifu.