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.

The editor window on the Summary page: rail, page, docs pane

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.

LayerFolderResponsibility
5Runtime/UI/UI Toolkit and uGUI views that bind to the registry and own nothing
4Runtime/Appliers/Turn a setting value into a Unity effect
3Runtime/Core/SettingDefinition<T>, SettingsRegistry, ISettingsStore, Guard — no UnityEngine
WagSettings.cs, WagSettingsManager.csThe static API and the scene component that owns the registry
3Runtime/Definitions/The ScriptableObject setting assets and SettingsProfile
2Runtime/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.