MODULAR SIMOBJECT PROJECT SETUP

Modular aircraft SimObj have a very specific package and folder structure that must be adhered to. This structure will be created for you automatically when you create the initial package from The SimObject Editor with the following path:

../<Package_Name>/SimObjects/Airplanes/<Airplane_Name>/

 

The image below shows the essential contents of the folder for a modular aircraft package before being compiled by the Microsoft Flight Simulator 2024 package manager:

The Folders Required By A Modular Aircraft

 

Here you can see that there are 4 sub-folders within the modular aircraft package. Each of these folders is required for the aircraft package to be valid. Each folder has a very specific purpose, and can contain a specific selection of sub-folders and files - each of which is outlined in the sections below - and you can click on the schema below to expand an outline of the folder structure.

 

Project Schema Project Schema

+ Project_Name
|---+ attachments
|   |---+ Company_Name
|       |---+ Function_[NAME]
|       |   |---- <various files and folders>
|       |---+ Function_[NAME]
|           |---- <various files and folders>
|
|---+ common
|   |---+ checklist
|   |   |---- <checklist XML file(s)>
|   |---+ config
|   |   |---- <various CFG file(s)>
|   |<further folders and files>
|
|---+ liveries
|   |---+ Company_Name
|       |---+ Livery_Name
|       |   |---+ model.[TAG]
|       |   |   |---- <model files>
|       |   |---+ texture.[TAG]
|       |   |   |---- <texture files>
|       |   |---+ panel.[TAG]
|       |       |---- panel.cfg
|       |---+ <further_liverires>
|
|---+ presets
    |---+ Company_Name
        |---+ Preset_Name_1
        |   |---+ checklist
        |   |   |---- <checklist XML file(s)>
        |   |---+ config
        |   |   |---- <various CFG file(s)>
        |   |<further folders and files>
        |---+ Preset_Name_2
            |---+ checklist
            |   |---- <checklist XML file(s)>
            |---+ config
            |   |---- <various CFG file(s)>
            |<further folders and files>

 

To see how all these files and folders are merged together to create a final aircraft, please see here:

 

Your package may also contain an Inputs folder at the top level if you wish to include an input profile to map specific controls/buttons/keys for the aircraft. You may also provide further Inputs folder within the common, preset or attachments folders to further modify this base input mapping for the aircraft. You can find more information on all this from the following page:

 

 

Attachments

The attachments folder defines all the different attachments that can be added to the base aircraft to create the different configurations available. An attachment can be something as simple as a seat, or something much more complex like a landing gear assembly or an engine. The actual files and folders that are required by the attachment will be based on its functionality, with the most basic having simply a model and a texture folder, while the most complex can have all the functionality of any other SimObject, with sound, animations, effects, etc... as well as their own attachments.

 

Within the attachment folder you will have various sub-folders, one for each of the attachments that you wish to be available to the aircraft. Within these attachment sub-folders you can then have the following folders and files (the exact ones will depend on the overall functionality of the attachment):

 

Folder Files
checklist

*.xml

See here for details: Checklist XML Properties

config

ai.cfg

aircraft.cfg

cameras.cfg

cockpit.cfg

engines.cfg

flight_model.cfg

gameplay.cfg

systems.cfg

attached_objects.cfg

effects

*.cfg, *.fx
Only used for lighting effects. See here for details: Implementing Lights

flt

*.flt

See here for details: FLT Files

input

*.xml, *.<type>db

See here for details: Input Configuration XML Properties

interactions

*.xml

See here for details: Service Interaction XML Properties

localization

*.loc

See here for details: Localization (LOC Files)

model[.TAG]

model.cfg, model.xml, *.gltf, *.bin

See here for details: Models

panel[.TAG]

panel.cfg

panel.xml

navigation_graph

navigation_graph.cfg

See here for details: Cabin Services

rtc

*.xml, *.gltf, *.bin

See here for details: RTC XML Properties

sound sound.xml and PC.PCK. For more information please see Audio In Modular Sim Objects.
soundai soundai.xml and PC.PCK. For more information please see Audio In Modular Sim Objects.
texture[.TAG]

texture.cfg, *.xml, *.png / *.tiff

See here for details: Textures

thumbnail

This folder contains a thumbnail relevant to the SimAttachment being defined. This file is optional and is what will be used as part of the attachment preview in the Attachments window:

  1. thumbnail.png - authored at 128x128 without opacity

 

For more information on how to generate thumbnails, please see here: Thumbnails

attachment.cfg Additional file that goes beside the attachment folders. Only required if the attachment is a modification of another existing attachment function.

 

 

Common

The common folder contains all the base files for the aircraft that will be shared to all variations. These files (CFG, XML, FLT, glTF, Textures, etc...) will form the common base that is then built upon to create each one of the different aircraft variations that you want to be available to the user to fly. If you are only creating a single aircraft, or porting over a legacy aircraft, then this is the folder where all the files will go. Files and folders for the aircraft should be placed in here directly without a company name folder:

Example Of The Common Folder For A Modular Aircraft

 

Within the common folder you can have the following folders and files:

 

Folder Files
checklist

*.xml

See here for details: Checklist XML Properties

config

ai.cfg

aircraft.cfg

cameras.cfg

cockpit.cfg

engines.cfg

flight_model.cfg

gameplay.cfg

navigation_graph.cfg

systems.cfg

target_performance.cfg

effects

