The Aircraft.cfg Tab In The SimObject Editor

Every Microsoft Flight Simulator 2024 aircraft is defined by a mandatory Aircraft Configuration File called aircraft.cfg (although this file is not required for other non-aircraft SimObjects). It mainly provides general information about the aircraft and its variations to the simulation. Most of the data in this file can be set dynamically using The SimObject Editor - specifically from the Aircraft tab.

Below you can find information on the different sections used in the aircraft.cfg file as well as what parameters and values are expected within them.

[Version]

The [Version] section provides version information for the configuration file. In Microsoft Flight Simulator 2024, major versions should always be at least equal to 1.

Note that this section information is mandatory and should always be included.

ParameterDescriptionTypeRequired
majorMajor CFG file version number, values must be greater than 0.IntegerYes
minorMinor CFG file version number, values must be greater than 0.IntegerYes

 

 

[LIVERY]

This section is optional and only used when the aircraft being defined is a livery variation of an existing aircraft. The section only has one parameter:

ParameterDescriptionTypeRequired
base_containerThis is the relative path to the aircraft package which this aircraft should be based on within the vfs when the simulation is running.StringNo

It is important to note that adding a livery does not permit you to change all the aircraft parameters, only those given in the [FLTSIM.N] section.

[GENERAL]

In the [GENERAL] section of the Aircraft Configuration File there are multiple entries that relate to properly configuring a plane to be integrated into the sim in the following ways:

  • multiplayer
  • as a grounded/parked plane
  • as part of the air traffic

The parameters available are mostly related to how the plane is identified by the database of the ICAO and they should all be non-localized.

ParameterDescriptionTypeRequired
atc_typeThis is the “brand” name of the aircraft.StringYes
atc_modelThis is the model name of the aircraft.StringYes
CategoryThe category for the SimObject. This is a general category used by the simulation as a filter for some options and activities.Yes
FamilyThis parameter is used by the Collision Damage / Wear And Tear system to modify the rate and manner in which components will wear out.Default value is “Complex”.String:1. Simple (eg: the C172)2. Complex (eg: the C208B)3. VeryComplex (eg: the B737)No
object_classThis parameter defines the class of aircraft with more detail than the category parameter, and is used as part of the criteria for deciding whether the aircraft can participate in some career activities.Default value is “Airplane”.String:1. Airplane2. Helicopter3. Glider4. Balloon5. Airship6. Gyroplane7. Ornithopter8. TiltRotor9. MiscYes
icao_type_designatorThe ICAO type designator of the aircraft. It can be different to the atc_type field. All possible values are available from the ICAO official database(opens in a new tab). For example the Airbus A320 Neo:<span></span>icao_type_designator = "A20N"<span></span>Note that this is the parameter that will - in part - govern which aircraft are visible in a multiplayer scenario. Please see Note On Multiplayer for more information.If your aircraft is “experimental” or not listed in the official database, you may put what you wish here, and the tail number will be used by the ATC.StringYes
icao_manufacturerThe ICAO manufacturer of the plane. It could be different from the actual manufacturer of the plane. All possible values are available from the ICAO official database(opens in a new tab). For example the Textron 172 Skyhawk:<span></span>icao_manufacturer = "CESSNA"<span></span>If your aircraft is “experimental” or not listed in the official database, you may put what you wish here, and the tail number will be used by the ATC.StringYes
icao_modelThe ICAO model name of the plane. It can be different to the atc_model field. All possible values are available from the ICAO official database(opens in a new tab). For example the Textron 172 Skyhawk:<span></span>icao_model = "172 Skyhawk"<span></span>Note that if your aircraft is “experimental” or not listed in the official database, you may put what you wish here.StringYes
icao_engine_typeThe ICAO engine type of the plane (for gliders use an empty string""). For example the Daher TBM 930:<span></span>icao_engine_type = "Turboprop/Turboshaft"<span></span>String:1. “Piston”2. “Turboprop/Turboshaft”3. “Jet”4. “Electric”5. “Rocket”6. “None” (for gliders)Yes
icao_engine_countThe ICAO engine count of the plane (usually a value between 1 and 16, although for a glider it can be 0). For example the Daher TBM 930:<span></span>icao_engine_count = 1<span></span>IntegerYes
icao_wtcThe ICAO Wake Turbulence Category(opens in a new tab) of the plane. For example the Daher TBM 930:<span></span>icao_WTC = "L"<span></span>Enum:1. “L”2. “L/M”3. “M”4. “H”Yes
icao_genericIf TRUE, the plane is intended to be only used as a passive/Air Traffic plane and is not identifiable as a specific real plane. Please see the Aircraft.cfg - Air Traffic section for additional information related to this setting.Default is 0 (FALSE).BoolNo

