Open main menu

Games/ETS2/Modding guides/1.39

< Games‎ | ETS2/Modding guides



The following page contains modding guidelines for the new update of the game.

To better understand changes in units it is recommended to check Units documentation page.


  • When basing your model on the original ones, add to your mod also ALL original /automat/ files used by it. The names of the files are generated as CityHash64 hash of theirs content so whenever we change the parameters of the material in any way, a different file will be used to store them and the original file might cease to exist if there is no other model utilizing the original parameters.
  • When modifying original models, always include ALL components of the model (pmg+pmd) instead of just those you changed. Otherwise you risk crash if we change the model.
  • As always when adding new objects to files which support multi-file approach (e.g. road_look.sii) it is HIGHLY RECOMMENDED to use suffix or prefix in the name to avoid conflicts with new objects we are adding in patches. Otherwise you might have to use the batch renaming functionality (see Batch renaming) to fix the conflicts when new patch appears.

How to convert map

  • Load map
  • Do rebuild (F8)
  • Save map

Changes & New Features


cabin mixing, removed defaults ... TBA


All core vehicle accessories have new attribute sounds. It is string array and each item has format of "sound_name|sound_path". Sound path could be defined by one of three ways:

  • Empty string or "-" means no sound is played. Also if the item is missing in the array at all no sample will be played for given sound.
  • Path to event in bank ("bank_path#event_name") which directly specifies event sample. Advantage of this direct approach is simplicity and readability.
  • Path to sound reference file ("*.soundref") file where path to bank and sound event is written. This indirection supports easier modding if you only need link another sound without actually touching sound banks.

Most of the sounds events are former attributes of old sound accessory. For detailed info about all sounds and their names in each accessory see their lists below.

In our data, the basic mechanism is that accessories of given type share "sound.sui" file that contains mentioned sounds array. In array are links to shared soundrefs or to unique soundrefs, and in them are names of specific banks and events. This can be modded by many ways and on many levels. First, you can directly change the accessory file (eg make own sound set for the given accessory). Or you can change content of shared "sound.sui" (eg to change all sound for given accessory group without actually touching the accessory itself which will make mod more compatible with future updates). Or you can mod a single sound just by modifying its soundref (both shared or unique sounds). Or you can change sample in bank.

Vehicle Models & Data

Accessory models

Accessory models for exterior and interior got support for special parts, that will be switched on/off depending on their functionality. This parts are:

  • electrics - part will be switched on when truck electrics is on, otherwise off
  • park_light - part will be switched on when parking lights are on, otherwise off
  • left_blink - part will be switched on when left blinker is on, otherwise off
  • right_blink - part will be switched on when right blinker is on, otherwise off

Engine data

Arrays torque_curve and secondary_torque_curve now support any rpm range. Before there was unintentional hard cap of 3000 rpm which is now gone.

New attribute sounds in accessory engine data can handle 4 sound events: engine, exhaust, start_bad, and turbo.

Transmission data

New attribute sounds in accessory transmission data can handle 4 sound events: air_gear_noise, retarder, gear_grind, gear_wrong.

Cabin data

New attribute sounds in accessory cabin data can handle 4 sound events: horn, air_horn, aero_noise, rain_noise.

Chassis data

New attribute sounds in accessory chassis data can handle 7 sound events: air_brake, air_cutoff, reverse, lift_axle, hook_attach, hook_detach, trailer_cables.

Interior data

New attribute sounds in accessory interior data can handle 21 sound events: air_warning, blinker_off, blinker_on, noise, stick_blinker, stick_blinker_off, stick_engine_brake, stick_hazard_warning, stick_high_beam, stick_light_horn, stick_lights, stick_park_brake, stick_park_brake_off, stick_retarder, stick_wipers, weigh_green, weigh_red, window_click, window_move, wipers_down, wipers_up.

Trailer body data

There is new attribute empty_cargo_model. It is used as virtual cargo every time the trailer is not loaded by another cargo. The purpose is to handle properly all switches, handlers and other parts that are regularly used for cargo mounting.

Cargo data

There is new attribute oversize (boolean, default false). This flag is used by economy for matching pre-defined trailers in freight market and quick job screens. If the flag is true only the trailer tagged as oversize (the ones that contain proper banner and flag accessories) could match. Similarly only non-oversize trailer is used if the attubute is set false.

Old attribute overweight now functions only as flag for ignoring country weight limits (player is expected as having special permit to take such cargo).

Either of those attributes will force game economy to generate usage of heavy company truck for quick job.

Trailer data

Trailer vehicle definition can have attribute oversize. It is used for matching the cargo in economy generated jobs.