In this section we cover some of the most frequently asked questions by our developers about add-ons and their supported features.
Is C++ supported for add-ons development?
C++ support for add-ons will be provided in the form of Web-Assembly (
WASM) modules. In particular, this will be usable for implementing complex gauges and porting from legacy code. The following
APIs are available:
- 2D vector graphics drawing API (for gauges)
- SimConnect
- Interaction with SimObjects
The following APIs are planned:
- Airports and navigation data retrieval API
Will C++ code be allowed to access any system API directly?
No, C++ code, compiled to Web-Assembly modules, will be running in a sandboxed environment for security, portability and stability reasons. Its access will be restricted to the APIs provided by the platform. We expect the list of APIs provided to evolve depending on community feedback.
Will C++ add-ons have read/write file access?
Read-write file access is implemented as part of
WASI (Web-Assembly System Interface) but is restricted to a specific storage location for your add-on, allowing for a safe implementation of persistent storage.
Which 3D authoring tools are supported?
3D models are implemented using the
glTF standard, so technically, any 3D authoring package supported glTF could be used. In practice however, Microsoft Flight Simulator relies on third-party glTF extensions that need to be implemented as part of the glTF authoring package of your choice. However, this SDK does come with support for
3D Studio Max out of the box.
Are there plans to support Blender?
There are currently no plans for implementing Blender support, although there is nothing preventing its implementation from a technical point of view. Blender already supports
glTF out of the box and is just missing support for the glTF extensions that Microsoft Flight Simulator relies on. You can check what's offered on
FSDeveloper or by
FlyByWire - knowing that it's not supported by Microsoft and neither Microsoft nor Asobo can be held responsible if any problem should happen using these tools.
Is FSUIPC supported?
FSUIPC has been developed totally independently of the development of Microsoft Flight Simulator and we have no plans to provide native support for FSUIPC. Concerning peripherals, we plan to provide support via the official supported methods, which involve device drivers and SimConnect.
How can I protect my add-ons from piracy (a.k.a. DRM)
Digital Rights Management (
DRM for short) functionality is available as part of the platform
for content hosted
on the Marketplace.
How is navigation data handled?
We are planning to provide an
API to access the navigation data that is available in the simulator to WebAssembly modules but cannot commit to any date on this yet.
Is it possible to edit a livery for a plane in another package?
This is still a work-in-progress.
My aircraft editor's gizmos and bounding volumes are drawn in the wrong places!
Make sure Microsoft Flight Simulator's render scale is set to 100%. Other values may result in misplaced gizmos. You can find this option under
General
>
Graphics
.