What is a mod in FPS2?

The goal of this page is simple: by the end of it, you will understand which entities an aircraft mod consists of, and how DA_Aircraft serves as its central assembly point.

1. What a mod is

A mod is a set of files and assets that you create inside the ModKit project. For an aircraft, this set is organized into its own dedicated mod folder.

You do not rebuild the game, and you do not modify existing aircraft: you add your own aircraft to the game. One mod – one aircraft – one folder. The kit ships with a working example mod built exactly this way, which you can use as a reference.

2. DA_Aircraft – the assembly point of an aircraft

In FPS2, an aircraft is assembled from data, presentation, and configuration. The central point of this assembly is DA_Aircraft – the aircraft interface contract. It stores neither geometry nor logic; instead, it binds together everything that describes your aircraft.

DA_Aircraft

Three branches that the interface contract holds together:

BranchWhat it isResponsibility
Data – PartsPart Data AssetsWhich components the aircraft has and how they behave
Presentation – Aircraft BP → AnimBPAircraft Blueprint and animationHow the aircraft looks and how its bones move
Configuration – Flight Modes → JSBSim configFlight modes and JSBSim filesHow the aircraft actually flies

Do not confuse them. DA_Aircraft is not a Blueprint, not a mesh, and not an AnimBP. It is a separate asset that references them. Without a correctly configured DA_Aircraft, the game cannot assemble your aircraft, even if the 3D model and Blueprints are completely ready.

3. Parts are the foundation

Why an aircraft is a set of Data Assets

Everything configurable on an aircraft is treated as data. The runtime logic (how flight physics are calculated, how bones move, how cargo attaches) is already built into the ModKit – you do not touch it. You only define the values.

This design provides three major benefits:

  • An aircraft is built and tuned without programming;
  • Any part can be swapped or modified without breaking the aircraft;
  • A mod is distributed as content files, without rebuilding the game.

How parts connect to the interface contract

DA_Aircraft holds references to its parts. Each part contains an AircraftIds field confirming which aircraft it belongs to. That value must match the AircraftId defined in the contract.

An empty part slot is not an error: if a slot is left empty, that specific subsystem is simply not registered or configured.

PartWhat it configures
EnginesThrust vector limits and deflection directions
Cargo ramp / holdInternal cargo capacity and bay properties
Cargo craneBone attachments for picking up and releasing cargo
Landing gearMarker part: movement is driven by AnimBP
Ailerons, rudder, elevator, flapsMarker parts: movement is driven by AnimBP

Currently, the parts that hold dedicated configuration data are engines, cargo ramp, and cargo crane. Control surfaces and landing gear act as marker parts (they register the component’s presence in the system), while their physical animation is driven inside the AnimBP (see the animation and control-surface guides).

4. Other required aircraft files

AssetPurposeRequiredWhere it is configured
Skeletal Mesh3D model with a bone hierarchyYesImported mesh; assigned in the Aircraft BP
AnimBPDrives bone transformations from flight dataYes (for animation)AnimBP graph; assigned in the Aircraft BP
Aircraft BPThe in-game actor: mesh, cameras, collisions, sensorsYesBlueprint Editor
JSBSim configurationFlight dynamics model (aerodynamics, mass and balance, control limits)Yes (otherwise it will not fly)Configuration XML files; referenced by name in DA_Aircraft

5. What you do not have to write

The ModKit provides the entire runtime framework. You do not need to write C++ code, integrate flight dynamics math, or handle low-level input pipelines. You simply assemble an aircraft from existing systems by providing assets, parameters, and configuration files.

Scroll to Top