For multiplayer, the user might be choosing to use optimized and generic planes to represent other players planes, or they might not possess the correct plane model. In those cases, if the icao_type_designator matches an entry in the ICAO database, the model will be swapped with a generic plane that is as close as possible to that plane, in terms of WTC, engine count and engine type.

For air traffic, if the icao_type_designator matches an existing entry in the ICAO database, it might be used to represent a plane from the Real Online traffic. Please check the [FLTSIM] section and the AI configuration file documentation for further information on correctly integrating the plane in the grounded/parked planes and in air traffic.

[PILOT]

This section was previously used for defining the pilot, copilot and instructor styles for the aircraft. However in Microsoft Flight Simulator 2024, only the parameters related to the copilot are used.

NOTE
This section is largely only relevant to specific copilot information, as the pilot is spawned and handled using a set of predefined behaviours based on the navigation_graph_pilot.cfg file, as explained here: Spawn Pilot (Transversal).

This section can have the following parameters:

ParameterDescriptionTypeRequired
cabin_serviceThis is the name of the navigation service XML file that the copilot should use (omitting the file extension). Currently the only available service XML is “CopilotService”.Default value is “CopilotService”.StringNo
generated_copilotThis is the name of the profile to use for the generated copilot model. It can be any one of those listed here: Generated Character Profiles. In general you will want it to be set to “Copilot”, but others can be used depending on the activity and type of aircraft.Default value is “”, which means no copilot will be spawned.StringNo
copilot_behaviorThis is used to set the initial copilot behaviour, as defined in the cabin_service file. Currently the only available service behaviour is “COPILOT”.The default value is “COPILOT”.StringNo
hide_avatarThis is used to set up how the pilot avatar is hidden. If set to 0 (false), the pilot avatar will only be hidden when the cockpit camera is used. If set to 1 (true) then the pilot avatar will always be hidden while inside the aircraft, regardless of the camera being used. Note that this will not affect the avatar visibility outside the aircraft. This can be used if the aircraft has a pilot avatar included as part of the model and doesn’t want to display the one the simulation generates.Default value is 0.BooleanNo
pilotThis is the title of the SimObject - as set in the sim.cfg file. If you do not set this parameter then no pilot object will be spawned, although for user aircraft it may still spawn a pilot if a mission explicitly specifies one. If the player has a setting other than “Default” in the simulation options menu, then that setting will override this one (and may also spawn a pilot if this parameter is omitted). For a list of pilots available without creating your own SimObjects, please see the List Of Included Pilot/Copilot/Instructor SimObjects.NOTE: In “freeflight”, this parameter may be ignored if the aircraft flight_model.cfg has not defined a pilot station_load.N.Default is “”.StringNo
copilotThis is the title of the SimObject - as set in the sim.cfg file fflight_model.cfg/strong> copilot. If you do not set this parameter then no copilot object will be spawned, although for user aircraft it may still spawn a copilot if a mission explicitly specifies one. If the player has a setting other than “Default” in the simulation options menu, then that setting will override this one (and may also spawn a copilot if this parameter is omitted). For a list of copilots available without creating your own SimObjects, please see the List Of Included Pilot/Copilot/Instructor SimObjects.NOTE: In “freeflight”, this parameter may be ignored if the aircraft flight_model.cfg has not defined a copilot station_load.N.Default is “”.StringNo
instructorThis is the title of the SimObject - as set in the sim.cfg file for a human SimObject - that is to be used as instructor in an aircraft. This title is only used for user aircraft (never AI ones) and in missions, and only then if the mission XML specifies the instructor as default in the *.flt file. For a list of instructors available without creating your own SimObjects, yplease see the List Of Included Pilot/Copilot/Instructor SimObjects.Default is “”.StringNo
pilot_default_animationA string representing the animation (BlendTreeState) that will be used by the Human Character pilot. If using one of the included pilots this should be “Idle1_PoseAirliner” or “Idle1_PosePropeller”, depending on the type of aircraft.Default is "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "".Note that this parameter takes a table of 16 strings with the format:List of stringsNo
copilot_default_animationA string representing the animation (BlendTreeState) that will be used by the Human Character copilot. If using one of the included pilots this should be “Idle1_PoseAirliner” or “Idle1_PosePropeller”, depending on the type of aircraft.Default is “”.List of stringsNo
pilot_attach_nodeA string which is the name of a Node in the model of the aircraft, where the pilot will be attached.The default value is “PILOT_0”.StringNo
copilot_attach_nodeA string which is the name of a Node in the model of the aircraft, where the copilot will be attached.The default value is “COPILOT”.StringNo

