lation_interact adopts the server’s resolved theme - your server theme merged with each player’s personal theme - so the interaction layer matches the rest of your UI without a single line of configuration. Without Modern UI, built-in defaults apply. No setup is needed either way.
With Modern UI
On startup the interaction layer reads the resolved theme fromlation_ui and applies it to everything it draws:
- Accent - tints the grain sprites in-world and the accent details of the on-screen component (dot and glow)
- Surfaces, lines & text - panel background (including panel opacity), borders, and every text tier
- Shape & effects - corner radius, border width, shadow, and font
- UI scale - the theme’s UI scale sizes the interaction layer up or down along with the rest of your UI
- Reduced motion - when enabled in the theme, the component’s animations collapse to instant transitions
lation_ui is started and reads its theme export at runtime.
The interaction layer sizes itself to the screen the same way Modern UI does, so it looks the same size at 1080p, 1440p and 4K. That happens with or without Modern UI; the theme’s UI scale multiplies on top of it.
Live Sync
Admin theme edits apply immediately. When a theme is saved or reset in/uitheme, lation_ui broadcasts the change and the interaction layer re-reads the merged result moments later. No restart, no resource dependency, nothing to wire up. A player’s personal theme from /uisettings is stored on their own client and isn’t broadcast, so it reaches interactions on their next reconnect.
Load Order
The only requirement is start order: ensurelation_ui before lation_interact, so the theme is available when the interaction layer starts.
Without Modern UI
lation_interact runs fully standalone. The built-in defaults are Modern UI’s own defaults, so an unthemed install looks identical with or without it - adding Modern UI later simply makes the interaction layer follow whatever theme you build in the theme editor.