CARGO TRANSPORT
In the Microsoft Flight Simulator 2024 career mode, one of the challenges that a user can take is to fly cargo runs ranging from short local delivery flights in small aircraft, to long-haul global freight delivery in large airliners. If you wish your aircraft to be used on these activities you will need a preset that has been appropriately set up as part of the Modular SimObject, as explained below.
For more information on the various other career activities and how to prepare your aircraft, please see here:
Cargo Constraints
When it comes to setting up aircraft for the available cargo activities, there are a few requirements that must be fulfilled by both planes and rotorcraft:
- The aircraft will need to have the
navigation_graph_pilot.cfg
(as explained here). - The
operating_status
must be either "in_service" or "experimental". - The aircraft cannot be flagged as premium.
- The aircraft
ui_max_range
must be greater than 1.
Following the constraints given here for planes will give the aircraft the CAR_Cabin
type. Following the constraints given here for rotorcraft will give the aircraft the CHT_Cabin
type. See here for more information:
Light Cargo Transport (Planes)
For aircraft wanting to fly light cargo transport activities, the following constraints will also be used:
- The aircraft will need to have the
ApronWithoutCovers.flt
file (as explained below). - The
object_class
must be "Airplane" - The plane cannot be flagged as military.
- The plane cannot have a copilot.
- The payload mass must be greater than or equal to 35kg and less than or equal to 680kg (see Note On Payload Mass for more information).
- The fuselage volume must be greater than 1m³ (see Note On Fuselage Volume for more information).
- The plane can have wheels or big wheels, for landing gear.
- The plane cannot have skis or floats for landing gear.
Medium Cargo Transport (Planes)
For planes the following constraints will also be used:
- The aircraft will need to have the
ApronWithoutCovers.flt
file (as explained below). - The
object_class
must be "Airplane" - The plane cannot be flagged as military.
- The plane must have a copilot (see here for information).
- The payload mass must be greater than or equal to 680kg and less than or equal to 3175kg (see Note On Payload Mass for more information).
- The fuselage volume must be greater than 1m³ (see Note On Fuselage Volume for more information).
- The plane can have wheels or big wheels, for landing gear.
- The plane cannot have skis or floats for landing gear.
Heavy Cargo Transport (Planes)
For planes the following constraints will also be used:
- The aircraft will need to have the
ApronWithBatteriesWithoutCovers.flt
file (as explained below). - The
object_class
must be "Airplane" - The plane cannot be flagged as military.
- The plane must have a copilot (see here for information).
- The payload mass must be greater than 3175kg (see Note On Payload Mass for more information).
- The fuselage volume must be less than 2000m³ (see Note On Fuselage Volume for more information).
- The plane can have wheels or big wheels, for landing gear.
- The plane cannot have skis or floats for landing gear.
Super Heavy Cargo Transport (Planes)
For planes the following constraints will also be used:
- The aircraft will need to have the
ApronWithBatteriesWithoutCovers.flt
file (as explained below). - The
object_class
must be "Airplane" - The plane cannot be flagged as military.
- The plane must have a copilot (see here for information).
- The payload mass must be greater than 3175kg (see Note On Payload Mass for more information).
- The fuselage volume must be greater than or equal to 2000m³ (see Note On Fuselage Volume for more information).
- The plane can have wheels or big wheels, for landing gear.
- The plane cannot have skis or floats for landing gear.
Remote Cargo Operations (Planes)
For planes the following constraints will also be used:
- The aircraft will need to have the
ApronWithBatteriesWithoutCovers.flt
file (as explained below). - The
object_class
must be "Airplane" - The plane must be flagged as military.
- A copilot must be assigned to the plane (see here for information).
- The payload mass must be greater than 1kg (see Note On Payload Mass for more information).
- The fuselage volume must be less than 1m³ (see Note On Fuselage Volume for more information)
- The plane can have wheels or big wheels, for landing gear.
- The plane cannot have skis or floats for landing gear.
Cargo Transport (Rotorcraft)
For planes the following constraints will also be used:
- The aircraft will need to have the
ApronWithoutCovers.flt
file (as explained below). - The
object_class
must be either "rotorcraft" or "tiltrotor". - The rotorcraft cannot be flagged as military.
- The rotorcraft must have a copilot (see here for information).
- The payload mass must be greater than or equal to 35kg and less than or equal to 680kg (see Note On Payload Mass for more information).
- The fuselage volume must be greater than 1 (see Note On Fuselage Volume for more information)
- The rotorcraft can have either wheels or skids for landing gear.
- The rotorcraft cannot have floats for landing gear.
Note On Fuselage Volume
Some cargo activity specialisations will only accept aircraft which respect a volume constraint. This volume value is calculated in cubic meters (m³) in the following way:
$$FuselageVolume = \pi \times FuselageLength \times (\frac{FuselageDiameter}{2}) ^2 \times 0.3048^3$$
Where:
- \(FuselageLength\) is the fuselage_length in the flight_model.cfg.
- \(FuselageDiameter\) is the fuselage_diameter in the flight_model.cfg.
- \(0.3048\) is the value used to convert the ft values into a meter equivalent.
Cargo Setup (Planes)
Once the aircraft model has been prepared for cargo activities and the Modular SimObject has been created with a preset that uses the adapted model parts and respects the constraints, the next thing to do would be to add in the required navigation_graph.cfg
files. For cargo missions this means that you will need an additional file - added using the Navigation Graph Editor - that must be named exactly as follows:
navigation_graph_cargo.cfg
For the cargo navigation graph, you only need one tagged node:
-
CARGO
A single node that defines where the cargo visual assets will be placed. This node should be placed at the center of the area reserved for cargo inside the aircraft model, and can be easily placed using the The Edition Gizmo in the simulation from the Navigation Graph Editor, or you can simply supply a modelNode.
Station Loads
The node that you add will not be used for the weight distribution of the cargo within the aircraft, only for visual assets. For weight distribution, you will need to assign one or more station_load.N
(found in the flight_model.cfg
). The number and placement of the stations should reflect the approximate distribution of how cargo could be placed within the aircraft. For example, a small aircraft may only have 2 stations, left and right, while a large aircraft could could have many more (front, front left, left, back left, etc...). It is worth noting that the weight
input for the station load should be set to 0, as it will be modified by the activity itself to reflect the actual weight being distributed at the point.
Mass Sections
Having added the various stations, the next thing to do is go back to the navigation graph and create Mass Sections for each of the stations that you added previously. Each of these mass sections should have a name that represents the station it is assigned to, it should have a fill proportion of 1, and it's maximum mass should be a percentage of the total maximum mass permitted (proportional to the total number of mass sections). So, for example, if you have 4 mass sections and the aircraft is to be used for medium cargo, each mass section would have a maximum weight of 793kg.
NOTE: The total maximum weight for the mass sections should equal the maximum permitted weight for the aircraft cargo, but it does not have to be split equally between the mass sections. Distribution can be setup to add more weight to specific sections if that is realistic for the aircraft, as long as the total combined weight of each section is not more than the maximum permitted weight.
The image below shows an example of the mass section setup:
Once the mass sections have been set up, they will need to be added into the Main Graph section of the navigation graph, and they will also need to be listed in the Mass Section parameter for the node that was created previously.
Cargo Setup (Rotorcraft)
The only cargo activity available for your helicopter is one using a cargo hook attachment under the helicopter to transport cargo from loading points around the globe to hard-to-reach destinations. As with the cargo activities for planes, it is important that the model is set up correctly and that the navigation graph and flight model files are correctly configured (as described in the Cargo Transport (Rotorcraft) section, above).
Helicopter Model
When modelling the helicopter, the artist should model the entire cargo hook assembly underneath the helicopter, and there should be a "helper" node in the glTF that is called Hook_Tip_Rope_ATTACH
. This should be placed at the point on the cargo hook assembly where the rope would be deployed and should be present in at least the LOD0 and LOD1 glTFs.
FLT Files
When a user starts a cargo activity they will not be going through the usual Preflight checks, and so they will need to have a special apron FLT file instead of the usual Apron.flt
. This file should be set up like a regular apron FLT file, however you should ensure that the following parameters and sections are setup correctly, depending on the aircraft:
For heavy / Super heavy / Remote Cargo Ops you will need to use the ApronWithBatteriesWithoutCovers.flt
, setup as follows:
- Section
[SimVars.0]
must have the parameterSimOnGround
set totrue
. - All
[Covers]
needs to be set tofalse
. - Section
[Controls.0]
must have the parameterParkingBrake
set to 100.00 (if the aircraft has a parking brake). - Engines must be turned off.
- The communication system must be turned on.
For helicopters you will need to use the ApronWithoutCovers.flt
, setup as follows:
- Section
[SimVars.0]
must have the parameterSimOnGround
set totrue
. - All
[Covers]
needs to be set tofalse
. - Section
[Controls.0]
must have the parameterParkingBrake
set to 100.00 (if the aircraft has a parking brake). - Aircraft electrics and engines must be turned off.