Page ContentsPage Contents (click to expand)
  1. Datum Reference Point
  2. Retro-Compatibility / Legacy
  3. Legacy Visual Effects
    1. effects.cfg
    2. Effect Textures


When creating an aircraft SimObject, your source files will be stored in multiple formats and folders, generally following this list:

With the legacy FSX, all things relating to an aircraft SimObject were stored in a single file. However, this made finding what you needed somewhat of a chore, as these files contained a lot of information. So, in Microsoft Flight Simulator the aircraft configuration has been split into multiple files, with each one dedicated to a specific task. The sections below explain the structure of each of these files:



Note that none of the above files except aircraft.cfg are required for an aircraft, and you can add the sections for each thing - cameras, flight model, etc... - directly into the aircraft.cfg if you prefer. However, we recommend that you keep everything in separate files for ease of use and forward compatibility. The image below shows the contents of the folder for a typical aircraft package before being compiled by the Microsoft Flight Simulator package manager:

Aircraft Config Folders And Files Example

In addition to the folder with all the aircraft files, resources can be shared between aircraft if they are put in different directories. For example, shared *.CAB will be searched for in the root directory of the game in the gauges folder if they do not exist in the panel folder.


For the user to be able to control an aircraft, the following parts are mandatory:


The following folders are also usually present for an aircraft to control how it looks and sounds:


You can find out more about the above-mentioned folders from the following sections of the SDK documentation:


For examples of aircraft and their configuration files, you can check the following directory:

<SDK Root>\Samples\Aircraft\

How to use these examples is documented in the following section:


Finally, to help with the configuration of the Engine Config Definition and Flight Model Config Definition, we have included an *.xlsx file with the documentation that can be used to generate the required values for many of the parameters based on a small number of inputs (these inputs are marked in blue in the file):

Note that once the values are generated within the file they may need tweaked when applied to the approprate parameters in the *.cfg files, but this should give a good base from which to start.



Datum Reference Point

Many positions of components on an aircraft are given relative to the datum reference point for the aircraft. These are generally defined in the following order:

The image below illustrates this:

The datum reference point itself is specified in the [WEIGHT_AND_BALANCE] section of the flight_model.cfg file, and the actual physical details of how we calculate this point is given in the Reference Datum Frame section of the page on Flight Model Physics.



Retro-Compatibility / Legacy

In previous versions of Microsoft Flight Simulator an aircraft was defined by a single Aircraft Configuration File aircraft.cfg and an optional *.air file containing some flight model parameters. Aircraft configuration files have been upgraded so that all the parameters that were only modifiable by the *.air file can now be set in new specialized configuration files directly (listed in the section above). All tables (alpha and mach tables, engine tables) can now be modified in the flight_model.cfg directly, along with all aerodynamics inputs (lift, drag, moment coefficients from various sources). With this change all *.air files are now obsolete in Microsoft Flight Simulator and new aircraft are configured using the configuration files only. In addition, some legacy parameters have now become obsolete - for example, many parameters of the [AERODYNAMICS] section. Most legacy parameters for engines and contact points remain relevant, however.



Legacy Visual Effects

IMPORTANT! The following information is only for use when dealing with legacy FX files. For creating new effects you should be using the The Visual Effects Editor in combination with the Visual Effects XML.

If you have legacy *.fx files and require them to work with a SimObject in Microsoft Flight Simulator then you should follow these instructions.


First you need to define the folder where the legacy effects are going to be placed. For that you need to add the relative folder path for the FX files into the aircraft.cfg file. If this is the default "effects" folder, then you can leave it as an empty string (or omit it completely which has the same result), as shown in the following image:

Defining The Effects Folder In The Aircraft Configuration File

The image below shows a typical folder structure for an aircraft SimObject with this folder:

General Folder Structure For A SimObject Aircraft

If you are not using the default folder, then the name you give in the aircraft.cfg file will be appended onto the "effects" folder name and that folder will be checked. For example, if we had this in the configuration file:

Naming The Effects Folder In The Aircraft Configuration FileThen we would also have the following folder for the SimObject:

Alternative Folder Structure For A SimObject Aircraft

You can now place your legacy effects files in this folder, and then reference them in the [EFFECTS] section of the aircraft.cfg file.



Depending on your use case, it is possible you want to specify fallback directories for effects in case the effects folder of your SimObject does not have the wanted effect, for example:

These are two common use cases in which fallback directories avoids copy-pasting effects.


To specify fallback directories, you would need to create a new file inside inside your SimObject effects folder: effects.cfg. In this file you would write the different folders to fallback to, using the [fltsim] header. Inside this section, fallbacks are defined via the fallback.<index>=<path> syntax, where the index must be incremented by 1 for each fallback directory and must start at 1, for example:

Example Of The effects.cfg file Contents

In this example, given the effect name "LIGHT_NavigationRed", the game will attempt to load the effects at these locations, stopping at the first valid path for which the effect exists:

  1. SimObjects/Airplanes/Asobo_Emerald/effects.emerald/LIGHT_NavigationRed.fx
  2. SimObjects/Airplanes/Asobo/effects/LIGHT_NavigationRed.fx
  3. SimObjects/Airplanes/MyAircraft/effects/LIGHT_NavigationRed.fx
  4. SimObjects/Airplanes/SomeOtherAircraft/effects/LIGHT_NavigationRed.fx
  5. effects/LIGHT_NavigationRed.fx


The last path (effects/LIGHT_NavigationRed.fx) is implicitly added to fallback to the global effects folder in case the effect could not be found.
IMPORTANT! If you define an effects.cfg file, the PackageTool will check that your folders exist, and having a fallback folder which does not exist will result in an error. The missing fallback folder will be specified in the error.


So, to sum up what's been explained above:

This behaviour provides a way to override a base effect from the global effects folder - or the base package if applicable - for your SimObject by giving it the same name as the base effect.


Effect Textures

Effects can have textures, and the same process outlined above applies to looking for an effect texture, only that the simulation will append /texture to each effect folder encountered to look for a given texture. To add a custom texture to an effect, simply insert the wanted texture inside the <effects folder>/texture folder of your SimObject, as such:

An Example Of The Texture Folder For A Legacy Effect


©2021 Microsoft      Contact Us      Privacy Policy      MSFS Forums      SDK Q&A Support