Help us improve
Share bugs, ideas, or general feedback.
From fs25-modding
Guides creating and modifying FS25 vehicle mods via XML, including specializations, attacherJoints, wheels, movingTools, movingParts, lights, and sounds.
npx claudepluginhub paint-a-farm/fs25-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/fs25-modding:fs25-vehicle-modThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide for creating and configuring FS25 vehicle mods via `vehicle.xml` and associated specializations.
Guides FS25 map mod creation and modification, configuring map.xml, terrain heightmaps and layers, ground types, farmlands, placeables, fruit types, and environment settings.
Generates hard-surface 3D vehicle models (car, spaceship, mech, boat, tank, helicopter) with multi-angle reference and optional detail-texture pass. Wires as Vehicle3D or MeshInstance3D with polycount targets per use case.
Drives Unreal Engine 5.7/5.8 via MCP with engine-level gotchas, silent-fail edges, crash patterns, and proven call sequences. Activates on UE5/MCP tool detection or UE terms.
Share bugs, ideas, or general feedback.
Guide for creating and configuring FS25 vehicle mods via vehicle.xml and associated specializations.
<vehicle type="myVehicleType">
<annotation />
<base>
<typeDesc>l10n_typeDesc_car</typeDesc>
<speedLimit value="50" />
</base>
<components>
<component node="0>" mass="2000" centerOfMass="0 0.8 0" />
<component node="0>1" mass="500" />
<joint component1="0" component2="1" node="jointNode"
rotLimit="0 0 0" transLimit="0 0 0" />
</components>
<i3dMappings>
<i3dMapping id="myNode" node="0>0|1" />
</i3dMappings>
<motorized>
<motor torqueCurve="..." />
</motorized>
<wheels>
<wheel node="wheelNode" driveNode="wheelDriveNode"
radius="0.55" width="0.4" mass="50"
isLeft="true" hasTireTracks="true"
repr="wheelRepr" />
</wheels>
<attacherJoints>
<attacherJoint node="attacherNode" jointType="implement"
upperTransLimit="0 0.1 0" lowerTransLimit="0 -0.1 0" />
</attacherJoints>
<attachable>
<inputAttacherJoint node="inputNode" jointType="implement" />
</attachable>
</vehicle>
| Specialization | Purpose |
|---|---|
Motorized | Engine, transmission, fuel |
Drivable | Steering, brakes, cruise control |
Wheels | Wheel configuration, physics |
ArticulatedAxis | Articulated steering |
CCTDrivable | Character controller movement |
| Specialization | Purpose |
|---|---|
AttacherJoints | Defines where implements attach TO this vehicle |
Attachable | Defines how this implement attaches to vehicles |
ConnectionHoses | Hydraulic/electric hose connections |
PowerConsumer | PTO power requirements |
| Specialization | Purpose |
|---|---|
AnimatedVehicle | Animation clips and sequences |
Cylindered | movingTools (user-controlled) and movingParts (IK-driven) |
Lights | Light configuration and states |
Dashboard | Dashboard gauges and indicators |
Wipers | Windshield wipers |
| Specialization | Purpose |
|---|---|
FillUnit | Fill volumes (fuel, grain, etc.) |
Dischargeable | Unloading/discharge |
Combine | Harvesting |
Plow | Plowing |
SowingMachine | Seeding |
Sprayer | Spraying/fertilizing |
FrontLoaderAttacher | Front loader arm |
Components are rigid bodies connected by joints:
component1 / component2: 0-based indices into root-level <component> nodesrotLimit: rotation limits in radians (x y z)transLimit: translation limits in meters (x y z)rotMinLimit / rotMaxLimit: asymmetric rotation limits| movingTool | movingPart | |
|---|---|---|
| Control | Player-controlled (input) | Automatic (IK-driven) |
| Config | rotationAxis, rotSpeed, rotMin/rotMax | referencePoint, limitedAxis |
| Use case | Boom arm, bucket tilt | Hydraulic pistons, linkage arms |
Maps friendly names to I3D node paths:
<i3dMappings>
<i3dMapping id="boom" node="0>0|2|0" />
</i3dMappings>
Path format: rootIndex>child|child|child (pipe-separated child indices)
The game ships XML Schema files (in the game's shared/xml/schema/ directory) that define every valid attribute and element. Use these as the authoritative reference:
| Schema | Covers |
|---|---|
shared/xml/schema/vehicle.xsd | Full vehicle XML structure |
shared/xml/schema/wheel.xsd | Wheel configuration |
shared/xml/schema/connectionHoses.xsd | Hose connections |
shared/xml/schema/attacherJointTopArm.xsd | Top arm setup |
shared/xml/schema/vehicle_sounds.xsd | Sound configuration |
shared/xml/schema/conditionalAnimation.xsd | Conditional animations |
shared/xml/schema/crawler.xsd | Tracked vehicle crawlers |
shared/xml/schema/powerTakeOff.xsd | PTO connections |
shared/xml/schema/dashboardCompounds.xsd | Dashboard elements |
When unsure about valid attributes or value ranges, read the XSD — it's more reliable than guessing from examples.
dataS/scripts/vehicles/specializations/ for the relevant specialization sourcedataS/data/vehicles/