sim.cfg

The Sim.cfg Tab In The SimObject Editor

 

Every Microsoft Flight Simulator 2024 SimObject that is not an aircraft is defined by a mandatory Configuration File called sim.cfg. It mainly provides general information about the SimObject and its variations within the simulation. Most of the data in this file can be set dynamically using The SimObject Editor - specifically from the Sim tab.

 

Below you can find information on the different sections used in the sim.cfg file as well as what parameters and values are expected within them. It should be noted that not all sim.cfg parameters can be used by all SimObject types, and so the tables below have a "Used By" column to show which types of SimObject can use the parameter.

 

For examples of the different sim.cfg file contents, please see here:

 

For information regarding ground vehicle SimObjects, please see here:

 

 

[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.

 

Parameter Description Type Required
major Major CFG file version number, values must be greater than 0. Integer Yes
minor Minor CFG file version number, values must be greater than 0. Integer Yes

 

 

[General]

This section controls some general details relating to the SimObject being defined.

 

Available parameters are:

 

Parameter Used By Description Type Required
category
  1. All
The category for the SimObject. This will tell the simulation what other parameters to expect and initialise certain internal parameters for it.

Enum (aircraft.cfg only):

  1. "Airplane"
    "Helicopter"
    "Airship"

 

Enum (sim.cfg only):

  1. "Boat"
    "Train"
    "GroundVehicle"
    "Winch"
    "StaticObject"
    "SimpleObject"
    "SimpleObjectSim"
    "Parachute"
    "CharacterSim"
    "ProceduralCharacter"
    "Human"
    "AircraftPilot"
    "GroundVehiclePilot"
    "Animal"
    "FlyingAnimal"
    "ControlTower"
    "HotAirBalloon"

Yes
DistanceToNotAnimate
  1. All

This is the distance (in meters) to turn off animation and model behavior systems, which lowers the processing overheads for the SimObjects. The approximate values by category would be:

  • AircraftPilot = 100 meters
  • FlyingAnimals = 250 meters
  • All others (including GroundVehicles) = 1000 meters

When the SimObject is farther away from the viewpoint of the camera, its ModelBehaviors and other animations are not executed in order to improve general sim performance. If the camera gets farther than this distance during an animation and then comes back closer, the animation will immediately skip to the frame it should have been on and, for model behaviors, the SimVar ANIMATION DELTA TIME will contain the total time of animation interruption instead of the current frame delta time. This means that, as long as the animations/model behaviors are not visible from this distance, this performances optimization will have no visible impact whatsoever for the user.

Float No
HasMovingPlatform
  1. "Boat"
When this is set to 1 (TRUE), the SimObject is registered in the simulation as being a "moving platform". This designation will change how aircraft calculate the surface velocity when flying over the sim objector coming in to land. Boolean No
AttachedAirport
  1. All

This parameter permits you to link the SimObject with an airport. Once linked, the airport will then move along with the SImObject. This is only usually used for helipads that are on boats, for example. The parameter requires the filename of the airport to use, with the following format:

AttachedAirport = <filename>.xml

Where <filename> is the name of the airport XML file.

String No

 

 

[Surface]

This section controls the surface collisions for the SimObject.

 

The only available parameter is:

 

Parameter Used By Description Type Required
IgnoreObjectsCollision
  1. "StaticObject"
This determines whether the object will be placed on the ground while ignoring other object collisions (TRUE, 1), and thus possibly be inside a SceneryObject building, or take those collisions into account when placed on the ground (FALSE, 0). It defaults to 0 (FALSE). Float Yes

 

 

[DesignSpecs]

This section controls the specification related to the movement of the SimObject being defined.

 

Available parameters are:

 

Parameter Used By Description Type Required
max_speed_mph
  1. "Boat"
  2. "GroundVehicle"
  3. "Human"
  4. "AircraftPilot"
  5. "GroundVehiclePilot"
  6. "Animal"
  7. "FlyingAnimal"

The maximum speed of the SimObject, in mph. If you have added the speed in Knots this is not required, but one of the two must be present.

Value must be greater than 0.

Float Yes
max_speed_knots
  1. "Boat"
  2. "GroundVehicle"
  3. "Human"
  4. "AircraftPilot"
  5. "GroundVehiclePilot"
  6. "Animal"
  7. "FlyingAnimal"

The maximum speed of the SimObject, in Knot. If you have added the speed in mph this is not required, but one of the two must be present.

Value must be greater than 0.

Float Yes
acceleration_constants
  1. "Boat"
  2. "GroundVehicle"
  3. "Human"
  4. "AircraftPilot"
  5. "GroundVehiclePilot"
  6. "Animal"
  7. "FlyingAnimal"
2 value table used to control the SimObject acceleration. The first value is a time constant of effect responsiveness (higher value for faster reactions), while the second one is a maximum acceleration in Gs.

List of 2 Floats

No
deceleration_constants
  1. "Boat"
  2. "GroundVehicle"
  3. "Human"
  4. "AircraftPilot"
  5. "GroundVehiclePilot"
  6. "Animal"
  7. "FlyingAnimal"
2 value table used to control the SimObject deceleration. The first value is a time constant of effect responsiveness (higher value for faster reactions), while the second one is a maximum acceleration in Gs.

List of 2 Floats

No
turning_constants
  1. "Boat"
  2. "GroundVehicle"
  3. "Human"
  4. "AircraftPilot"
  5. "GroundVehiclePilot"
  6. "Animal"
  7. "FlyingAnimal"
4 value table used to control how the SimObject turns. The first value is a time constant of effect responsiveness (higher value for faster reactions), the second value is the maximum number of degrees it can turn, third is the optimal turning speed (in Knots), and fourth is the maximum turning speed (in Knots).

List of 4 Floats

No
SternPosition
  1. "Boat"
The distance in ft relative to the datum reference position, where a wake effect should start. For aircraft, this is set in the [WEIGHT_AND_BALANCE] section of the flight_model.cfg file, but for boats this is considered as the visual model center. Float No
length
  1. "Boat"
The approximate length of the ship, in meters. Float No
width
  1. "Boat"
The approximate width of the ship, in meters. Float No
shipCategory
  1. "Boat"

The category of ship that is being spawned. This (combined with the width/length parameters) will be used to decide where the ship should spawn in the world based off of real-world traffic data about the types of ships in any specific location.

String:

  1. ANTI_POLLUTION
  2. CAR_CARRIER
  3. COMBINATION_CARRIER
  4. CONTAINER
  5. DIVE_VESSEL
  6. DREDGER
  7. DRY_BULK
  8. FISHING
  9. GAS_CARRIER
  10. GENERAL_CARGO
  11. GENERAL_TANKER
  12. HIGH_SPEED_CRAFT
  13. LAW_ENFORCEMENT
  14. LIVESTOCK
  15. LNG_CARRIER
  16. MEDICAL_TRANS
  17. MILITARY_OPS
  18. OFFSHORE
  19. OTHER
  20. PASSENGER
  21. PILOT_VESSEL
  22. PLEASURE_CRAFT
  23. PORT_TENDER
  24. REEFER
  25. ROLL_ON_ROLL_OFF
  26. SAILING
  27. SEARCH_AND_RESCUE
  28. SPECIAL_CRAFT
  29. TANKER_CHEMICALS
  30. TANKER_CRUDE
  31. TANKER_PRODUCT
  32. TUG
  33. VEHICLE_PASSENGER
No

 

 

[PILOT]

This optional section controls the pilot that will be using the SimObject.

 

Available parameters are:

 

Parameter Used By Description Type Required
pilot_default_animation
  1. "GroundVehicle"
A string representing the animation (BlendTreeState) that will be used by the Human Character pilot. String No
pilot_attach_node
  1. "GroundVehicle"
A 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" String No

 

Note that the models of Human Characters used in the vehicles are determined by the <GroundVehiclePilots> section of the Living World configuration file. The name of the "animation" specified here must be the name of a proper BlendTreeState for the model of Human Character used as pilot (you can find more more details in the Model Animation Definitions page). If BlendTree animation layers are used by the Human Character, the pilot_default_animation can actually contain more data, in the form pilot_default_animation = A,B,C,D,E,F,... where: A is the name of a BlendTreeState, B is the layer containing this state (default to "Base"), C is another BlendTreeState with D its layer, and so on... Each of these BlendTreeStates must belong to different layers.

 

 

[contact_points]

This optional section controls the contact points for the SimObject with the ground. Although the SimObject could work fine with the default values set when omitting this section, we recommend including this section explicitly.

 

The available parameters are:

 

Parameter Used By Description Type Required
static_cg_height
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
The distance, in ft, between the center of the SimObject model and the ground. This should be a positive value if the center of the model is above the ground. Note that with a major [Version] number less than 1.0 (or unspecified), static_cg_height should actually contain this distance +1, due to FSX backward-compatibility, even though this is rather counter-intuitive. Float No
static_pitch
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
The pitch of the SimObject when at rest on flat ground, in degrees.
wheel_radius
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
The radius of the wheels of the SimObject. Note that while creatures/humans don't have wheels, this is still required for defining the way it connects with the ground. Generally this would be set to 1 for anything other than vehicles.

 

 

[WAYPOINT]

This section contains various parameters controlling the way that the SimObject will move along waypoints, or along the internal simulation world paths. All of these parameters are optional and have default values.

 

Available parameters are:

 

Parameter Used By Description Type Required
SlowDownDistance
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
  6. "FlyingAnimal"
The distance, in meters, at which the creature/human start slowing down before a sharp turn or its destination. Default value is 50m. Float No
StopDistance
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
  6. "FlyingAnimal"

The distance, in meters, from the destination at which the creature/human considers it has reached its destination, and will start actually braking to reach a full stop.

Default value is 0m.

FrontRadiusMeters
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
  6. "FlyingAnimal"

The length, in meters, from the center of the creature/human to the front of it. It is used by the AI to better manage turns.

The default value is 0, which means an approximate exaggerated value is computed by using the bounding box of the model.

CanReverse
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
  6. "FlyingAnimal"
Sets whether the creature/human can reverse (TRUE, 1) or not (FALSE, 0). Default is TRUE. Bool
SlowDownOnLastWayPoint
  1. "GroundVehicle"
  2. "Human"
  3. "AircraftPilot"
  4. "GroundVehiclePilot"
  5. "Animal"
  6. "FlyingAnimal"
This determines if the creature/human should start really slowing down (but not trying to fully stop either), on the last 5 meters before its destination (TRUE, 1) or not (FALSE, 0). Default to TRUE.

 

 

[LIGHTS]

This optional section permits you to define lights for the SimObject. It has one parameter that can be listed multiple times to define multiple lights, starting with newlight.0:

 

Parameter Used By Description Type Required
newlight.N
  1. "GroundVehicle"

This defines a single light on the vehicle using 4 values in a table. These values are (in order of use):

  • An enum describing the type of light, either: "HeadLight", "BackLight" or "GyroLight"
  • The name of a FlightSimLight Node
  • The name of a node containing an emissive material
  • The name of the material

For example:

newlight.0 = HeadLight, <lightname>, <nodename>, <materialname>

List of 4 Strings

No

 

 

This section is for defining the way the different parts of the Baggage Cart ground vehicle are linked. For more information on this vehicle type, please see here:

 

It can have the following parameters:

 

Parameter Used By Description Type Required
frontLinkLength
  1. "GroundVehicle"

The length, in meters, of the movable link at the front of the Tug, or 0 if the attach point is fixed without link.

Float Yes
frontLinkStartPosition
  1. "GroundVehicle"
This is a single coordinate, expressed in meters, of the start position of the link along the front-to-back" axis of the vehicle. "Start position" here means the extremity of the link on the Tug side, which remains immobile relative to the Tug.
backLinkLength
  1. "GroundVehicle"

The length, in meters, of the movable link behind the Tug, or 0 if the attach point is fixed without link.

backLinkStartPosition
  1. "GroundVehicle"
This is a single coordinate, expressed in meters, of the start position of the link along the "back-to-front" axis of the vehicle. "Start position" here means the extremity of the link on the Tug side, which remains immobile relative to the Tug.

 

 

[BaggageLoader] (Baggage Loader Only)

This section is for defining the the Baggage Loader ground ramp position. For more information on this vehicle type, please see here:

 

It can have the following parameters:

 

Parameter Used By Description Type Required
ramp_pivot_position_YZ
  1. "GroundVehicle"
This parameter takes two values corresponding to the coordinates, in meters, of the pivot point in the ramp (i.e: the point of the ramp that does not move throughout the inclination animation). Those coordinates are along the Y and Z axes for Microsoft Flight Simulator 2024, in other words the vertical axis and the back-to-front axis.

List of 2 Floats

Yes
ramp_end_position_YZ
  1. "GroundVehicle"
This parameter takes two values corresponding to the coordinates, in meters, of a point at the end of the ramp. This point will aim to end up about 10cm above the interior edge of the cargo compartment of the aircraft. This point is not necessarily on the conveyor belt, and can be located in some form of cushion below the ramp for example. The coordinates should be expressed with the default ramp inclination (i.e. the first frame of the inclination animation).

 

 

[BoardingRamp] (Boarding Ramp Only)

This section is for defining the Boarding Ramp position when extended and retracted. For more information on this vehicle type, please see here:

 

It can have the following parameters:

 

Parameter Used By Description Type Required
top_position_when_fully_extended_YZ
  1. "GroundVehicle"
This parameter takes two values corresponding to the coordinates, in meters, of the contact point when the ramp is correctly inclined and fully extended. The coordinates are those on the vertical axis, and the back-to-front axis, respectively.

List of 2 Floats

Yes
top_position_when_contracted_YZ
  1. "GroundVehicle"
This parameter takes two values corresponding to the coordinates, in meters, of the contact point when the angle of the ramp is correct, but the stairs are not extended (i.e. when the ASOBO_BoardingRamp_Elevation_Template animation is at its first frame).

 

 

[CateringTruck] (Catering Truck Only)

This section is for defining the Catering Truck door position. For more information on this vehicle type, please see here:

 

It can have the following parameter:

 

Parameter Used By Description Type Required
aircraft_door_contact_offset_Z
  1. "GroundVehicle"
This parameter takes one value, which is the coordinate in meters of the point at the end of the bridge, touching the aircraft, when the bridge is fully extended, on the "back-to-front" axis.

Float

Yes

 

 

[FuelTruck] (Fuel Truck Only)

This section is for defining the fuel trucks connection point with the aircraft. For more information on this vehicle type, please see here:

 

It can have the following parameter:

 

Parameter Used By Description Type Required
hose_end_position_XZ
  1. "GroundVehicle"
This parameter takes one value, which is the coordinate in meters of the point of contact between the end of the fuel hose coming out of the aircraft, and the position on the FuelTruck (or its own hose, if any) where it should be connected.

Float

Yes
hose_end_relative_heading
  1. "GroundVehicle"
This parameter takes one value, which is the angle, in degrees, at which the aircraft hose should attach to the point, relative to the FuelTruck vehicle heading. If the point is in the back of the vehicle, an angle of 180° would mean the hose would plug from behind, aligned with the vehicle.

 

 

 

[GroundPowerUnit] (Ground Power Unit Only)

This section is for defining the ground power units connection point with the aircraft. For more information on this vehicle type, please see here:

 

It can have the following parameter:

 

Parameter Used By Description Type Required
hose_end_position_XZ
  1. "GroundVehicle"
This parameter takes one value, which is the coordinate in meters of the point of contact between the end of the cable coming out of the aircraft, and the position on the GroundPowerUnit (or its own cable, if any) where it should be connected.

Float

Yes
hose_end_relative_heading
  1. "GroundVehicle"
This parameter takes one value, which is the angle, in degrees, at which the aircraft cable should attach to the point, relative to the FuelTruck vehicle heading. If the point is in the back of the vehicle, an angle of 180° would mean the cable would plug from behind, aligned with the vehicle.

 

 

[WINCH] (Winch Vehicle Only)

This section is for defining the number of drums that a winch ground vehicle has. For more information on this vehicle type, please see here:

 

It can have the following parameter:

Parameter Used By Description Type Required
drum_count
  1. "GroundVehicle"
The number of cable drums available to the winch. A value between 1 and 3.

Integer

Yes

 

 

[TAXI] (Boarding Ramp and Catering Truck Only)

This section is for defining the Boarding Ramp or Catering Truck position relative to the lane line when moving. For more information on these vehicle types, please see here:

 

It can have the following parameter:

 

Parameter Used By Description Type Required
DistanceToLaneLine
  1. "GroundVehicle"
This parameter defines an offset (in meters) relative to the lane line that the ground vehicle follows.

Float

No

 

 

[Effects]

The effects section of the file refers to the visual effect that should be used for the SimObject wake on the surface of water.

IMPORTANT! This section relates to using legacy effects from previous versions of the product. For the current way of creating and using effects please see the section on Visual Effects.

The table below outlines the boat effects parameter:

 

Parameter Used By Description Type Required
wake
  1. "Boat"
A wake effect for water. Default would be fx_wake. String No

 

 

[Carrier]

This optional section is for telling Microsoft Flight Simulator 2024 that the SimObject is an aircraft carrier. The following parameter exists in this section:

 

Parameter Used By Description Type Required
carrier
  1. "Boat"

When set to 1 (TRUE) the boat will be considered as an aircraft carrier.

Default value is 0 (FALSE).

Boolean No

 

 

 

[fltsim.N]

The [fltsim.N] section(s) are used to define the variations of the SimObject. You can define multiple of these sections numbering them from 0, where each section is a different variation of the object. Note that you cannot "skip" numbers, so you can't have [fltsim.0] and then follow it with [fltsim.2].

 

Each parameter listed below will take a default empty string "" which signifies the default folder, as explained in the descriptions for each parameter. However, should you wish to have variations, the name you give in each parameter will be appended onto the base folder name. For example, the base folder for a model is simply "model", so any variations would be in folders called "model.<variation>". The config file would then look like this:

[fltsim.0]
title=MyCompany_WindSock
model=""
texture=""
 
[fltsim.1]
title=MyCompany_Windsock_Red
model="Red" ; folder would be "model.Red"
texture="Red" ; folder would be "texture.Red"

 

The following parameters exist for this section:

 

Parameter Used By Description Type Required
title All

The scenery object variation name. Names are a unique identifier of SimObj objects and their variants. We recommend using your company name as a prefix, to guarantee the uniqueness of your SimObj object even when included with objects produced by other 3rd party developers.

Note that for the "AircraftPilot" SimObject type, you can set this to "AircraftPilot" and then add in the pilot properties using the [Pilot.N] section. Alternatively, you can use one of the built in pilot types aby giving one of the title strings listed here: List Of Included Pilot/Copilot/Instructor SimObjects

String Yes
model All The folder for the scenery object model (if it's the default "model" folder, leave as an empty string ""). String No
texture All The folder for the scenery object textures (if it's the default "texture" folder, leave as an empty string ""). String No
animation All The folder for the scenery object animation (if it's the default "animation" folder, leave as an empty string ""). String No
sound All The folder for the scenery object sounds (if it's the default "sound" folder, leave as an empty string ""). String No
soundai All The folder for the scenery object AI sounds (if it's the default "soundai" folder, leave as an empty string ""). String No

 

 

[InteractionMgr.N]

This section initialises the interaction manager for the SimObject. This section must be added if there are interactions between SimObjects in an aircraft or the world, for example, the interaction between an airport luggage ramp and the luggage itself. You can define multiple of these sections numbering them from 0. You can find further information on interactions from the the following page:

 

This section can have the following parameters:

 

Parameter Used By Description Type Required
graph
  1. "Boat"
  2. "GroundVehicle"
  3. "StaticObject"
  4. "SimpleObject"
  5. "SimpleObjectSim"
  6. "CharacterSim"
  7. "ProceduralCharacter"
  8. "Human"
  9. "AircraftPilot"
  10. "GroundVehiclePilot"
  11. "Animal"
  12. "FlyingAnimal"

This 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.

String Yes
spawnTag
  1. "Boat"
  2. "GroundVehicle"
  3. "StaticObject"
  4. "SimpleObject"
  5. "SimpleObjectSim"
  6. "CharacterSim"
  7. "ProceduralCharacter"
  8. "Human"
  9. "AircraftPilot"
  10. "GroundVehiclePilot"
  11. "Animal"
  12. "FlyingAnimal"
This is the name of the node to spawn the SimObject on. The object will spawned on the first unoccupied node found by the interaction manager. If no node is defined and the SimObject has to be spawn by the Navigation Service, it will be spawn on the (0,0,0) of the Aircraft or SimObject that spawned it. String No