WagSettings

WagSettings

A settings and options menu system for Unity 2022.3+. Audio, display, graphics, control rebinding and accessibility, generated from one screen — and saving through WagSave the moment it is installed.

Coming soon
Read the docs →Get notified
Unity 2022.3+ · 2023 · 6
UI Toolkit · uGUI
One-time · no subscription
Features

The options menu
you were going to write anyway.

Every game needs one. None of them are interesting to build.

01

Five categories, ready

Audio buses, resolution and window mode, quality tiers, control rebinding, and accessibility — subtitles, colour-blind modes, screen shake, text size. Each is a setting asset and an applier; nothing is hard-wired.

02

Setup in one screen

Tick the categories, pick a UI framework and a store, watch the preview, press Generate. A profile, its settings, the mixer and the menu land in your project. Re-run it any time; it keeps what you added by hand.

03

Two menus, one model

A UI Toolkit menu with a theme file, and a uGUI prefab with TextMeshPro. Same registry, same Apply / Revert / Reset, same search, same dirty-tracking. Restyle either without touching code.

04

Rebinding that stays optional

Interactive rebinds, conflict detection and reset, on the Input System — in an assembly Unity only compiles when the package is present. No Input System, no rebinding, and everything else still works.

05

Upgrades itself with WagSave

Stands alone on PlayerPrefs. Install WagSave and settings become versioned, migratable, encrypted and cloud-synced with nothing to change — the integration compiles only when WagSave is there.

06

An editor you can live in

Summary, Setup, Settings Profile, Debugger and Help pages, each with its docs beside it, in six languages. Add a setting from a dialog; watch pending values in Play mode.

Getting started

Three calls. Usually none.

Run setup, press Play, and the menu is there — no code. When you do want a value, WagSettings.Get reads it, Set stages it, and Apply commits the batch. Appliers turn each value into the Unity effect for you.

// Read a setting anywhere
using WaggleBum.WagSettings;

float master = WagSettings.Get<float>("audio.master");

// Change one - pending until Apply, so Revert still works
WagSettings.Set("display.fullscreen", false);
WagSettings.Apply();

// Your own setting: one asset, one line to read it
int difficulty = WagSettings.Get<int>("gameplay.difficulty");
Unity 6Fully supported
Unity 2023Fully supported
Unity 2022.3Minimum version
WagSave
+
WagSettings
Better together

Game foundations.

WagSettings persists through WagSave when it is installed: versioned settings that survive updates, multiple profiles, encryption, and cloud sync across devices. Neither needs the other; both are better with it.

See WagSave →
Pricing

Buy once. Own it.

Standard

Coming soon · on the Asset Store and Fab

For any dev, any team size.

  • All five categories, both menus, the editor
  • Six languages, in the editor and the shipped menu
  • Best-effort support for bugs and feature requests
Get notified →

Source

Talk · to us

Source access & royalty-free distribution.

  • Full source code
  • Custom SLA
Get in touch →

Fair questions

Which Unity versions are supported?

Unity 2022.3 and above — including Unity 2023 and Unity 6. Versions before 2022 LTS are not supported.

Do I need WagSave?

No. WagSettings stands alone on PlayerPrefs. Install WagSave and it upgrades itself to versioned, encrypted, cloud-synced persistence with nothing to change; the integration is in an assembly Unity only compiles when WagSave is present.

Do I need the Input System package?

Only for control rebinding. Without it, the Controls category is simply unavailable and everything else works. Setup tells you which is which, and points you at the Package Manager if you want it.

UI Toolkit or uGUI?

Either. Setup generates a UI Toolkit menu with a theme file you can restyle, or a uGUI prefab with TextMeshPro. Both sit over the same model, so Apply / Revert / Reset, search and dirty-tracking work the same in each.

How do I add my own setting?

On the Settings Profile page, press Add Setting: pick a kind, type a key, set a default. The asset is made and added to the profile, and it is in the menu the next time you press Play. Read it with WagSettings.Get<T>("category.name"). Code only comes in when the value has to do something — an applier is a few lines.

Is it localized?

Yes. The editor, its page docs and these docs are in English, Spanish, Japanese, Korean, Simplified and Traditional Chinese, and the shipped menu can show the same six to players. Your own labels merge over the packaged ones.

Is this really a one-time purchase?

Yes. Buy once, own it forever. We think subscriptions for dev tools are silly.