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.
A Note on Versions
MSFS 2024 includes both v1 and v2 versions of the G3000. v1 is a copy of what is available in MSFS 2020 and is only meant to be used by airplanes developed for MSFS 2020 that are carried forward into 2024 without any updates. v2 is an updated version that will take advantage of new functionality available in MSFS 2024.
All documentation published here applies to the v2 version.
We highly recommend using v2 for any new airplane developed for MSFS 2024.
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: