## CHECKLISTS

A checklist is a list of tasks that should be performed and validated by pilots and aircrew. Its purpose is to improve flight safety by ensuring that no important tasks are forgotten.

In Microsoft Flight Simulator, checklists are made of series of checkpoints (tasks). Each checkpoint is an association of a subject (ex: Parking brake) with an expectation (ex: Set). Typically  checklists contain different steps (for example:  Pre-flight, Before taxi...), and each step is indirectly composed of several checkpoints. Checklists are aircraft-specific, even if some checkpoints are shared by several aircraft.

When talking about a step , it must correspond to one of the predefined stepIds, and might have gameplay implications (for example, when using the teleport function to skip some part of the flight process). Each step is not visible in-game, but contains one or multiple pages that are used for display purposes of the checklist. Pages have a visible name, and are composed of checkpoints.

Below you can see an example of a checklist in-game. The headings "Inside Inspection", "Before starting engines", etc... are pages, and the "0/n" beside each of them indicates the validated/total number of checkpoints on that page.

It is important to note that the user can refer to the checklist whenever they want, without any constraint. They are free to meet the checklist expectations or not, and in the order they want. Several helpers can be provided to assist the user proceed through the checklist.

### Checklist Functions

In-game, each item on a checklist can be selected to show the different checkpoints associated with it.Each of tyhese checkpoints needs to be completed for the checklist page to be finished. Below is an example image of a checklist's page where each line is a checkpoint:

At the bottom of the page you have various options related to the checklist page and checkpoints:

• Auto Complete Page: This will tell the copilot to go through and complete the checklist for you.
• Evaluation: This will take you to the switch or screen or whatever is needs done and highlight it for you.
• Auto Complete Item: This will tell the copilot to complete the item that is currently selected for you.

When using the Auto Complete options, if the current checkpoint is validated according to its XML tests and the current state of the simulation, it will be automatically checked. Otherwise you should go through the checklist and manual perform each of the checkpoints, using the Evaluation button if you can't find something. You can then verify that everything has been done correctly by the fact that there will be checkmark on each of the checkpoints.

### Blocks of checkpoints

Sometimes, a page of checklist might contain a subsection of checkpoints with a title, and possibly being actually part of the checklist only under certain conditions. For example, some aircraft have a different startup procedure depending on the engine starting temperature (e.g. if the aircraft flew recently, and engines are still warm).

In Microsoft Flight Simulator a page can contain blocks of checkpoints that can be expanded or minimized. Code describing a condition for this block to be currently relevant to the checklist can also be specified in the aircraft checklist XML file. Finally, blocks can be nested, with checkpoints defined at any depth in the blocks hierarchy.

The image below shows a block - "Motoring", that is here expanded but can be collapsed by clicking the "" button - that contains 6 additional checkpoints that will only be used if the engine temperature conditional check shows the temperature as greater than 150°C.

### XML files

Checklist data can be separated into several files, in *.xml format. The files are located in a /Checklist folder, inside the aircraft-specific folder.

As similar checkpoints can be found in various aircraft checklists, there is a way to reference shared checkpoint definitions using a checkpoint library XML file. These files can be written defining any number of checkpoints and each of these checkpoints must then have an Id attribute to be usable in regular checklist files. Once a checklist library has been created, an aircraft checklist file can include the file by specifying it's path. Then, checkpoints can be defined with only a ReferenceId attribute, containing the Id of a checkpoint from said library, in order to re-use the same definition.

It is worth noting that there is a default checkpoint library included as part of the game which you can access in your own projects. This file can be found in the following locations, depending on the type of instalation you have:

• Steam: Users\[USER_NAME]\AppData\Roaming\Microsoft Flight Simulator\Packages\Official\Steam\fs-base-aircraft-common\CheckpointsLibrary\Asobo_DefaultCheckpointLibrary.xml
• OneStore: Users\[USER_NAME]\AppData\Roaming\Microsoft Flight Simulator\Official\OneStore\fs-base-aircraft-common\CheckpointsLibrary\Asobo_DefaultCheckpointLibrary.xml

More information on the checklist XML can be found from the following two sections:

### Game Helper: Visual Assistance

To help the player to find the right instrument to operate, the camera can be moved and the instrument can be highlighted. This help is mainly useful for beginners so they can learn where the instruments are located and how to operate them.

An icon appears in the in-game UI when the instrument data field is filled in the checklist file. Once this icon clicked, the UI highlights the instrument and the related camera view is set.

The images below are of a checkpoint with an "eye" icon (on the right), that - when clicked - highlights instruments when clicked (shown in the second image):

### Game Helper: Automatic Validation

Checkpoints can be customized, so the game can itself validate them if the right settings are done. Tests or sequences of tests can be defined for each checkpoint. The whole sequence of tests must be validated in order to validate its related checkpoint.

### Game Helper: Automatic Action (Copilot)

The copilot helper allows the game to validate the checklist instead of the player. It completes actions needed to validate the tests. If no copilot actions are defined in a test, this test will be skipped while in Copilot mode, and they will also be considered validated for exterior purposes. You can find an example of how to deal with this here: