article Documentation

Introduction.

ETS2 Dashboard Editor is a visual desktop application for designing custom digital dashboard mods for Euro Truck Simulator 2 and American Truck Simulator. Built with Tauri and React, it gives you a professional-grade editor — no coding required.

What is a dashboard mod?

A dashboard mod replaces the in-game instrument cluster with a custom design. You can reposition gauges, add indicator lights, show live telemetry data, and completely change the look of the cockpit.

Installation

1

Download the Installer

Go to the GitHub Releases page and download the latest .msi installer for Windows.

2

Install the Telemetry Plugin

For live data, install the SCS Telemetry SDK plugin. Copy the plugin DLL into your game's bin/win_x64/plugins/ folder. Alternatively, use View → Settings → Install Plugin inside the editor.

3

Set Game Root Path

Open View → Settings and set the Game Root Path to your ETS2/ATS installation folder (e.g., C:\Program Files (x86)\Steam\steamapps\common\Euro Truck Simulator 2). This lets the editor find game textures and fonts.

4

Launch & Create a Project

Run the editor, then choose File → New to start a blank project, or File → Open to load an existing .ets2dash project file.

Windows Only

Version 0.1.0 supports Windows only. macOS and Linux builds are planned for a future release.

First Launch

When you first open the editor you will see three main panels: the Left Sidebar, the Canvas in the centre, and the Inspector on the right. The top bar contains all file and edit commands.

Tip: drag any element from the Library tab in the left sidebar and drop it onto the canvas to quickly add a preset dashboard element.

UI Overview

The editor is divided into five zones:

ETS2 Dashboard Editor interface
Zone Description
Header BarFile operations, Edit history (Undo/Redo with 10-entry tooltip), screen selector, and grid controls.
Canvas ToolbarZoom controls, layer ordering, alignment / distribution tools, wireframe/collision toggles, view mode switcher (2D / 3D / Split).
Left SidebarFive tabs: Screens, Library, Templates, Files, Telemetry. Below the tabs sits the Layers panel showing the element hierarchy.
CanvasThe interactive editing area. Supports pan, zoom, multi-select, drag-and-drop, and live telemetry preview.
InspectorContext-sensitive panel showing identity, layout, data binding, appearance, and element-specific settings for the selected element.

Canvas Editor

The canvas is your main design surface. It renders the dashboard in real time using Pixi.js.

Navigation

ActionHow
Pan Hold middle mouse button and drag, or hold Space + left drag
Zoom Mouse wheel, or use the zoom slider / buttons in the Canvas Toolbar
Fit to windowClick the Fit button in the Canvas Toolbar
100% zoom Click the zoom percentage display in the Canvas Toolbar

Selection

ActionHow
Select single element Left-click on element
Add to selection Ctrl + click
Box select Click and drag on empty canvas area
Select all Ctrl+A
Deselect Escape or click empty area

Grid & Snap

Enable Show Grid and Snap to Grid from the Header Bar. Grid size is configurable from 2 to 100 units. When snap is on, every move and resize locks to the nearest grid line.

Alignment & Distribution

Select 2 or more elements and use the alignment buttons in the Canvas Toolbar to align edges or centres. Select 3 or more to distribute them with equal spacing.

Inspector Panel

The Inspector on the right side of the screen shows all editable properties of the currently selected element. It is divided into sections:

SectionContents
Identity Unit name, element type, parent name, visibility toggle.
Layout Position (Left, Right, Top, Bottom in SCS units), layer number for draw order.
Data Binding Dashboard ID selector, default value field (pipe-separated, e.g. 88|km/h), and telemetry preset shortcuts.
Appearance Look template selector, SCS colour picker, text content editor with markup support. (text / textCommon only)
Bar Settings Min/max value, min/max fill size, vertical orientation toggle, live test slider. (textBar only)
Gauge Settings Min/max angle, value range (input min/max), pivot offset, reference point, material path, smooth move toggle. (gauge only)
Group Settings Suppress fitting flag, group text content. (group only)

Element Types

The editor supports 6 core element types. Every preset in the Library is built from one of these types:

window

window

The root container element of a screen. Usually a full-screen background or invisible bounding element. Every screen has at least one window.

folder_open

group

Organises related elements. Moving or hiding a group affects all its children. Used to build indicator clusters or gauge assemblies.

text_fields

text

A static or dynamic text label. Supports SCS markup for inline colour, images, and sprite icons. Used for labels and unit annotations.

data_object

textCommon

A telemetry-driven text display bound to a dashboard ID. Uses look templates (SII text_template definitions) to format values — e.g., displaying speed with a unit suffix.

show_chart

textBar

A fill-bar gauge. Its length scales linearly between a min and max value. Can be horizontal or vertical. Commonly used for fuel, air pressure, turbo boost, and similar gauges.

speed

gauge

A rotating pointer gauge. You define the start/end angles and the corresponding value range. The needle rotates smoothly (with optional smooth-move interpolation) to reflect the live value.

Adding Elements

Method 1 — Drag from Library

  1. Open the Library tab in the left sidebar.
  2. Browse the categories (Backgrounds, Text Indicators, Bars, Gauges, Icons).
  3. Drag the desired preset onto the canvas. It is placed at the drop position with default values pre-filled.

Method 2 — Copy & Paste

Select any element, press Ctrl+C to copy, then Ctrl+V to paste. The copy is offset by +10 SCS units from the original. Use Ctrl+D to duplicate in a single action.