[SERVICES]

This section details which Airport Services can be available for this aircraft. Each line in this section contains a name of a service, followed by = 1 to mark it as available, or = 0 to make it unsuitable for the aircraft. Any unspecified service is considered unavailable (0) by default. The following parameters for services exist:

ParameterDescriptionTypeRequired
FUELTRUCKAbility to call a FuelTruck from a parking. Even if unavailable, this does not prevent taxiing to a fuel station.BoolNo
BAGGAGE_LOADERDetermines whether the entire baggage service is available or not.BoolNo
CATERING_TRUCKDetermines whether a catering truck is available or not.BoolNo
BOARDING_RAMPDetermines whether a boarding ramp (moving stairs) is available or not.BoolNo
GROUND_POWER_UNITDetermines whether ground power units are available or not.BoolNo
PUSHBACKIndicates availability of the large pushback vehicle used mostly for airliners.BoolNo
SMALL_PUSHBACKIndicates availability of small pushback vehicles for GA aircraft and private jets (requires centered nose wheel).BoolNo
MARSHALLERDetermines whether a marshaller is available or not.BoolNo
JETWAYDetermines whether a jetway is available or not (aircraft can still park at gates without connection).BoolNo
WINCHDetermines whether a winch is available or not (aircraft must be a glider).BoolNo
WING_RUNNERDetermines whether a wing runner is available or not (aircraft must be a glider).BoolNo
DISABLE_PASSENGER_BOARDINGWhen set to true (1), passenger boarding will be disabled for the aircraft.BoolNo

Note that most services require properly defined [Interactive Points] in order to be usable.

Also note that if neither PUSHBACK nor SMALL_PUSHBACK are available (for example with aircraft having a left and right front wheels instead of a centered one), the User will still be able to pushback the aircraft (with Shift+P), but this might appear as “magic” because no visible vehicle or human character will be seen pushing the aircraft.

[IKCHAINS]

This section is used to set up the inverse kinetic chain between the pilot extremities and the yoke/stick and pedals. Here you give the nodes on the cockpit model elements that should “connect” with the relevant part of the pilot/copilot model (hands and feet). The parameters available are:

ParameterDescriptionTypeRequired
right_hand_targetThis is the name of the node on the stick/yoke where the right hand will be “connected”, eg: "Right_Hand_Ik_snap"Default value is “”.StringNo
left_hand_targetThis is the name of the node on the stick/yoke where the left hand will be “connected”, eg: "Left_Hand_Ik_snap"Default value is “”.StringNo
left_foot_targetThis is the name of the node for the foot pedal where the right foot will be “connected”, eg: "Right_Foot_Ik_snap"Default value is “”.StringNo
right_foot_targetThis is the name of the node for the foot pedal where the left foot will be “connected”, eg: "Left_Foot_Ik_snap"Default value is “”.StringNo

[EXITS]

This section defines the exits for the aircraft.

