Skip to content
Ashton Meuser edited this page Mar 7, 2024 · 19 revisions

Godot Wasm Logo

Addon Status License Version

Table of Contents

  1. Getting Started
  2. FAQs
  3. Examples
  4. Imports & Exports
  5. Memory Operations
  6. WASI Support
  7. Benchmarks
  8. Class Documentation
  9. Development
  10. Exporting Godot Project
  11. Project Roadmap

About Godot Wasm

Godot Wasm provides a WebAssembly (often referred to as Wasm) runtime embedded in Godot. Wasm modules are extremely fast, safe & sandboxed, and compilable from a wide variety of programming languages! For more information on WebAssembly and its potential uses in relation to a game engine, see Frequently Asked Questions. Using Godot Wasm, you can interact with Wasm modules from GDScript.

Godot Wasm also includes a basic subset of WASI bindings to provide conveniences like printing, cryptographically-secure random number generation, access to system clock, etc.

Compatibility

Godot Wasm runs in any Godot context you'd like! That includes Godot 4.x GDExtension addon, Godot 4.x module, Godot 3.x GDNative, or Godot 3.x module. For more information on the different installation methods, see Getting Started and FAQs.

Projects built with Godot Wasm are exportable to Windows, macOS, and Linux.

Features

Godot Wasm supports a rich feature set of Wasm capabilities.

  • Compile Wasm module from bytecode
  • Inspect module imports & exports
  • Instantiate Wasm module
  • Provide GDScript methods as module import functions
  • Invoke Wasm export functions
  • Access Wasm export globals
  • Raw access to Wasm module exported memory
  • Limit WASI system access via permissions

For more Godot Wasm features on the horizon, see the Project Roadmap.

Clone this wiki locally