*.cfg, *.fx
Only used for lighting effects. See here for details: Implementing Lights

flt

*.flt

See here for details: FLT Files

input

*.xml, *.<type>db

See here for details: Input Configuration XML Properties

interactions

*.xml

See here for details: Service Interaction XML Properties

localization

*.loc

See here for details: Localization (LOC Files)

model[.TAG]

model.cfg, model.xml, *.gltf, *.bin

See here for details: Models

panel[.TAG]

panel.cfg

panel.xml

navigation_graph

navigation_graph.cfg

See here for details: Cabin Services

rtc

*.xml, *.gltf, *.bin

See here for details: RTC XML Properties

sound sound.xml and PC.PCK. For more information please see Audio In Modular Sim Objects.
soundai soundai.xml and PC.PCK. For more information please see Audio In Modular Sim Objects.
texture[.TAG]

texture.cfg, *.xml, *.png / *.tiff

See here for details: Textures

 

 

Liveries

The liveries folder is exclusively for liveries, and as such will contain mainly model and texture folders, with a couple of necessary configuration files to tie it all together. The model and texture data should be nested in appropriately named folders within the company name folder, where each sub-folder is a specific livery. These sub-folders can be accompanied by a livery.lbl, which is used to link the different liveries with geographic regions and packages (used for Dynamic Liveries, as explained here - Liveries):

Example Of Where The livery.lbl File Should Be Placed

 

Within each livery sub-folder you must have a model folder and a texture folder, as well as the livery configuration file, although there are some other files and folders which may also be included, depending on how extensive the livery is. Each livery folder should be named appropriately for the preset that it represents:

An Example Of A Livery Folder In A Modular Aircraft

 

As you can see in the image above, the model folder has been appended with a tag name (airframe and tail, in the image above). This name is then used in the [Tags] section of the attachment.cfg to specify which livery is applied to which attachments (you can have the same "tag" in multiple attachments so they all share the same livery files). Tags can also be used on the other folders too, if required.

 

The complete list of items you can have in the liveries folder is as follows:

 

Folder Files
model[.TAG]

livery.xml, *.gltf, *.bin

See here for details: Models

texture[.TAG]

texture.cfg, *.xml, *.png / *.tiff

See here for details: Textures

panel[.TAG]

panel.cfg

(only the [VPaintingN] section)

navigation_graph[.TAG]

navigation_graph.cfg

See here for details: Navigation Services

livery.cfg

livery.cfg

See here for details: Liveries

thumbnail

This folder contains the thumbnails relevant to the livery being defined. There are three thumbnail files which are obligatory:

  1. thumbnail.png - authored at 720 x 344 without opacity
  2. thumbnail_button.png - authored at 830 x 260, with opacity
  3. thumbnail_side.png - authored at 930 x 340, with opacity

 

For more information on how to generate thumbnails, please see here: Thumbnails

 

Note that a livery can override the base texture reference in the glTF, which means that for a given texture name, the livery name should be used instead of the base one, and that the base one exists purely as a fallback.

 

For information on how liveries are merged with the rest of the aircraft geometry and textures, please see the following section:

 

For information on how liveries are created, please see here:

 

For information on how to set up an aircraft package with liveries, please see here:

 

 

Presets

The presets folder contains the "glue" that holds everything else together. The idea here is that each variation of your aircraft has a "preset" which is a selection of additional CFG/XML/FLT files, and a special attached_objects.cfg, which is the file that tells the simulation which attachments should be merged with the base files to create the final aircraft. The different preset folders should be nested within the company name folder, where each nested folder is named after the preset name, for example:

Example Of A Modular Aircraft Preset

 

Within the preset folder you can have the following folders and files:

 

Folder Files
checklist

*.xml

See here for details: Checklist XML Properties

config

ai.cfg

aircraft.cfg

cameras.cfg

cockpit.cfg

engines.cfg

flight_model.cfg

gameplay.cfg

navigation_graph.cfg

systems.cfg

target_performance.cfg

attached_objects.cfg

effects

*.cfg, *.fx

Only used for lighting effects. See here for details: Implementing Lights

flt

*.flt

See here for details: FLT Files

input

*.xml, *.<type>db

See here for details: Input Configuration XML Properties

interactions

*.xml

See here for details: Service Interaction XML Properties

localization

*.loc

See here for details: Localization (LOC Files)

model

model.cfg, model.xml, *.gltf, *.bin

See here for details: Models

panel

panel.cfg

panel.xml

navigation_graph

navigation_graph.cfg

See here for details: Cabin Services

rtc

*.xml, *.gltf, *.bin

See here for details: RTC XML Properties

sound sound.xml and PC.PCK. For more information please see Audio In Modular Sim Objects.
soundai soundai.xml and PC.PCK. For more information please see Audio In Modular Sim Objects.
texture

texture.cfg, *.xml, *.png / *.tiff

See here for details: Textures

thumbnail

This folder contains the thumbnails relevant to the preset being defined. There are three thumbnail files which are obligatory:

  1. thumbnail.png - authored at 720 x 344 without opacity
  2. thumbnail_button.png - authored at 830 x 260, with opacity
  3. thumbnail_side.png - authored at 930 x 340, with opacity

There is also an optional thumbnail file which should be included to highlight a specific aspect of any preset variation:

  1. thumbnail_variation.png - authored at 660 x 300, without opacity

 

For more information on how to generate thumbnails, please see here: Thumbnails