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
Download the Installer
Go to the GitHub Releases page and download the latest .msi installer for Windows.
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.
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.
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:
| Zone | Description |
|---|---|
| Header Bar | File operations, Edit history (Undo/Redo with 10-entry tooltip), screen selector, and grid controls. |
| Canvas Toolbar | Zoom controls, layer ordering, alignment / distribution tools, wireframe/collision toggles, view mode switcher (2D / 3D / Split). |
| Left Sidebar | Five tabs: Screens, Library, Templates, Files, Telemetry. Below the tabs sits the Layers panel showing the element hierarchy. |
| Canvas | The interactive editing area. Supports pan, zoom, multi-select, drag-and-drop, and live telemetry preview. |
| Inspector | Context-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
| Action | How |
|---|---|
| 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 window | Click the Fit button in the Canvas Toolbar |
| 100% zoom | Click the zoom percentage display in the Canvas Toolbar |
Selection
| Action | How |
|---|---|
| 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:
| Section | Contents |
|---|---|
| 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
The root container element of a screen. Usually a full-screen background or invisible bounding element. Every screen has at least one window.
group
Organises related elements. Moving or hiding a group affects all its children. Used to build indicator clusters or gauge assemblies.
text
A static or dynamic text label. Supports SCS markup for inline colour, images, and sprite icons. Used for labels and unit annotations.
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.
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.
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
- Open the Library tab in the left sidebar.
- Browse the categories (Backgrounds, Text Indicators, Bars, Gauges, Icons).
- 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
- Select an element on the canvas.
- In the Inspector, find the Data Binding section.
- Choose a Dashboard ID from the dropdown, or type the ID directly. Use the preset shortcuts to quickly assign common channels.
- 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
| ID | Channel | Type |
|---|---|---|
| 1020 | Speed | Number (km/h) |
| 1040 | Gear | String |
| 1060 | Fuel Amount | Number (L) |
| 1070 | Fuel Bar | 0–1 (normalised) |
| 1090 | Water Temp | Number (°C) |
| 1100 | Cruise Speed | Number (km/h) |
| 1430 | Speed Gauge | Number (km/h) |
| 1440 | RPM Gauge | Number (rpm) |
| 1200 | Parking Brake | Boolean (0/1) |
| 1190 | Cruise Control Active | Boolean (0/1) |
| 1610 | Speed Limit | Number (km/h) |
| 1050 | Clock | String (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:
| Mode | Description |
|---|---|
| 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
- Switch to 3D or Split view.
- Click Load Model in the 3D panel and select a
.gltfor.objfile. - The UV wireframe is extracted automatically and overlaid on the 3D mesh. Your current dashboard snapshot is rendered behind the wireframe.
- Orbit the camera with left-drag, pan with right-drag, zoom with the scroll wheel.
- 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 ID | Purpose |
|---|---|
| 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.
- Choose File → Export mod…
- The editor runs a validation check first. Errors (shown in red) must be resolved before exporting. Warnings (yellow) can be skipped.
- Choose a save location and file name for the ZIP.
- Click Export. The backend generates
dashboard.sii,dashboard_text.{mod_id}.sii, all referenced.mat,.dds, and.fontfiles inside the ZIP. - 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.
- Go to File → Import SII…
- Select your
dashboard.siifile. - Enter the Mod ID — this is used to find the matching
dashboard_text.{mod_id}.siitemplate file in the same directory. - 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
| Shortcut | Action |
|---|---|
| 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.
| Setting | Description |
|---|---|
| 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 Interval | Seconds between automatic saves to a temp file. |
Previous
← HomeNext
Changelog →