Games/ETS2/Modding guides/1.40

From SCS Modding Wiki
Jump to navigation Jump to search


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



Huge pile of new things: materials, shaders, map, vehicles, lamp logic, rendering, weather data .. :)

Our light is currently albedo-based system with some additional tricks.

Here is example of material ranges and their absolute limits (raw data) or (converted, ready to mount as mod).



Weather system was changed to more generic one. Elevation ranges of sun profiles might be any real value now (not just 5 degree grid), transition now can mix up to 4 textures on sky and can happen anytime - so no longer locked weather because of sky textures in specific times. Also, thanks to unlimited transition, there is no need for various climates and weathers to meet in any evelation point.

Climate profile

Climate profile can now specify usage of skyboxes of different climate (copy) with few tweaks (arrays weights, temperatures - define ). Copied climates are shown and can be edited in weather editor, but won't be saved.

Attribute copy, defines name (token) of source climate.

Sun profile

Sun profile has few new attributes. Attribute stability defines chance of locking sky index for following sun profile (0.0 = completely random, 1.0 = sky index stays if possible).

Few color attributes have been changed from array of floats to float3 values. They all had _hdr_coef postfix in names. List of new names: ambient, diffuse, specular, sky_color, sun_color, fog_color, fog_color2. Also sunshaft_strength has been changed to sunshaft_color in same way. New attributes have same meaning as former ones.

Attributes min_scale and max_scale do not contain target_gray anymore, they are just multipliers. In addition new attribute scale_override defines allowed ratio for crossing of the limit (0 = no override, 1 = limit ignored).

Attribute eye_adaptation_speed was split to dark_adaptation_speed and bright_adaptation_speed for interpolated adaptation speed based on conditions.

Bloom has been remade. Before it was handled after tonemaping, with minimal_color mapped to 0 and half_intesity_color mapped to 0.5. Now its supressed below bloom_treshold and applied before tonemapping. Some older values are thus obsolete (radius, resizing_steps, minimal_color, half_intensity, multipliers, target_white).

The game can convert most of those attributes on its side after loading older sun_profile format for now but this support will be removed in future.


There is new layer for map-based sound editation. It is accessed by "-edit -sound" commandline params which open map editor in sound editation mode, rest of the map items are inaccessible (sound items are inaccessible in regular editor mode). There can be defined sound areas either for reverbs or ambients and also you can put specific sound sources with some conditions.

For detailed description see .


All filling stations totems are now dynamic signs with prices taken from pre-defined strings.

New editor features:

  • Road edge overrides
  • Lasso selection
  • Snap mode for all collisions
  • Tags in content browser
  • Camera snap to ground options: Cabin view (2.5 m), regular height (8.5 m), extreme height (11.5 m)
  • Allow using a comma for decimal points in text inputs



Headlight behavior can now be defined in detail with many new options. Default descriptor is in /def/default_vehicle_lamp_setup.sii. In accessory_chassis_data it can be overridden per vehicle by lamp_setup definition. Content of vehicle_lamp_setup unit is experimental feature a will most probably change in future.

Engine brake can control retarder now. There is array auxiliary_brakes in accessory_engine_data units and works in similar way as same-named array in accessory_transmission_data. The only difference is ordering - engines auxiliary brake triplet is in order [engine_brake_strength, downshift, retarder_strength].