SDK CONTENTS

By default the Microsoft Flight Simulator SDK will be installed on your root drive in the folder MSFS SDK. THis folder will contain multiple sub-folders that contain all the different elements of the SDK.

The SDK Top Lovel Folders

The sections below outline the contents of each of these folders. Note that many of these items will need to be downloaded seperately from the Help menu.

 

 

Documentation

This folder contains the offline version of the MSFS SDK. Within the folder, you can open the documentation by double-clicking on the index.html file. If you prefer the online version, you can find it at the following link: https://docs.flightsimulator.com/html/Introduction/Introduction.htm

 

 

Licences

This folder contains the different software licences that are applicable to the use and distribution of the MSFS SDK. One of these documents is the End User Licence Agreement, which is also included as part of this documentation here: SDK EULA

 

 

Samples

The best way to get a feeling for how development of add-ons works in Microsoft Flight Simulator is by opening one of the provided sample projects from the Developer Mode tools and build it. The samples themselves are split into the following three categories:

 

DevmodeProjects

These are projects that can be opened in the various Developer Mode editors. You can find a complete list of all the available DevMode projects here: Samples

 

Visual Studio

These are projects that are designed to be loaded into Visual Studio and then built. You can find information on each of these projects from the links below:

 

  • PackageInstaller - The PackageInstaller sample is a Visual Studio 2019 solution which demonstrates how users can create installers for add-ons through the WiX Toolset (based on Windows Installer).

 

 

  • SimvarWatcher - The SimvarWatcher sample is Microsoft Visual Studio project that shows how to connect to Microsoft Flight Simulator from a C# application in order to retrieve simulation variables (generally known as SimVars).

 

Wwise

This folder contains the WwiseSampleProject. This is discussed in full on the Using Wwise page of the documentation.

 

 

Schemas

This folder contains a standardized description of glTF formats that can be used to create your own import/export tools. See here for more information: Schemas

 

 

SimConnect SDK

This section of the SDK contains the files required to build the C++ interface to SimConnect. This allows for out-of-process executables to communicate directly with the simulation and is a fundamental part of creating add-ons, particularly aircraft. You can find out more on the following page:

 

 

Tools

This folder contains a number of different stand-alone tools that can be used to aid in the creation of add-ons for Microsoft Flight Simulator. These tools each have their own page in the documentaion explaining what they are for:

 

 

 

WASM

The WASM folder contains multiple files and tools related to creating add-on content using WebAssembly. Additional information about building WASM projects can be found here: Platform Toolset.

 

Include

This folder contains header files that are mandatory if you wish to use a C++ project in Visual Studio. It has the following sub-folders:

  • gdiplus - here you can find all the header files related to gdiplus. The gdiplus library will be linked when building a WASM file, so without these files it won't compile in Visual Studio. For more information please see the GDI+ section of the documentation.
  • MSFS - this sub-folder contains header files related to Microsoft Flight Simulator.

 

Lib

This folder contains the GDI+ library files.

 

LLVM

All exe and libraries that are required to compile a C++ project to a WASM file (compiler: clang, linker: wasm-ld).

 

Project

This folder contains a project implementing the GDI+ API as a wrapper of NanoVG, targeting Web Assembly.

 

SRC

The NanoVG source code.

 

VS

Here you can find the Visual Studio extension which knows how to convert C++ to WASM using Clang and WASM-ld.

 

wasi-sysroot

This folder contains multiple files (libc, libc++, etc...) used by WASM.