# 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,](../modular-simobjects/modular-simobjects/) as explained below. {{< image-center src="images/5_Content_Config/Careers/Cargo/cargo_1_example.png" alt="Example Of Aircraft Performing Cargo Activities" >}} For more information on the various other career activities and how to prepare your aircraft, please see here: - [Career Activities](career-activities/) ### 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](general-career-information/spawn-pilot-transversal/)). - The `operating_status` must be either "*in\_service*" or "*experimental*". - The aircraft cannot be flagged as [premium](../cfg-files/aircraft.cfg/#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: - [Note On Cabin Codes](general-career-information/career-additional-information/#cabin-codes) #### 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](#flt_files)). - The `targeted_specializations` must include the `CAR-PSO` dressing code. - The `object_class` must be "*Airplane*". - The plane *cannot* be flagged as [military](../cfg-files/aircraft.cfg/#military). - The plane *cannot* have a copilot. - The **payload mass** must be greater than or equal to 35kg and less than or equal to 1000kg (see [Note On Payload Mass](general-career-information/career-additional-information/#mass). It should be noted that if the payload is higher than 680kg, the aircraft can also enter the **Medium Cargo Transport** specialisation. {{< callout context="caution" title="IMPORTANT!" icon="outline/alert-triangle" >}} It is strongly recommended that light cargo aircraft have a payload mass high enough to enable the aircraft for medium cargo missions, since this maximises the missions that the aircraft can be used in. {{< /callout >}} - The **fuselage volume** must be greater than 1m³ (see [Note On Fuselage Volume](general-career-information/career-additional-information/#fuselage-volume) for more information). - The plane *can* have **wheels** or **[big wheels](general-career-information/career-additional-information/#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](#flt_files)). - The `targeted_specializations` must include the `CAR-PLC` dressing code. - The `object_class` must be "*Airplane*". - The plane *cannot* be flagged as [military](../cfg-files/aircraft.cfg/#military). - The plane *must* have a **copilot** (see [here](general-career-information/spawn-pilot-transversal/) for information). - The **payload mass** must be greater than or equal to 680kg and less than or equal to 35000kg (see [Note On Payload Mass](general-career-information/career-additional-information/#mass). It should be noted that If the payload is below 1000kg, then the aircraft is eligible for the **Light Cargo Transport** specialisation, and if the payload is greater than 10000kg, then the aircraft can also enter the **Heavy Cargo Transport** specialisation. {{< callout context="caution" title="IMPORTANT!" icon="outline/alert-triangle" >}} It is strongly recommended that medium cargo aircraft have a payload mass that also enables the aircraft for light and/or heavy cargo missions, as this maximises the missions that the aircraft can be used in. {{< /callout >}} - The **fuselage volume** must be greater than 1m³ (see [Note On Fuselage Volume](general-career-information/career-additional-information/#fuselage-volume) for more information). - The plane *can* have **wheels** or **[big wheels](general-career-information/career-additional-information/#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](#flt_files)). - The `targeted_specializations` must include the `CAR-PCC` dressing code. - The `object_class` must be "*Airplane*". - The plane *cannot* be flagged as [military](../cfg-files/aircraft.cfg/#military). - The plane *must* have a **copilot** (see [here](general-career-information/spawn-pilot-transversal/) for information). - The **payload mass** must be greater than 10000kg (see [Note On Payload Mass](general-career-information/career-additional-information/#mass) for more information). It should be noted that if the payload is below 35000kg, the aircraft is also eligible to enter the **Medium Cargo Transport** specialiaation. {{< callout context="caution" title="IMPORTANT!" icon="outline/alert-triangle" >}} It is strongly recommended that heavy cargo aircraft have a payload mass range that is flexible enough to enable the aircraft for medium cargo missions, since this maximises the missions that the aircraft can be used in. {{< /callout >}} - The **fuselage volume** must be less than 2000m³ (see [Note On Fuselage Volume](general-career-information/career-additional-information/#fuselage-volume) for more information). - The plane *can* have **wheels** or **[big wheels](general-career-information/career-additional-information/#big-wheels)**, for landing gear. - The plane *cannot* have **skis** or **floats** for landing gear. #### Oversized 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](#flt_files)). - The `targeted_specializations` must include the `CAR-PVO` dressing code. - The `object_class` must be "*Airplane*". - The plane *cannot* be flagged as [military](../cfg-files/aircraft.cfg/#military). - The plane *must* have a **copilot** (see [here](general-career-information/spawn-pilot-transversal/) for information). - The **payload mass** must be greater than 10000kg (see [Note On Payload Mass](general-career-information/career-additional-information/#mass) for more information). - The **fuselage volume** must be greater than or equal to 2000m³ (see [Note On Fuselage Volume](general-career-information/career-additional-information/#fuselage-volume) for more information). - The plane *can* have **wheels** or **[big wheels](general-career-information/career-additional-information/#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](#flt_files)). - The `targeted_specializations` must include the `CAR-PLM` dressing code. - The `object_class` must be "*Airplane*". - The plane *must* be flagged as [military](../cfg-files/aircraft.cfg/#military). - A copilot **must** be assigned to the plane (see [here](general-career-information/spawn-pilot-transversal/) for information). - The **payload mass** must be greater than 1kg (see [Note On Payload Mass](general-career-information/career-additional-information/#mass) for more information). - The **fuselage volume** must be less than 1m³ (see [Note On Fuselage Volume](general-career-information/career-additional-information/#fuselage-volume) for more information). - The plane *can* have **wheels** or **[big wheels](general-career-information/career-additional-information/#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](#flt_files)). - The `targeted_specializations` must include the `CHT-ROH` dressing code. - The `object_class` must be either "*helicopter*" or "*tiltrotor*". - The rotorcraft *cannot* be flagged as [military](../cfg-files/aircraft.cfg/#military). - The rotorcraft *must* have a **copilot** (see [here](general-career-information/spawn-pilot-transversal/) 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](general-career-information/career-additional-information/#mass) for more information). - The **fuselage volume** must be greater than 1 (see [Note On Fuselage Volume](general-career-information/career-additional-information/#fuselage-volume) for more information) - The rotorcraft *can* have either **wheels** or skids for landing gear. - The rotorcraft *cannot* have **floats** for landing gear.     ### Mission Flow - Planes The flow for all **light cargo** and **medium cargo** missions using is as follows: {{< image-center src="images/5_Content_Config/Careers/Guidelines/career_flowchart_7_cargoplane.png" alt="Mission Flow Chart" >}}   The flow for all **heavy**, **oversized**, and **remote cargo ops** missions using is as follows: {{< image-center src="images/5_Content_Config/Careers/Guidelines/career_flowchart_7_cargoairliner.png" alt="Mission Flow Chart" >}}   These flows will also require the aircraft to be setup for - and follow - the [General Career Mode Requirements](general-career-information/general-career-mode-requirements/).     ### Mission Flow - Rotorcraft The flow for **cargo** missions using *rotorcraft* is as follows: {{< image-center src="images/5_Content_Config/Careers/Guidelines/career_flowchart_7_cargorotor.png" alt="Mission Flow Chart" >}} This flow will also require the aircraft to be setup for - and follow - the [General Career Mode Requirements](general-career-information/general-career-mode-requirements/).     ### SimVars - Planes While not directly influencing the mission flow, the following SimVars are important for ensuring a smooth user experience without frustrations. These are what are used in the simulation code to decide whether the user should receive a penalty on their mission score or not, and as such, particular attention should be paid to ensure that these are always returning correct values.   Penalty SimVar Description **Cargo Integrity** `PLANE BANK DEGREES` This is used to check the banking angle of the aircraft while performing the cargo mission. `PLANE PITCH DEGREES` This is used to check the pitch angle of the aircraft while performing the cargo mission. `G FORCE` This is used to check the G forces applied in the aircraft to cargo while performing maneuvers. **Aircraft Condition** `WEAR AND TEAR EXPOSED PARTS LOWEST LEVEL` This is needed to compute aircraft damage, based on the most damaged part, at the end of the mission.     ### Cargo Setup (Planes) Once the aircraft model has been prepared for cargo activities and the [Modular SimObject](../modular-simobjects/modular-simobjects/) 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](../../devmode/editors/navigation-graph-editor/the-navigation-graph-editor/) - that *must* be named exactly as follows: ``` codeblock navigation_graph_cargo.cfg ```   You will also need various [SimPropContainer XML](../environment/simprop-containers/simpropcontainer-xml-properties/) files defining the visual contents of the cargo, as well as a [loads.lbl](../lbl-files/loads.lbl/) file which is used to select the appropriate SimProp Container object to display. Since the setup of cargo is complex and is also shared between different aircraft modes (for example, passenger aircraft can have cargo to represent the passenger suitcases), the process is fully documented on the following page: - [Aircraft Loads](general-career-information/aircraft-loads/)     ### 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)](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 {{< glossterm >}}gltf{{< /glossterm >}} that is called `Cargo_Rope_ATTACH`. This should be placed at the point on the cargo hook assembly where the rope would be deployed and should be present on *every LOD* of the {{< glossterm >}}gltf{{< /glossterm >}}s. {{< image-center src="images/5_Content_Config/Careers/Cargo/cargo_2_hook.png" alt="Example Of The Hook Assembly Of A Rotorcraft" >}}     ### FLT Files - Planes (Light / Medium Cargo) and Rotorcraft For **planes** doing *light* and *medium* cargo missions, as well as for **rotorcraft**, the pilot will start by going through the usual [Preflight checks](general-career-information/preflight/), and so these aircraft will need to have the `Apron.flt` setup in the activity preset as follows:   - Section `[SimVars.0]` must have the parameter `SimOnGround` set to `true`. - All *defined* `[Covers]` need to be set to `true` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information). - Section `[Controls.0]` must have the parameter `ParkingBrake` set to 100.00 (if the aircraft has a parking brake). - Aircraft electrics and engines must be turned off. - The aircraft flight parameters (trim, flaps, etc...) should be set for a **cold** and **idle** aircraft.   An additional FLT file is required - the `ApronWithoutCovers.flt` file - for those occasions when the user may skip the preflight phase and there is an RTC event, or when something causes a [Back On Track](../flt-files/back-on-track/) event after preflight. This file should be set up like a regular apron FLT file, however you should ensure that these changes are made:   - All *defined* `[Covers]` need to be set to `false` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information).   Additionally, **rotorcraft** will require the `Hover.flt`, with the following setup:   - Section `[SimVars.0]` must have the parameter `SimOnGround` set to `false`. - All *defined* `[Covers]` need to be set to `false` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information). - The helicopter configuration in the FLT file must be setup such that the helicopter is in a safe "hover" state, ie: electrical systems and engine(s) should be **on** and set appropriately, the rotor brake should be **off**, flight parameters should be set such the rotorcraft is stationary in the air, etc...     ### FLT Files - Planes (Heavy / Super Seavy / Remote Cargo Ops) For **heavy** / **Super heavy** / **Remote Cargo Ops** you will need to use the `ApronWithBatteriesWithoutCovers.flt` instead of the `Apron.flt`, setup as follows:   - Section `[SimVars.0]` must have the parameter `SimOnGround` set to `true`. - All *defined* `[Covers]` need to be set to `false` (see [here](general-career-information/general-career-mode-requirements/#general-flt-file-requirements) for more information). - Section `[Controls.0]` must have the parameter `ParkingBrake` set to 100.00 (if the aircraft has a parking brake). - Engines must be turned off. - The communication system (and thus, the elexctrics system) must be turned on. - The aircraft flight parameters (trim, flaps, etc...) should be set for an **idle** aircraft.