# Mission Package

To distribute multiple missions together with assets such as images and dialog, a MSFS developer mode project is used.

## Template project

This zip contains an example Devmode project:

{% file src="/files/VNjGi6gQ8dYptqnbgy4o" %}

Download and extract the .zip file. Open the project in MSFS devmode.

Once opened, you need to change the *Package nam*e and other details in the project inspector.

<div align="left"><figure><img src="/files/xQrsrG2zyQAmyMLQs54u" alt="" width="330"><figcaption></figcaption></figure></div>

And you need to change the *OutputDirs* for the all asset groups **except for the ScenarioFiles asset group**.

Replace `CompanyName` with your name and `MissionName` with the name of the mission.

<div align="left"><figure><img src="/files/8UEqByWD5JmJkdgHGWHG" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Be sure to change the package and folder names, to avoid conflicts with other missions.
{% endhint %}

### Defining your mission pack details

#### Preparing ScenarioFiles asset group

In the MSFS project editor, edit the **OutputDir** of the *ScenarioFiles* asset group. The last part of the OutputDir should exactly match your package name:

<figure><img src="/files/qsv08oDLkgoPW9OmDprU" alt=""><figcaption></figcaption></figure>

#### Adding missions

Paste your mission files, thumbnail images, and briefing images in the `PackageSources\ScenarioFiles\` folder (See: [Sharing and Installing Missions](/miltech-mission-hub/guides/sharing-and-installing-missions.md)).

In that folder, open the `MissionPackDefinition.json` file:

<figure><img src="/files/nIOKjuhoAPpn5vclPiqD" alt=""><figcaption></figcaption></figure>

Edit all the fields with your own information. You can add more files if needed.

You can add multiple briefing images if you want, like this:

{% code overflow="wrap" %}

```
"BriefingImage": ["1MissionName_briefing1.jpg", "1MissionName_briefing2.jpg", "1MissionName_briefing3.jpg"]
```

{% endcode %}

{% hint style="warning" %}
Generate a random GUID for your mission pack. You can use <https://guidgenerator.com/>
{% endhint %}

## Adding custom content

### Custom Dialog

Follow the steps in [Custom Dialog](/miltech-mission-hub/developer-sdk/advanced-map-objects/custom-dialog.md).

### Custom Image

Add the custom image(s) to the `PackageSources\CustomImage\` folder. In the [Custom Image](/miltech-mission-hub/developer-sdk/advanced-map-objects/custom-image.md) *Image Path*, you can specify the image like: `CompanyName/MissionName/ImageName.jpg`

### Custom Script &#x20;

Add the custom script(s) to the `PackageSources\CustomScript\` folder. In the [Custom Script](/miltech-mission-hub/developer-sdk/advanced-map-objects/custom-script.md) *Script Path*, you can specify the script like: `Missions\CompanyName\MissionName\CustomScriptName`

### Custom Weather Preset

#### Using a mission pack

Add the custom weather preset(s) to the `PackageSources\CustomScript\` folder. In the [Advanced Mission Settings](/miltech-mission-hub/developer-sdk/advanced-mission-settings.md) tab, you can specify the weather preset like:

`.\Missions\CompanyName\MissionName\WeatherPresetName.WPR`.

#### Using an existing weather preset pack

Find the location of the desired .WPR preset in the package. In the [Advanced Mission Settings](/miltech-mission-hub/developer-sdk/advanced-mission-settings.md) tab, you can specify the weather preset, for example:&#x20;

`.\WeatherPresets\MMH Rainy Seas.WPR`


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.miltechsimulations.com/miltech-mission-hub/developer-sdk/mission-package.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
