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 /:
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 /.
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:
accessory_engine_data : my_engine.engine {
@include "engine_common.sui"
price: 18000
}
And the fragment, next to it:
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.