Schnurbusch Games

SettingsNow

A settings menu in one line, key rebinding included.

SettingsNow cover art

Every game needs the same menu: volume, resolution, quality, language, and the keys. It is a day of work that teaches you nothing, and it has to be done again in the next project.

SettingsNow is that menu, minus the day:

SettingsMenu.Show();

That is the whole integration. No prefab to place, no canvas to configure, no manager component and no scene file. The menu builds itself when it is first needed, remembers what the player chose, and looks the same in every project.

Your own settings, without registering them

The part no other settings asset does. Put one attribute on a variable you already have and it turns up in the menu, with the right control for its type:

[UserSetting("Difficulty")] static float _difficulty = 0.5f;

A float becomes a slider, an int a whole number slider, a bool a switch and an enum a choice of its values. The value in your code is the default. There is no registration call to forget and no list to keep in sync.

What you get

Requirements

Unity 2021.3 or newer with uGUI and TextMeshPro. Key rebinding needs Unity's Input System. Without it the package still compiles and simply leaves the Controls tab out, and the menu works under both input paths.

Extracted from my shipped game Famechaser.

Where to get it

All tools