> For the complete documentation index, see [llms.txt](https://framestudio.gitbook.io/framestudio-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://framestudio.gitbook.io/framestudio-documentation/fs-ui/owner-studio.md).

# Player settings and owner studio

Use `/uisettings` or `exports.fs_ui:openSettings()` to open the visual design library. Choose a palette and notification layout, position, size, sound and reduced entrance motion. Changes preview on the sample cards; the panel itself keeps its own colours until you save. **Try the kit** fires live notifications, progress, dialogs and the text prompt. **Save preferences** applies the draft. Closing without saving discards it. **Reset to server defaults** stages the configured defaults; save to apply them. Settings are stored per client when `Config.Settings.Remember` is enabled. Theme and layout persistence still follow `Config.RememberTheme` and `Config.Notify.RememberStyle`. Set `Config.Settings.Command = false` to disable the panel. The panel opens only when another fs\_ui component does not own input focus.

`Config.Notify.PlayerChoice` and `PlayerStyles` control layout selection. Server-disabled notification sounds cannot be enabled by players. Caller-supplied notification positions still take priority over the player's preferred position.

Four additional layouts are available: **Island** (rounded compact capsule), **Terminal** (monospaced status console), **Editorial** (serif typography and inset rule), and **Brutalist** (hard borders and offset color shadow). All layouts share the same notification API and semantic status types.

### Owner studio: save and apply in-game

Staff can open `/uistudio` or call `exports.fs_ui:openOwnerStudio()`. The panel reads the active server design and shared design library automatically. No copying, configuration edits, database setup or resource restart is needed to save or apply designs.

Select a preset or choose **Customize this layout**. In **Design creator**, edit geometry, typography, icons, labels, countdown and colors, then name your design. **Save to server** stores a library variant without changing the active interface. **Apply to server** persists and activates the previewed design and display defaults. It updates connected players and players who join later. The active design and up to 30 named library variants survive resource/server restarts in server resource KVP storage. Keep that storage in your server backups.

Saving an existing name updates that variant. **Duplicate** prepares another name; save it to add the variant. Deleting a library entry does not deactivate an already applied design. One custom layout is active at a time. Presets remain available. The server rejects stale writes when another owner has saved changes; your draft remains in the panel so you can review the latest state before retrying.

In **Comfort & display**, turn off **Allow players to choose layouts** to enforce the active layout. When player choice stays enabled, existing personal choices are preserved; players using the previous default move to the new default. Notification positions explicitly set by a calling resource still take precedence. Owner-saved settings override shipped design defaults on subsequent starts.

Access uses existing ESX, QBCore, Qbox or ox\_core staff permissions, or standalone admin/god ACE permissions. Defaults are admin, superadmin and god. Optional identifier/ACE overrides and renamed framework resource mappings are in `config/server.lua`; custom permission systems can replace `FS.IsAdmin` in `bridge/access.lua`. Permission is checked again on every save, delete and apply, not only when the panel opens.

Each preset offers a starting point through the custom renderer's available controls; specialized SVG badge shapes and ring countdowns are not recreated by the custom editor. New settings labels use the shared English fallback until translated in your locale.

### Optional browser preview

Serve the resource folder over local HTTP and open `nui/studio.html` to experiment outside the game. Its named library is local to that browser; JSON import/export and manual configuration export remain available there. This preview is not connected to server permissions or storage. Use the authenticated in-game `/uistudio` panel for automatic saving and application.
