WagSettings Documentation
WagSettings is a settings and options menu system for Unity 2022 LTS and above. It provides audio, display, graphics, control-rebinding and accessibility settings behind a clean runtime API, with a single-screen setup that generates a working menu for you.

Start here
- Cheatsheet — everything on one page.
- Getting Started — install the package and get a settings menu running.
- The Editor Window — the rail, the pages, the docs pane, the language.
- Setup — the Setup page and what it generates.
- Quick Start sample — a scene per UI framework, under
Sample Scenes/Quick Start; Getting Started walks it.
Reference
- API — the runtime API surface.
- Persistence — how settings are saved, and what lights up with WagSave.
- Extensibility — adding your own settings and appliers.
- Localization — the menu in the player's language, the editor in yours.
- Glossary — terms used throughout these docs.
Settings categories
Also in: Español · 日本語 · 한국어 · 简体中文 · 繁體中文
This package is pre-release; see CHANGELOG.md for what has landed.
Architecture at a glance
WagSettings is five layers with strictly downward dependencies. UI never touches persistence, and persistence never knows about UI.
| Layer | Folder | Responsibility |
|---|---|---|
| 5 | Runtime/UI/ | UI Toolkit and uGUI views that bind to the registry and own nothing |
| 4 | Runtime/Appliers/ | Turn a setting value into a Unity effect |
| 3 | Runtime/Core/ | SettingDefinition<T>, SettingsRegistry, ISettingsStore, Guard — no UnityEngine |
| — | WagSettings.cs, WagSettingsManager.cs | The static API and the scene component that owns the registry |
| 3 | Runtime/Definitions/ | The ScriptableObject setting assets and SettingsProfile |
| 2 | Runtime/Persistence/ | ISettingsStore implementations and the store factory |
| — | WagSave/ | The optional WagSave-backed store, compiled only when WagSave is installed |
Adding a setting means adding a SettingDefinition asset and one applier. Nothing else changes.