After adding an element, select it and use the Inspector → Layout section to enter precise coordinates. Position values are in SCS screen units (the default canvas is 800 × 800 units).

Telemetry Binding

Each element is connected to the game through a Dashboard ID — a numeric identifier that maps to a specific telemetry channel (speed, RPM, fuel, indicator lights, etc.).

How to Bind

  1. Select an element on the canvas.
  2. In the Inspector, find the Data Binding section.
  3. Choose a Dashboard ID from the dropdown, or type the ID directly. Use the preset shortcuts to quickly assign common channels.
  4. Set a Default Value — this is what the element displays when no live data is available. For text elements use the pipe format: 88|km/h (value | suffix).

Common Telemetry IDs

IDChannelType
1020SpeedNumber (km/h)
1040GearString
1060Fuel AmountNumber (L)
1070Fuel Bar0–1 (normalised)
1090Water TempNumber (°C)
1100Cruise SpeedNumber (km/h)
1430Speed GaugeNumber (km/h)
1440RPM GaugeNumber (rpm)
1200Parking BrakeBoolean (0/1)
1190Cruise Control ActiveBoolean (0/1)
1610Speed LimitNumber (km/h)
1050ClockString (HH:MM)

Simulation Mode

When the game is not running, open the Telemetry tab in the left sidebar and switch to Simulation Mode. Each bound channel gets a slider or toggle that you can move to test how your dashboard responds to different values — without opening the game.

3D Viewer

The 3D Viewer lets you preview how your dashboard will look on the actual truck model inside the game. It uses Three.js to render a GLTF/OBJ model with your dashboard design projected onto it via UV mapping.

Accessing the 3D Viewer

Use the view-mode buttons in the Canvas Toolbar:

ModeDescription
2D Canvas-only view (default).
3D Full-screen 3D model viewer with your dashboard applied as a texture.
2D | 3D Split view — edit in 2D on the left, see live 3D result on the right simultaneously.

Loading a Model

  1. Switch to 3D or Split view.
  2. Click Load Model in the 3D panel and select a .gltf or .obj file.
  3. The UV wireframe is extracted automatically and overlaid on the 3D mesh. Your current dashboard snapshot is rendered behind the wireframe.
  4. Orbit the camera with left-drag, pan with right-drag, zoom with the scroll wheel.
  5. Click Download to export the UV + dashboard composite as a PNG image.

If the UV coordinates extend beyond [0, 1] (tiled UV), the editor will suggest resizing your canvas to match the UV aspect ratio for the best fit.

Screens

A dashboard mod can contain multiple named screens. Each screen has a unique numeric ID that ETS2/ATS uses to switch between them.

Screen IDPurpose
100 Main dashboard (electricity on).
800 Standard dashboard variant.
900 Warning / alert overlay displayed on top of the main screen.
950 Shared screen — elements here appear on all other screens simultaneously.

Switch between screens using the dropdown in the Header Bar or by clicking a screen in the Screens tab. When Screen 950 (Shared) is shown, its elements appear as a translucent overlay on whichever screen is active.

Exporting Your Mod

Export as Mod ZIP

This is the primary export — it produces a ZIP file that can be dropped straight into your game's mod/ folder.

  1. Choose File → Export mod…
  2. The editor runs a validation check first. Errors (shown in red) must be resolved before exporting. Warnings (yellow) can be skipped.
  3. Choose a save location and file name for the ZIP.
  4. Click Export. The backend generates dashboard.sii, dashboard_text.{mod_id}.sii, all referenced .mat, .dds, and .font files inside the ZIP.
  5. Copy the ZIP into %USERPROFILE%\Documents\Euro Truck Simulator 2\mod\ and enable it in the game's Mod Manager.

Export as PNG

Click the Export PNG button in the Canvas Toolbar to render the current screen to a high-resolution PNG using the actual game materials and fonts (requires Game Root Path to be set in Settings).

Make sure all asset paths in your project are reachable (either via Game Root Path or Mod Root Paths in Settings) before exporting, otherwise the validation step will report missing file errors.

Importing an Existing SII Dashboard

You can load any existing dashboard.sii file to edit it in the visual editor.

  1. Go to File → Import SII…
  2. Select your dashboard.sii file.
  3. Enter the Mod ID — this is used to find the matching dashboard_text.{mod_id}.sii template file in the same directory.
  4. Click Import. The Rust backend parses the SII file, resolves all referenced materials and fonts, and opens the result as a new project.

To import text templates only (without replacing the whole project), use File → Import templates…

Keyboard Shortcuts

ShortcutAction
Ctrl+N New project
Ctrl+O Open project
Ctrl+S Save project
Ctrl+Shift+S Save as…
Ctrl+Z Undo
Ctrl+Y Redo
Ctrl+X Cut selected
Ctrl+C Copy selected
Ctrl+V Paste (offset +10 units)
Ctrl+D Duplicate selected
Ctrl+A Select all elements
Delete / Backspace Delete selected
Escape Deselect all

Settings

Open View → Settings… to configure the editor.

SettingDescription
Game Root Path Path to your ETS2 or ATS installation. Required for texture/font lookup and PNG export.
Mod Root Paths Additional folders searched for assets before falling back to the game root. Add your mod workspace here.
Install Plugin Copies the SCS Telemetry SDK DLL into the game's plugins folder so live data works.
Theme Dark, Light, or System default.
Language English or Turkish.
Grid Size Default grid spacing in SCS units (2–100).
Snap to Grid Toggle default snap behaviour for new projects.
Auto-save IntervalSeconds between automatic saves to a temp file.

Previous

Home