This article explains customizing airframes per livery in Microsoft Flight Simulator 2020 and 2024. It also contains a full list of customisable items that can be used by livery creators.
These options let you customise your airframes on a per-livery basis.
Above: the various configuration options applied (atc_id, selcal, ddrmi, engine type).
Microsoft Flight Simulator 2020
In MSFS 2020, liveries are configured using [fltsim.n] sections in the aircraft.cfg file. Fenix-specific options are prefixed with fnx_.
Example aircraft.cfg
[VERSION]
major = 1
minor = 0
[VARIATION]
base_container = "..\FNX_320_IAE"
[FLTSIM.0]
title = "Fenix A320 Air New Zealand"
texture = "OJI"
ui_variation = "OJI"
atc_id = "ZK-OJI"
atc_airline = "ANZ"
fnx_selcal_code=FR-BM
fnx_ddrmi_enabled=1Engine Type Detection
The value of base_container in the aircraft.cfg is used to detect the engine type, as well as whether Sharklets are equipped. If an IAE container is selected, then IAE specific options (like displaying EPR) will be applied.
Microsoft Flight Simulator 2024
In MSFS 2024, configuration is done using livery.cfg files.
Fenix-specific options are prefixed with fnx_.
Livery Tags
Tags are used to define where the livery is available to the user in the MSFS UI. The Fenix systems also use these tags to determine which aircraft settings to load (for example, the engine type).
Example livery.cfg
[SELECTION]
required_tags = "A321,IAE,SL,Cabin_A321_TwoClass"Available Tags
| Base Type | Engine | Wing | Cabin |
|---|---|---|---|
| A319 | CFM | WF | Cabin_A321_TwoClass |
| A320 | IAE | SL | Cabin_A321_SingleClass |
| A321 | Cabin_A319_SD | ||
| Cabin_A319_HD |
| ⚠️ Type-specific cabins (SD/HD, Single/Two Class) only work when the correct Base Type is specified. |
Livery Package
Our process for developing liveries is slightly different in MSFS 2024, but has some great advantages, like textures automatically reloading in the simulator.
We recommend starting your livery using the templates provided in the paint kit.
To get started:
- Copy a template for your aircraft variant out of the templates folder.
- Rename the SDK package to match your livery name.
- Open the livery.cfg and set the
required_tagsneeded for the variant you want to paint. - In the developer tools go to File → Open Project → Select the project XML.
- Copy in the needed PNG and XML pairs from the paint kit template folder into the livery project’s texture folder.
- Build your livery SDK project. Subsequent changes you make to the texture PNGs will automatically update in the simulator.
Available Options
| Name | Description | Values (default bold) |
|---|---|---|
| atc_id | Use this instead of registration. | G-FENX |
| icao_airline | Determines which set of cabin announcements are played. | Default |
| fnx_ac_ess_auto_switching_enabled | Whether AC ESS FEED should switch to ALTN automatically. | 0: disabled 1: enabled |
| fnx_acp_type | MSFS 2024 only. Whether to use the old or new-style Audio Control Panel on the pedestal. | 0: classic 1: modern |
| fnx_act_count | A321 only. The number of Additional Centre Tanks installed. | 0: none 1: one 2: two |
| fnx_adirs_type | MSFS 2024 only. Whether to use the older GNADIRS or newer ADIRS panel on the overhead. | 0: GNADIRS 1: ADIRS |
| fnx_airline_pack_custom_tags | Additional custom tags to be searched for in airline packs when finding announcements. E.g. "wifi" | |
| fnx_baro_unit | Sets the default units for barometric pressure. | 0: hPa 1: inHg |
| fnx_brake_fans_enabled | Whether brake fans should be present, and the brake fan button. | 0: off 1: on |
| fnx_bulk_cargo_enabled | Whether the bulk cargo door is present. | 0: off 1: on |
| fnx_buss_enabled | Whether the Backup Speed Scale is visible on the PFD when airspeed is unreliable. | 0: off 1: on |
| fnx_cabin_ready_call_enabled | Whether cabin crew call the flight deck when the cabin is ready. | 0: off 1: on |
| fnx_cabin_ready_fwc_type | Choose the display for CABIN READY on the ECAM. | 0: none 1: checklist 2: memo |
| fnx_cargo_heat_enabled | Whether the CARGO HEAT should be installed. | 0: hidden 1: visible |
| fnx_cdls_keypad_beep_enabled | Whether the keypad should beep on CDLS startup. | 0: off 1: beep 2: beep beep |
| fnx_channel_spacing_type | Sets the distance between VHF channels on the radios. | 0: 25 KHz 1: 8.33 KHz |
| fnx_dcdu_enabled | Sets the visibility of the DCDU equipment. | 0: hidden 1: visible |
| fnx_ddrmi_enabled | Sets the visibility of the DDRMI gauge. | 0: hidden 1: visible |
| fnx_default_acceleration_altitude_ft | Sets the default acceleration altitude. | 0: +1000 ft 1: +1500 ft 2: +3000 ft Any altitude e.g.: 600: +600 ft |
| fnx_default_thrust_reduction_altitude_ft | Sets the default thrust reduction altitude. | 0: +1000 ft 1: +1500 ft 2: +800 ft Any altitude e.g.: 600: +600 ft |
| fnx_default_acceleration_altitude_engine_out_ft | Sets the default engine out thrust reduction altitude. | 0: +1000 ft 1: +1500 ft 2: +800 ft Any altitude e.g.: 600: +600 ft |
| fnx_direct_to_default_abeam_enabled | Whether the DIRECT TO page should have ABEAM PTS selected by default. | 0: DCT 1: ABEAM PTS |
| fnx_efb_mount_type | The method of mounting the EFB. | 0: window 1: frame |
| fnx_electric_hydraulic_pump_type | Sets the manufacturer of the electric hydraulic pump. Changes the sounds. | 0: Vickers 1: Parker |
| fnx_emergency_exits_type | Whether one or two doors should be visible on the over-wing exits. | 0: single exit 1: double exit |
| fnx_fap_slide_disarmed_message | Message displayed in the FAP when a door is closed but not armed. | 0: SLIDE DISARMED 1: SLIDE IN PARK |
| fnx_fls_enabled | Whether FMS Landing System should be enabled. | 0: disabled 1: enabled |
| fnx_front_window_type | Sets the visibility of the front window plug. | 0: window 1: plug 2: rimless plug |
| fnx_go_around_nav_enabled | Whether a go around engages NAV or GA TRK. | 0: GA TRK 1: NAV |
| fnx_gpws2500 fnx_gpws2500b fnx_gpws2000 fnx_gpws1000 fnx_gpws500 fnx_gpws500_glide_deviation fnx_gpws400 fnx_gpws300 fnx_gpws200 fnx_gpws100 fnx_gpws50 fnx_gpws40 fnx_gpws30 fnx_gpws20 fnx_gpws10 fnx_gpws5 | GPWS audio callouts. | 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 |
| fnx_hubcaps_enabled | Sets the visibility of brake fan hubcaps. Requires fnx_brake_fans_enabled. | 0: disabled 1: enabled |
| fnx_iae_crank_type | IAE only. Cranking rules during engine start. | 0: 30 seconds 1: 50 seconds |
| fnx_ice_detection_enabled | Whether the ice detection system is present and active. | 0: hidden 1: visible |
| fnx_isis_type | Whether the ISIS is the old or new style. Forced to “new” for sharklet aircraft. | 0: old style 1: new style |
| fnx_lateral_deviation_scales_enabled | Whether lateral deviation scales should show. | 0: disabled 1: enabled |
| fnx_metric_standby_enabled | Analogue metric standby instrument visibility. | 0: hidden 1: visible |
| fnx_msn | The manufacturer serial number of the aircraft. Example: 4500 | 0: not specified |
| fnx_noise_package_enabled | A321 CFM only. Noise package chevrons on the engine. | 0: hidden 1: visible |
| fnx_non_smoker_enabled | Whether the aircraft is always non-smoking (signs permanently on). | 0: off 1: on |
| fnx_registration_panel_enabled | Shows or hides the registration + SELCAL panel in the cockpit. | 0: hidden 1: visible |
| fnx_rear_window_type | A319 only. Whether there is an extra rear window at the back of the fuselage. | 0: hidden 1: visible |
| fnx_selcal_code | The aircraft’s SELCAL code visible on the main panel. Use fnx_registration_panel_enabled to hide this panel entirely. | -.- |
fnx_single_engine_taxi_without_apu_enabled | Whether this aircraft is permitted to taxi single engine without the APU running. | 0: no SETWA 1: SETWA mod installed |
| fnx_standby_type | Switch between ISIS or 3x analogue standby instruments. | 0: ISIS 1: analogue |
| fnx_start_pack_inhibit_type | The pack inhibition rules at engine start. | 0: legacy 1: before SB 2: with SB |
| fnx_takeoff_performance_packs_on_enabled | Whether packs should be ON or OFF by default for EFB takeoff performance. | 0: packs off 1: packs on |
| fnx_takeoff_shift_unit | Sets the unit used for take-off shift. | 0: metres 1: feet |
| fnx_tcas_ap_enabled | Whether TCAS Autopilot should be enabled. | 0: disabled 1: enabled |
| fnx_tpis_enabled | Whether the Tire Pressure Indicating System (TPIS) is installed. | 0: disabled 1: enabled |
| fnx_virtual_purser_keep_emer_exits_armed_for_turnaround | Whether the VP should leave the mid-cabin doors armed during turnaround. | 0: disarm all doors 1: disarm only 1L/R, 4L/R |
| fnx_virtual_purser_cruise_cabin_lights_brightness_in_dark | Cabin light brightness the VP should select between takeoff and landing. | 0: Off 1: DIM 2 2: DIM 1 3: BRT |
| fnx_virtual_purser_lock_lavatories_during_refueling | Whether the VP should lock lavatories during refuelling. | 0: leave lavatories unlocked 1: lock lavatories |
| fnx_weight_unit | Sets the default units for weight. | 0: kg 1: lbs |
| fnx_wifi_antenna_type | Which WiFi/SatCom antenna should be visible. | 0: none 1: European 2: American |
| fnx_window_plug_list | A321 only. A comma separated list of windows that should be plugged. Example: 1L, 29R | |
| fnx_window_plug_type | A321 only. The type of plug to use on the windows specified in fnx_window_plug_list. | 0: not plugged (window) 1: plugged 2: rimless plug |
| fnx_wingbox_type | Switches between the old and new wingbox. | 0: old 1: modern |
| fnx_yellow_hydraulic_steering | Switches between nose wheel steering being on the yellow or green hydraulic systems.. | 0: green 1: yellow |