G3000 Overview
Introduction
The G3000 package was written to reproduce the Garmin G3000 and G5000 avionics systems in MSFS to a high degree of accuracy. In real life, G3000/5000 installations can be found in many different aircraft. Each installation shares a core set of features common to all G3000/5000 systems, but also often include numerous aircraft-specific options.
Because of how extensive and detailed the aircraft-specific G3000/5000 options can be, it isn't feasible to create a one-size-fits-all version of the avionics that could be dropped into any airframe. On the other hand, the G3000/5000 is complex enough that having to implement the entire thing for each plane would be very burdensome.
To solve these issues, the G3000 package was created in such a way that allows it to be easily customized and extended. Our goal is for developers of G3000/5000-equipped planes to be able to use the package included in MSFS "as-is" while taking advantage of the provided API to tailor it to their specific needs - without ever needing to fork or copy the codebase.
Customizing and Extending the G3000
There are two primary avenues to adapting the G3000 to a specific airplane, both of which are required for the avionics to function as a complete end-product.
The first avenue is the panel.xml
configuration file found in the airplane's panel/
folder. panel.xml
is already used by the sim's BaseInstrument
system to define some basic options for JS/HTML instruments. G3000 extends this API to allow developers to configure a plethora of options that span all aspects of the avionics.
The second avenue is the Plugin API. G3000 allows developers to inject plugins for each of its three main instrument types: PFD, MFD, and GTC. Plugins are used in the G3000 to allow support for plane-specific features that would be too complex and/or cumbersome to be defined in an XML file.
For more details, please refer to the following pages: