Usage
/tunit for drivers, /tunitedit and the 3D gizmo for admins, tunit_diag for support, and sharing a layout.
| Command | Who | What it does |
|---|---|---|
/tunit | Any driver | Sets the values in Config.userSources |
/tunitedit | tlib.admin | Adds, positions, styles, deletes and shares elements |
tunit_diag | Console or admin | What is loaded, and where each layout came from |
/tunit — the driver menu
One field per entry in Config.userSources, on the Text tab. Fields this car displays come first; a source it has no element for is still offered, marked Not shown on this vehicle.
The sidebar also carries Element Editor — the same thing /tunitedit opens, for an admin — and Feedback, which sends one message to TIMMYG Studios rather than to this server's staff.
| Rule | Behaviour |
|---|---|
| Seat | Driver only, re-checked on the server |
| Length | 24 characters, enforced in the field |
| Characters | Uppercased, then filtered to letters, digits and - . _ / # |
| Nothing left after filtering | Rejected with a message |
| Empty value | Clears the text. There is no Clear all button |
| Timing | Immediate |
| Lifetime | Survives a reconnect, not a restart |
/tunitedit — the layout editor
Needs the tlib.admin ACE and a vehicle to be in. You edit that vehicle's model, so it applies to every vehicle of that model, and it saves to data.json. One screen: element list left, settings right, the gizmo live on the car between them.
Clicking a row edits that element and aims the gizmo. Add element places one at Config.newElement, in front of the car; the header counts against MAX_PER_MODEL, and at the ceiling the button becomes a note.
It is a draft until you save
Every change previews on your own car only. Save & exit writes it; Cancel (Esc) discards it, asking first if the Unsaved layout changes pill is showing.
Delete does not confirm — Ctrl Z and Cancel both undo it. Only Reset every character confirms.
⚠️ Leaving the vehicle closes the editor and loses an unsaved draft.
Content and style
| Field | Range |
|---|---|
| Shows | Literal text, or a source name. A source wins, and the literal is kept |
| Literal text | Up to 24 characters |
| Font | Any key in Config.fonts, by its label |
| Colour | #rrggbb from an in-page picker; shorthand and rgb() are rejected |
| Width | 2–200 cm, slider |
| Height | 1–100 cm, slider |
Per-character positioning
Off by default. On, each character is placed separately and costs one plane per letter against the maxPropsOnScreen ceiling (API reference).
| Control | Effect |
|---|---|
| Per-character positioning | Off leaves chars on disk, so turning it back on restores prior nudges |
| The character strip | One chip per character of the literal text field; a dot marks a hand-placed one |
| Nudge X / Nudge Y | ±100 cm, in the element's own plane |
| Rotation | 0–360°, about the character's own centre |
| Reset this character / Reset every character | Zero one nudge, or clear the array |
You cannot grab a single letter on the car: the gizmo drags the element as a whole, so position letters against the strip. A nudge does not follow a character when the resolved text changes length.
The 3D gizmo
Always live, on whatever the list has selected.
| Control | Effect |
|---|---|
| Drag the handle | Moves or rotates. Releasing is one undo step, not a save |
W / R | Move / rotate handle, as in the top bar |
X | Local / world axes |
., the crosshair button | Points the camera at the selection |
| Middle mouse / Shift + middle / Scroll | Orbit / pan / zoom |
| Click the text | Selects that element |
Shortcuts are key positions, so they work on a non-QWERTY layout. Tab walks each row and its Delete button; Enter or Space selects; Del removes.
tunit_diag
Server console, or an admin in chat. It prints the version, demo mode, whether config.lua validated, the registered and driver-set sources, and a console-only per-model layout breakdown — sample output.
Community configs
One server can publish a layout and another can take it, over tLib's community-configs primitive.
- Share this layout, from the Community row, while in the vehicle. Keyed by the model hash, labelled with the spawn name. One publish every 5 s.
- Browse shared layouts lists up to 20 layouts for your model, admin-gated on the server.
An imported layout is checked the same way config.lua is: the count is capped, sizes clamped, unknown fields dropped. A font this server lacks is kept in the record, so the layout renders correctly once you add that typeface.
tUnit
Still stuck? Support can answer it directly.
Was this page helpful?
TIMMYG Studios