Skip to content
Getting Started

How your mod is read

The folder layouts SCS IntelliSense understands, and what it can and can't see.

The game mounts every archive (its own, its DLCs' and every mod's) on one virtual folder, /. A path such as "/vehicle/truck/cabin.pmd" starts there. SCS IntelliSense works out where that / is on your disk from the folders around the file you're editing.

Supported layouts

The folder holding manifest.sii is the mod's /:

Folder
my_mod/
manifest.sii
def/
vehicle/
vehicle/
truck/
cabin.pmd

my_mod/vehicle/truck/cabin.pmd is written "/vehicle/truck/cabin.pmd".

A relative path (@include "parts/cabin.sui") starts in the folder of the file that writes it. If the file isn't there, the extension also looks in the same folder of your mod's other parts, as the game does.

Several folders open at once (a VS Code workspace) work too: each file uses the mod it belongs to.

Files of the game

Your mod can use the game's units and files: a pointer to one of the game's units, a path to one of its models. The extension doesn't read the game's archives, so:

  • those names and paths have no definition to jump to, and that's expected;
  • they're never reported as errors: a path the extension can't find may well be in the game.

This is why there's no "file not found" warning: most mods point to the game's files somewhere, and every one of them would be flagged.

The game's files, extracted

If you extracted the game's archives to study them, you can open that folder too. Extract one folder per archive, side by side, and the extension reads them as the game does: every archive is part of the same /.

Folder
ATS_extracted/
base/
def/
dlc_kenworth_w900/
dlc_oversize/

.sui fragments

A .sui file can hold a whole unit, or just a list of attributes that @include pastes into a unit written in another file:

engine.sii
accessory_engine_data : my_engine.engine {
@include "engine_common.sui"
	price: 18000
}

And the fragment, next to it:

engine_common.sui
torque: 2400
volume: 15

The extension finds who includes the fragment and treats its attributes as part of that unit: they get completion, hover and the same checks. A fragment that nothing in the open folders includes gets only the basic checks.

Large folders

When a folder opens, the extension reads all its .sii, .sui, .mat and .tobj files in the background. A typical mod takes a few seconds. You can keep working meanwhile: navigation and path updates catch up as soon as reading ends.