WEBASSEMBLY (WASM)
In order to provide both security and portability, it was decided to move away from add-ons distributed as DLL s in favour of add-ons distributed as WebAssembly modules. In order to do so without requiring a full rewrite of existing add-ons, a new platform toolset was designed for Visual Studio with the following capabilities:
Direct compilation of C/C++ projects into WebAssembly (as WASM).
Debugging of WebAssembly modules by attaching to the game executable.
Full support for the standard C library.
Large support for the standard C++ library (see below).
GDI+ wrapper based on the NanoVG API to facilitate porting existing add-ons.
While WebAssembly itself is well documented, there seems to be some confusion as to how WebAssembly modules can be run outside of a web environment. To clear a few misconceptions:
The add-ons developed in WebAssembly for Microsoft Flight Simulator 2024 are not interpreted but rather converted to native code ahead of time (as DLLs).
are not interpreted but rather converted to native code ahead of time (as DLLs). WebAssembly itself doesn't offer API "X", "Y" or "Z" - it is up to its implementation to grant access to these APIs.
... continue reading