1. Where to create it
- Content Browser → Add → Miscellaneous → Data Asset → class
DA_Aircraft.
- Asset name, for example
DA_MyPlane.
- Put it into the mod’s content:
Plugins/GameFeatures/<ModName>/Content/DataAssets/.
2. Fields: what is required
| Field | Required | What to fill in |
|---|
AircraftId | yes | aircraft name (FName), for example MyPlane. This is the identifier used to associate aircraft parts with this DA_Aircraft |
AircraftBlueprint | yes | the aircraft Blueprint, derived from ALetadloPawn |
AvailableFlightModes | yes | at least a Mode = VTOL entry with a non-empty JSBSimConfigName |
StructuralFrameOrigin | yes | Aircraft nose position in actor local coordinates (cm) |
EnginePart | yes | the DA_EnginePart; without it, VTOL has no thrust vectoring |
DisplayName | no | Display name shown in UI and menus |
CargoRampPart, CargoCranePart, GearPart, AileronPart, RudderPart, ElevatorPart, FlapsPart | no | these parts are under development |
3. AircraftId
- The
AircraftId must be unique. If the ID is already registered, the aircraft contract is skipped.
- The
AircraftIds of the EnginePart part must contain the same name.
- The name is unique: a contract whose
AircraftId is already taken is skipped.
4. AvailableFlightModes: modes and JSBSim settings
A mode entry = Mode + JSBSimConfigName (+ EntryMontage).
| Entry field | What to fill in |
|---|
JSBSimConfigName | The name of the JSBSim model used by this flight mode. The folder name and master XML filename must match JSBSimConfigName. |
EntryMontage | optional AnimMontage for the mode entry |
- The VTOL entry is mandatory: FPS2 initializes aircraft in VTOL mode by default. Without a valid VTOL entry, the aircraft will fail to spawn or fly.
Mode = None means that the entry is unused.
- Duplicate mode entries are not allowed.
- Entry order does not matter.
5. Checklist
DA_Aircraft is created in the mod’s content.
AircraftId is filled in; the same name is in the AircraftIds of the EnginePart part.
AircraftBlueprint is a subclass of ALetadloPawn.
- There is a
VTOL entry with a non-empty JSBSimConfigName; the other modes have their own model names.
EnginePart is assigned; it has a VTOL entry and one entry per engine.
StructuralFrameOrigin is the nose point in actor space.
- The other part slots are empty.