THE PACKAGE TOOL

The package tool is a tool specifically created for Microsoft Flight Simulator to compile various assets and convert them into ready-to-use add-on packages. It also performs validation on some assets, to make sure that Microsoft Flight Simulator receives what it expects when trying add the package to the sim. The package tool functionality is invoked automatically when using the Developer Mode tools, but it can also be invoked outside of the game by calling the fspackagetool.exe executable located in the following folder:

<SDK_Root>\Tools\bin\

 

The package tool is able to build several types of assets, including (but not limited to):

  • Scenery BGL files (from XML)
  • Single SPB files (from XML)
  • Art projects (model libraries)
  • SimObjects
  • Missions
  • Material libraries

 

The package tool uses XML Files to describe the different packages and assets to build. The 3 main components when using the package tool are:

  • Projects
  • Packages
  • AssetGroups

 

These concepts are explained in more detail on the following page:

 

To get specification information on how to write the XML files used by the tool, please see here:

 

The fspackagetool.exe can be invoked with various parameters following this syntax:

fspackagetool <path to project .xml> [-outputdir <output directory>] [-tempdir <temp directory>] [-rebuild] [-mirroring] [-forcesteam]

 

The parameters available are:

  • -outputdir <output directory>: Specify parent of directory containing output packages (default is the parent directory of the project .xml file).
  • -tempdir <temp directory>: Specify parent of directory containing temporary build artifacts (default is the parent directory of the project .xml file)
  • -rebuild: Force redoing all file conversions
  • -mirroring: Enable mirroring. Files in the output directory that do not match a compiled target will be deleted
  • -forcesteam: Force using the Steam version of the game to build the package. This is only necessary to specify if you have both the Microsoft Store and Steam versions installed on your computer. If that is the case and you don't use this option, the Microsoft Store version will be used.
  • -outputtoseparateconsole: This will make the FlightSimulator.exe output go to the Microsoft Flight Simulator console instead of to the FsPackagetool.exe console (this replicates previous behaviour before changes were made to the tool).
  • -nopause: This will prevent the FlightSimulator.exe from pausing at the end and waiting for the user to press a key.