NOTE
This section is no longer used in Microsoft Flight Simulator 2024 aircraft, unless the version major of the flight_model.cfg is set to a value less than 1 (in qhich case this section will be used instead of [INTERACTIVE POINTS]..

It can have the following parameters:

ParameterDescriptionTypeRequired
number_of_exitsThis value defines the number of simulated exits, or doors, on the aircraft.IntegerYes
exit.NEach one of these entries defines the properties of an exit starting at 0 up to number_of_exits - 1. The parameter requires a list of 5 values, in the following order:* The open and close rate percent per second (where 1.0 is fully open)* The X position relative to Datum Reference Point* The Y position relative to Datum Reference Point* The Z position relative to Datum Reference Point* The type of exit (0 = Main, 1 = Cargo, 2 = Emergency)For example:exit.0 = 0.4, -16.50, -4.5, 0.5, 0;List of FloatsNo

[VR]

For each base aircraft, a VR section should be added to bind node descriptors to the actual meshes or animations of the glTF file for the aircraft (see VR Helpers for model setup information). This section has the following parameters:

ParameterDescriptionTypeRequired
collective_animThis is the name of the collective animation, eg: "HANDLING_COLLECTIVE_Lever"Default value is “”.StringNo
collective_nodeThis is the name of the collective node of the model. Note that this node - and all its children - will be highlighted when the collective is selected by the user.Default value is “”.StringNo
collective_collision_meshThis is the optional collision mesh added to enhance interactions with the collective. See the section Yoke / Collective Collision Meshes for more information.Default value is “”.StringNo
yoke_anim_xThis is the name of the horizontal stick animation left/right or the rotational yoke animation left/right, eg: "HANDLING_YOKE_Lever_StickLR"Default value is “”.StringNo
yoke_anim_yThis is the name of the vertical (depth) yoke animation, eg: "HANDLING_YOKE_Lever_StickForeAft"Default value is “”.StringNo
yoke_nodeThis is the name of the yoke node of the model. Note that this node - and all its children - will be highlighted when the yoke is selected by the user.Default value is “”.StringNo
yoke_collision_meshThis is the optional collision mesh added to enhance interactions with the yoke. See the section Yoke / Collective Collision Meshes for more information.Default value is “”.StringNo

For more information on VR controls for the yoke / stick / collective, please see here:

[InteractionMgr.N]

This section initialises the interaction manager for the aircraft. This section must be added if there are interactions between SimObjects in the aircraft, for example, the interaction between the pilot, the seat, and the seatbelt. You can define multiple of these sections numbering them from 0, where each section is applied to a variation of the aircraft. You can find further information on interactions from the the following page:

This section can have the following parameters:

ParameterDescriptionTypeRequired
graphThis parameter requires the name of the navigation graph file that is to be used.Note that if there is no navigation graph to be used, yet you still require the interaction manager to be initiated, you should put NONE as the value for this parameter.StringYes

[FLTSIM.N]

The [FLTSIM.N] section(s) are used to define the behavior of the aircraft as a SimObject, and whether it is available to the user or not. You can define multiple of these sections numbering them from 0, where each section is a variation of the aircraft. The following parameters exist for this section:

ParameterDescriptionTypeRequired
titleThe aircraft variation name. Names are a unique identifier of SimObjects and their variants. We recommend using your company name as a prefix, to guarantee the uniqueness of your SimObject even when included with objects produced by other 3rd party developers.StringYes
operating_statusThis parameter tells the simulation what status the aircraft has. The string given here will affect what activities the aircraft can participate in as well as how it is displayed to the user. The status descriptions are as follows:1. in_service: an aircraft that is “real” and exists in the world and is currently in actual use.2. retired: an aircraft that is “real” but currently decommissioned and not in use anywhere in the world (for example, Concorde).3. experimental: an aircraft that is physically possible and has either been prototyped or at least fully designed, but never put into production or active service.4. fantasy: an aircraft that does not exist outside of the fictional world in any form.The default value is “in_service”.String:1. in_service2. retired3. experimental4. fantasyNo
targeted_specializationsThis is used in conjunction with the online version of the Career Compatibility tool to define whether an aircraft is available for a career specialisation or not. The parameter requires a list of Specialisation Codes to define the specialisations that you wish the aircraft to participate in. As an example:<span></span>targeted_specializations = CHT-AEC, CAR-PLM, FIR-EXA, SAR-PLN<span></span>Using this parameter you can exclude your aircraft from compatible specialisations by ommitting the specialisation code from this list. So the aircraft will only be available to those specialisations that are listed here and have been validated. If no specialisations are listed here the aircraft will not be available in any career activity.List of stringsYes
militaryWhen this is set to 1 (TRUE) then the aircraft will be considered a military aircraft.Default value is 0 (FALSE).BooleanNo
premiumWhen this is set to 1 (TRUE) then the aircraft will be considered a premium (luxury) aircraft.Default value is 0 (FALSE).BooleanNo
modelThe folder for the aircraft model (if it’s the default “model” folder, leave as an empty string “”).StringNo
panelThe folder for the aircraft panel (if it’s the default “panel” folder, leave as an empty string “”).StringNo
soundThe folder for the aircraft sounds (if it’s the default “sound” folder, leave as an empty string “”). However we recommend that you specify a path to to the sound folder, for example:sound="\..\..\MyCompany_MyAircraft\sound"It is worth noting that you can also specify a folder name suffix instead of a full path, for example:sound=CFMWhen using a suffix like this, the code will then look for a folder called sound.CFM in the aircraft package folder.IMPORTANT! By adding a folder name suffix, your event names will concatenate your PC.PCK file name with your suffix, for example: Play_MyCompany_MyAircraft _MySuffix_EventName.StringNo
soundaiThe folder for the aircraft AI sounds (if it’s the default “soundai” folder, leave as an empty string “”). However we recommend that you specify a path to to the sound AI folder, for example:soundai="\..\..\MyCompany_MyAircraft\soundai"It is worth noting that you can also specify a folder name suffix instead of a full path, for example:soundai=CFMWhen using a suffix like this, the code will then look for a folder called soundai.CFM in the aircraft package folder.IMPORTANT! By adding a folder name suffix, your event names will concatenate your PC.PCK file name with your suffix, for example: Play_MyCompany_MyAircraft _AI_MySuffix_EventName.StringNo
textureThe folder for the aircraft textures (if it’s the default “texture” folder, leave as an empty string “”).StringNo
effectsThe folder for the aircraft lighting effects (if it’s the default “effects” folder, leave as an empty string “”).NOTE: This is only for light effects, as explained in this section - Implementing Lights.StringNo
kb_checklistsProcedures/Checklist sibling file name.StringNo
kb_referenceReference information sibling file name.StringNo
descriptionA full description of the aircraft variation.StringNo
short_descriptionA short description of the aircraft variation.StringNo
wip_indicatorThe current development status of the variation.Integer:1. -1 = Disabled2. 0 = Rough3. 1 = First Pass4. 2 = FinishedNo
ui_manufacturerLocalisable string indicating the manufacturer. NOTE: This is required for the correct setup of the Aircraft Classification Details in the simulation UI.StringNo
ui_typeLocalisable string indicating the aircraft type.NOTE: This is required for the correct setup of the Aircraft Classification Details in the simulation UI.StringNo
ui_typeroleString indicating the typical aircraft role. Can only be one of those listed currently. This will change what type of data is shown in the simulation UI when the user is inspecting the aircraft. If an incorrect string is given (ie: not one of those from the list), then the UI will only show the weight of the aircraft. Note that if your aircraft does not fit any of the descriptive strings available, then you should pick the one that is closest in terms of general properties.Please note that this parameter will also have an effect on the orientation of the aircraft when it spawns into a career mission. Please see here for more information: Pre-Mission Checks.String:Commercial Airliner747-400 V3747-400BCF V3747-400D V3747-400ER V3747-400ERF V3747-400F V3747-400M V3Single Engine PropTwin Engine PropSingle Engine TurboPropTwin Engine TurboPropTwin Engine JetRegional JetSingle Engine JetRotorcraftGliderAirshipHot Air BalloonNo
ui_variationLocalisable string indicating the variation (ie: preset) of the aircraft.NOTE: This is also used in the setup of the Aircraft Classification Details in the simulation UI.StringNo
ui_createdbyName of the person or company that created the asset.NOTE: Aircraft that have the same icao_model and ui_createdby values will be grouped together as variations of the same model in the Free Flight aircraft selection screen and in the aircraft store in Career mode.StringNo
ui_thumbnailfileRelative path to the thumbnail image for the aircraft asset.StringNo
ui_certified_ceilingThe service ceiling/max certified operating altitude, in ft.This value should always be set correctly, as it will be displayed in the simulation UI as part of the Aircraft Classification Details, and it is also a fallback for the cruise_alt parameter.FloatYes
ui_max_rangeThe maximum distance the aircraft can fly between take-off and landing, in nm.NOTE: This is also used in the setup of the Aircraft Classification Details in the simulation UI.FloatNo
ui_autonomyThe maximum duration the aircraft can fly between take-off and landing in hours.FloatNo
ui_fuel_burn_rateThe average fuel consumption per hour, in lbs.This data is used to determine if a fuel-powered or hybrid aircraft is compatible with a career mission. See Pre-Mission Checks for more information.For hybrid aircraft, it is advised to indicate a fuel burn rate corresponding to a cruise where both types of energy are used simultaneously (the term hybrid aircraft is used here to describe an aircraft that presents a mix of electrical and fuel-powered engines).NOTE: This is also used in the setup of the Aircraft Classification Details in the simulation UI.FloatNo
ui_powerplant_specificsA short localisable string that describes the powerplant of the aircraft. This can be the make and model or something more generic, for example:1. Pratt & Whitney PT6A-67AG2. Radial Piston Engine3. 2 BladesNOTE: This is also used in the setup of the Aircraft Classification Details in the simulation UI.StringNo
ui_electrical_engine_consumptionThis defines the consumption of all electrical engines used for propulsion when operating at normal speed and at cruise altitude, in kW.This data is used in relation with ui_engine_available_electrical_capacity to determine if an electrical or hybrid aircraft is compatible with a career mission. See Pre-Mission Checks for more information.For hybrid aircraft, it is advised to indicate a consumption corresponding to a cruise where both types of energy are used simultaneously (the term hybrid aircraft is used here to describe an aircraft that presents a mix of electrical and fuel-powered engines).Default value is 0.FloatNo
ui_engine_available_electrical_capacityThis defines the sum of the capacities of all batteries powering electrical engines used for propulsion, in kWh.This data is used in relation with ui_electrical_engine_consumption to determine if an electrical or hybrid aircraft is compatible with a career mission (the term hybrid aircraft is used here to describe an aircraft that presents a mix of electrical and fuel-powered engines). See Pre-Mission Checks for more information.Default value is 0.FloatNo
ui_instrumentationA short localisable string that describes the instrumentation of the aircraft. This can be the make and model or something more generic, for example:1. Garmin G3X Touch2. Mixed (analog and digital instruments)NOTE: This is is also used in the setup of the Aircraft Classification Details in the simulation UI.StringNo
ui_additional_informationA short localisable string that gives any important additional information about the aircraft, for example:1. Fitted with a liquid sprayer system2. Set up for aerial observation and reconnaissance3. Base model of the aircraftNOTE: This is also used in the setup of the Aircraft Classification Details in the simulation UI.StringNo
atc_idThis gives the registration number of the aircraft (note that it can be modified in the simulation options by the user). The options for how this is displayed will depend on the [VPaintingN] settings of the panel.cfg file.For more information please see here: Registration Numbers.StringNo
atc_airlineThe airline name.StringNo
atc_flight_numberThe flight number.StringNo
atc_heavyWhether the aircraft is heavy (TRUE, 1) or not (FALSE, 0).BoolNo
atc_parking_typesList of types of parking permitted for the aircraft. This is a single string containing a comma separated list of possible parking types, eg: "GATE,RAMP,CARGO"String:1. ANY2. RAMP3. CARGO4. MIL_CARGO5. MIL_COMBAT6. GATE7. DOCKNo
atc_parking_codesA single string containing a comma separated list of parking codes, eg: “F18,A”StringNo
isAirTrafficIf this is set to TRUE (1) then this variation is considered to be optimized for use as a parked plane, or as part of air traffic.Please see the Aircraft.cfg - Air Traffic section for additional information related to this setting.BoolNo
canBeUsedByAITrafficIf this is set to TRUE (1) the aircraft will appear in AI Offline AirTraffic and/or in Parked Aircraft. If set to FALSE (0) then it won’t be used for these things.The default value is TRUE (1).Please see the Aircraft.cfg - Air Traffic section for additional information related to this setting.BoolNo
isUserSelectableIf this is set to FALSE (0) this variation is not selectable to the user for flying (ie: it won’t appear on the aircraft selection screen).Please see the Aircraft.cfg - Air Traffic section for additional information related to this setting.IMPORTANT! If the aircraft can be selected by the user for flying, it must have a panel.cfg as well.BoolNo
icao_airlineNon-localized ICAO designator of the airline if the variation is a livery for a real airline.Please see the Aircraft.cfg - Air Traffic section for additional information related to this setting.StringNo
isTowPlaneThis parameter can be used to flag the aircraft as available for use as a tow plane for gliders.Default value is false.BoolNo
interior_occlusion_factorThe interior models of the aircraft (passengers, seats, cargo, etc…) will have Ambient Occlusion included as part of their material definition when they were modeled. However, this may need adjusting at run-time depending on the aircraft they are being used in. As such this parameter can be adjusted to modify the amount of AO to be applied when the model is inside the aircraft.NOTE: This can be further adjusted using the node_occlusion_factor parameter when working with node graphs.Default value is 1.FloatNo
capacityThis value is the number of available seats in the aircraft, minus the pilot and copilot.Default value is 0.IntegerNo

Specialisation Codes

The following table gives all the codes required for the targeted_specializations parameter:

SpecialisationDressing CodeCabin Code
Medevac - PlaneMED-PLNMED_Cabin
Cargo Transport (Light) - PlaneCAR-PSOCAR_Cabin
Cargo Transport (Medium) - PlaneCAR-PLCCAR_Cabin
Cargo Transport (Heavy) - PlaneCAR-PCCCAR_Cabin
Cargo Transport (Super Heavy) - PlaneCAR-PVOCAR_Cabin
Remote Cargo Ops - PlaneCAR-PLMCAR_Cabin
Cargo Transport - RotorcraftCHT-ROHCHT_Cabin
Aerial Construction - RotorcraftCHT-AECCAR_Cabin
Scientific Research - PlaneDIC-SCRDIC_Cabin
Passenger Transport - PlaneCOF-PCCCOF_Cabin
Passenger Transport - RotorcraftCOF-ROTCOF_Cabin
Charter Service (Private) - PlanePRC-PSOCOF_Cabin / PRC_Cabin
Charter Service (VIP) - PlanePRC-PLCPRC_Cabin
Charter Service (VIP Airliner) - PlanePRC-PCCPRC_Cabin
Search & Rescue - PlaneSAR-PLNN/A
Search & Rescue - RotorcraftSAR-ROTSAR_Cabin
Search & Rescue (Hoist) - RotorcraftSAR-ROISAR_Cabin
Aerial Firefighting (Initial Attack) - PlaneFIR-INAFIR_Cabin
Aerial Firefighting (Extended Attack) - PlaneFIR-EXAFIR_Cabin
Skydive Aviation - PlaneSKP-PLNSKP_Cabin
Agricultural Aviation - PlaneAEA-PLNAEA_Cabin
Agricultural Aviation - RotorcraftAEA-ROTAEA_Cabin
Aerial Advertising - PlaneAAD-PLNAAD_Cabin
First Flight - PlaneFIF-PLNCOF_Cabin
Flightseeing - PlaneTOR-PLNCOF_Cabin
Flightseeing - RotorcraftTOR-ROTCOF_Cabin
Ferry Flight - PlaneFEF-PLNDEFAULT

[EFFECTS]

IMPORTANT!
This section relates to using legacy effects from previous versions of the product, and currently this system should only be used for creating lights (as explained here: Implementing Lights). If you have included this section and have any parameters here that are not for lights (eg: vapor trails, water wake, etc…) then you should remove them as they can cause significant performance issues for zero gain as they will not be seen. For the current way of creating and using effects please see the section on Visual Effects. The effects section of the file refers to the visual effects that result from various systems or reactions of the aircraft. An effect file associated with a keyword in this section will be used when the corresponding action is triggered. If no entry is made a default effect file will be used.

Each entry can be followed by a ,1 if the effect is to be run for a single iteration. Set this number to ,0 or leave blank for the effect to continue as long as the respective action is active, for example:

[EFFECTS]
vaportrail_l = fx_vaportrail_l, 0
vaportrail_r = fx_vaportrail_r, 0
l_wingtipvortice = fx_wingtipvortice_l, 1
r_wingtipvortice = fx_wingtipvortice_r, 1

If you make an entry in the configuration file it will replace the default effects with a new one, or - to turn off the effect - add an entry that references the fx_dummy effect (which does nothing).

The table below outlines the aircraft effects parameters, though of course not all effects are supported on all aircraft:

ParameterDescriptionSingle IterationTypeRequired
wakeA wake effect for water. Default: fx_wake.FalseEnumNo
waterLanding, taxiing, or taking off from water effect. Default: fx_spray.FalseEnumNo
waterspeedTraveling at speed on water. Default: fx_spray.FalseEnumNo
dirtMoving on dirt. Default: fx_tchdrt.FalseEnumNo
concreteMoving on concrete. Default: fx_sparks.FalseEnumNo
touchdownTouchdown effect. Default: fx_tchdwn.TrueEnumNo
contrailContrail effect for jets above 29,000 ft. Default: fx_contrail_l.FalseEnumNo
startupEngine startup. Default: fx_engstrt.TrueEnumNo
landrotorwashRotor wash (helicopters only). Default: fx_rtr_lnd.FalseEnumNo
waterrotorwashWater rotor wash (helicopters only). Default: fx_rtr_wtr.FalseEnumNo
vaportrail_lLeft wing vapor trail. Default: fx_vaportrail_l.FalseEnumNo
vaportrail_rRight wing vapor trail. Default: fx_vaportrail_r.FalseEnumNo
l_wingtipvorticeLeft wingtip vortice (e.g., jets like F18). Default: fx_wingtipvortice_l.TrueEnumNo
r_wingtipvorticeRight wingtip vortice. Default: fx_wingtipvortice_r.TrueEnumNo
fueldumpFuel dump active. Default: fx_dummy (no effect).FalseEnumNo
EngineFireEngine fire. Default: fx_engfire.FalseEnumNo
EngineDamageEngine damage. Default: fx_engsmoke.FalseEnumNo
EngineOilLeakOil leak. Default: fx_OilLeak.FalseEnumNo
SkidPavementSkid on tarmac leaving a mark. Default: fx_skidmark.FalseEnumNo
SnowSkiTrackSkid on snow. Default: fx_dummy (no effect).FalseEnumNo
WheelSnowSprayTakeoff on snow. Default: fx_WheelSnowSpray.FalseEnumNo
WheelWetSprayTakeoff on wet runway. Default: fx_WheelWetSpray.FalseEnumNo
WetEngineWashPropeller wash effect on wet terrain below 20 m. Default: fx_WetEngineWash.FalseEnumNo
SnowEngineWashPropeller wash effect on snow or snowfall below 20 m. Default: fx_SnowEngineWash.FalseEnumNo
WaterBallastDrainWater ballast draining (gliders only). Default: fx_WaterBallastDrain.FalseEnumNo
PistonFailureOne or more piston failures. Default: fx_PistonFailure.TrueEnumNo

In all cases, the enum value used can be any one of the following:

fx_wake

fx_spray

fx_tchdrt

fx_sparks

fx_tchdwn

fx_contrail_l

fx_engstrt

fx_rtr_lnd

fx_rtr_wtr

fx_vaportrail_l

fx_vaportrail_r

fx_wingtipvortice_l

fx_wingtipvortice_r

fx_engfire

fx_engsmoke

fx_OilLeak

fx_skidmark

fx_WheelSnowSpray

fx_WheelWetSpray

fx_WetEngineWash

fx_SnowEngineWash

fx_WaterBallastDrain

fx_PistonFailure

fx_dummy

 

Effects can also be specified for an aircraft within a list using the following format:

effect.*N* = effect.N = \<nodename\>#\<SimCode\>#<fxFileName>

Where N is the effect number and nodename is the model node that the effect will be attached to. SimCode is a script expression that has to return TRUE or FALSE (1 or 0), and the effect will show up based on this value. Here is a more thorough example:

effect.0 = L1_EngineFX#(A:GENERAL ENG COMBUSTION:1, boolean)#fx_reactorHeat
effect.1 = L2_EngineFX#(A:GENERAL ENG COMBUSTION:2, boolean)#fx_reactorHeat
effect.2 = R1_EngineFX#(A:GENERAL ENG COMBUSTION:3, boolean)#fx_reactorHeat
effect.3 = R2_EngineFX#(A:GENERAL ENG COMBUSTION:4, boolean)#fx_reactorHeat

The last input in the line is a *.fx file. At this time, it is not yet possible to re-define the effects used.

NOTE
You can find the different *.fx files in the fs-base-effects-legacy folder of your Microsoft Flight Simulator 2024 installation.

Here’s a full example for a Boeing:

[EFFECTS]
wake=fx_wake
water=fx_spray
dirt=fx_tchdrt
concrete=fx_sparks
touchdown=fx_tchdwn, 1
effect.0 = L1_EngineFX#(A:GENERAL ENG COMBUSTION:1, boolean)#fx_reactorHeat
effect.1 = L2_EngineFX#(A:GENERAL ENG COMBUSTION:2, boolean)#fx_reactorHeat
effect.2 = R1_EngineFX#(A:GENERAL ENG COMBUSTION:3, boolean)#fx_reactorHeat
effect.3 = R2_EngineFX#(A:GENERAL ENG COMBUSTION:4, boolean)#fx_reactorHeat