Skip to main content

WT21 Plugin Basics

Introduction​

The WT21 package uses the Plugin API to allow developers to inject their own custom Typescript code into the avionics system in order to implement aircraft-specific features.

Loading Plugin Scripts​

Global plugin scripts are loaded via XML files in the html_ui/Plugins directory. The declared target of the plugin determines which instrument type the global plugin applies to:

Instrument TypePlugin Target
PFDWT21_PFD
MFDWT21_MFD
FMCWT21_FMC

Airplane plugin scripts are loaded on a per-instrument basis via panel.xml:

<PlaneHTMLConfig>

<Instrument>
<Name>WT21_PFD_1</Name>

<Plugin>coui://SimObjects/Airplanes/MyAirplane/panel/Instruments/WT21/Plugins/PfdPlugin.js</Plugin>
</Instrument>

<Instrument>
<Name>WT21_PFD_2</Name>

<Plugin>coui://SimObjects/Airplanes/MyAirplane/panel/Instruments/WT21/Plugins/PfdPlugin.js</Plugin>
</Instrument>

<Instrument>
<Name>WT21_MFD</Name>

<Plugin>coui://SimObjects/Airplanes/MyAirplane/panel/Instruments/WT21/Plugins/MfdPlugin.js</Plugin>
</Instrument>

</PlaneHTMLConfig>
tip

It is best practice to store aircraft-specific WT21 plugin script files (.js) in the aircraft's panel/Instruments/WT21/Plugins/ subdirectory. This greatly reduces the risk of file conflicts within the sim's virtual file system, because the plugin files are contained in an aircraft-specific subdirectory.

For more detailed information on how plugins are defined and loaded, please refer to the Plugin API documentation.

Plugin Interface​

WT21 plugins conform to the standard SDK plugin interface.

All WT21 plugins are passed the following references via binder:

  • The local event bus.
  • The instrument backplane.
  • The flight plan lateral path calculator.
  • If the instrument is the primary instrument.