NON-AIRCRAFT SIMOBJECTS
SimObjects are objects that are "simulated" in the Microsoft Flight Simulator 2024 world. This means that they have some physical properties associated with them, can be controlled using SimVars, and usually have animations - contrary to the "static" objects that can be created as Scenery Editor Objects. The primary SimObject is the aircraft object - both the user's aircraft and AI aircraft - but other SimObjects include boats, wildlife, humans, and vehicles. Each type of SimObject has different configuration files associated with it, and all of them can be created and edited using The SimObject Editor. In this section we list the non-aircraft SimObjects. For aircraft, please see here:
MODULAR SIMOBJECTS
In previous versions of MSFS 2024, simobjects were all "monolithic", ie: each object was a self-contained set of files that were used to create a single object with a single purpose. This meant that if you wanted variations of an object - for example, you may have an aircraft which can have floats to land on water, wheels to land on the ground, and skis to land on snow - then you would need to create three different SimObject packages. Each package would require its own model, textures and set of config files, even though maybe 90% of each of the three aircraft packages is the exact same. Obviously this is not very efficient, and leads to poorer performance in the simulation, unnecessary bloat in the packages, and more work from you, the creator.
However, in Microsoft Flight Simulator 2024, SimObjects are created as modular objects. The concept here is simple:
- Create a single "common" base for an aircraft and then add (reusable) modular parts to it as required to create one or more different aircraft that the user can fly in the simulation, all from a single package.
So, using the example given above - an aircraft with variations for floats, skis and wheels - you would start by creating a single common base with it's associated files, models and textures. This base file would contain the fuselage, the cockpit, and most of the CFG files that the aircraft requires. However the fuselage would be created without any landing structures, and these would be created separately as independent SimObjects which are then added to the package as "attachments". Finally you would create three "presets" which modify the common base to create the three different aircraft using a combination of modified parameters and the added attachments. Additionally, you can add in "liveries", which can then be applied to all the different presets to change the way they look superficially when being flown. The actual contents of these different folders and how they are all merged together is explained on the following pages:
The sections below outline the files that most "simple" SimObjects require and how to set them up, and they also show examples of the XML or CFG files that each one uses.
Note that all these SimObjects share some of the same general CFG parameters and require the same base folders for textures and models. However, each one has its own unique set of parameters and files too, so you should ensure that you have the correct parameters for each object type you create.
The following sections are also relevant to setting up simple SimObjects, although not exclusively so:
"Simple" SimObj Folder Structure
When creating any type of SimObject, except aircraft, the folders and files must all be formatted following the rules given below (note that filenames are case in-sensitive). Any file or folder that is found in the package and that is not an expected part of the given file/folder structure will prevent the package being built.
IMPORTANT! If you wish to include any files or folders within the package other than those listed here, they will need to be explicitly listed otherwise they will not be included and the package will fail to build (things like ReadMe.txt
or Licence.pdf
, WASM modules, fonts, etc...). Including them in the package has to be done by manually editing the project XML to flag these files as part of the project, as explained here: <Extras>
.
The rules for creating a correct simple SimObject package are as follows (note that not all SimObjects will have or require all the items listed below):
- The main object file in the project root must be:
sim.cfg
orcontainer.cfg
.
- Additional CFG files can only be named one of the following, and should be authored at the same root as the main object file:
cameras.cfg
gameplay.cfg
sim.cfg
ai.cfg
navigation_graph.cfg
- For animations, the file should be authored in the same root location as the main object file and should be called:
animations.xml
- If you wish to include basic additional written information then it should be placed in a file with the following name, also authored at the same root location as the main object file:
notice.txt
- For additional data related to the object, you can have the following folders and - if a file is listed as well - the folder should at least have the listed file within it: The names of the other files within these folders (that are not explicitly listed) do not have to follow a specific format, but must be correctly referenced in the relevant CFG/XML/FLT files. Also note that folders that have additional identifiers - for example
texture.red
- will not cause issues as long as the initial folder identifier is correct, ie "texture
", "model
" etc...animation
><animation>.xml
effects
><vfx>.xml
interaction
><interaction_name>.loc
localization
><localization_name>.loc
model
>model.cfg
,<model>.xml
rtc
><RTC>.xml
sound
>sound.xml
soundai
>soundai.xml
texture
>texture.cfg
,<texture>.xml