Unified Settings & Game Options UI


A settings template with one unified interface for all render pipelines (URP, HDRP, Built-in) and input systems (old and new).


by KAMGAM


★★★★★ star rating
Price History +

Links: Manual | Forum


A game options menu template (ui + logic).


With this asset you have only one API to interact with (or one ScriptableObject if you pref a code-free workflow). It does not matter which render pipeline you use. The tool makes sure everything is hooked up the right way so you can have your settings applied effortlessly.


Features

✔️ URP, HDRP and Built-in supported

✔️ Old and new input system supported (with Input Binding)

✔️ Lots of predefined settings (full list below)

✔️ Mouse & keyboard, controller & gamepad, touch supported

✔️ Edit and save key-bindings (supports the OLD and the NEW input system)

✔️ No coding skills required (Scriptable Object based workflow)

✔️ Prefab based UI (easy to tweak). In fact you are getting a whole modular UI library. You don't like it? Well, okay, no problem. It's built to be ripped out if need be.

✔️ Localization built-in (easy to extend with assets like "I2 Localization")

✔️ Saves the user settings in PlayerPrefs (easy to change via code if needed)

✔️ Visual Scripting (BOLT) supported (requires manual setup, see manual)

✔️ Scripting API (for the coders among you)

✔️ UI Toolkit Support (for Unity 2021.2+)

✔️ Auto Save (disabled by default, check the toggle on the provider to enable)

✔️ Full Source Code included!

✔️ Supports Unity 2020, 2021, 2022, 2023, ... (It may work in Unity 2019 too but that's not officially supported.)


⚠️ Settings like "Gamma", "Ambient Occlusion" or "Motion Blur" are post processing effects. If you use the Built-in renderer you will have to install the PostProcessing Stack (V2) from the package manager (it's a free package from Unity). Don't use Built-In PostPro on mobile. It's very hit and miss. Use the URP renderer instead. It comes with its own PostProcessing stack and that one works on mobile too.


⚠️ Controller support for the OLD input system is based on the standard xbox controller layout. I encourage you to use the NEW InputSystem which has a much better controller abstraction included. However, if you are fixed to the old system then I'd recommend using InControl for controller abstraction.


⚠️ Visual Scripting (formerly BOLT) requires a one-time manual setup. It takes about a minute. Please follow the instructions in the manual.


⚠️ UIToolkit support (starting with in Unity 2021.2) is rudimentary (all the logic works but there aren't many UI components, yet). I am also waiting for Unity to finish some stuff (runtime binding). More details are in the manual.


I publish this asset with full source code because as a developer I know how annoying it is to not have source code access. If you like it then please remind others to purchase the plugin. Don't just copy and paste it everywhere.

Thank you ❤️



List of Settings


There is an extensive list of predefined custom settings. You can also invent your own or simply hook up a primitive type with any method in your game. All of them support HDRP, URP and Built-in renderers.


  • Basic Types: Bool, Int, Float, String - Generic settings to easily create custom settings.

  • Colors - Save and load any color value.

  • ColorOptions - Let the user pick from a list of colors.

  • Options - If you want the player to choose only from a limited set. You give it a list of names (A, B, C) and it tells you with an index (0,1,2) which option the player selected.

  • Key Combination - Used for key-bindings for example. Supports old and new key codes and key combinations (one or two keys). Three key combinations like Ctrl + Alt + F4 are not supported but can be added via code.

  • Input Binding - InputBinding UI. The look and interaction is identical to the KeyCombination UI. The difference is that it performs an interactive rebind using the new InputSystem. However to do this it requires a bit of setup. Please read the „Input Binding“ section in the manual before using this.

  • Ambient Light - Controls the ambient light intensity.

  • Ambient Occlusion (SSAO) - On/Off for Screen Space Ambient Occlusion. Please check the manual, there are some caveats with this one.

  • Anti Aliasing - Selectable options are based on your renderer settings.


  • Audio Paused - On/Off for Audio: Pauses the Audio Listener (useful for global audio on/off).

  • Audio Volume - Controls the Audio Listener volume (useful for global audio volume).

  • Audio Source Volume - Controls the volume of one or more specific AudioSource Components.

  • Bloom - On/Off for the bloom post processing effect.

  • Depth Of Field - On/Off for the depth of field post processing effects.

  • Frame Rate - Options to control the target frame rate. Default options are: 30, 60 and 120.

  • Full Screen - On/Off of for full screen mode.

  • Gamma - Range for the gamma correction post processing effect (-1 to +1).

  • Motion Blur - On/Off for the motion blur post processing effect. Notice: URP does not have a per-object motion blur. More on that in the manual.

  • Monitor - Allows you to switch the display monitor of the main window. ⚠️ NOTICE: This requires Unity 2021.2 or higher since that's when Unity added the monitor switching API.

  • Quality - Changes the global quality setting. Options are taken from the graphics quality settings automatically.

  • Refresh Rate - Options for monitor refresh rates. Options are taken from the refresh rates supported by the monitor.

  • Resolution - Options for the game resolution. Options are taken from the resolutions supported by the monitor.

  • Shadow - On/Off for shadows (and contact shadows if you use HDRP).

  • Shadow Distance - Options for max shadow distance. The options are based on your graphics quality settings.

  • Shadow Resolution - Options for max shadow map resolutions. The options are based on your graphics quality settings. Notice: the shadow resolution is spread out over the shadow distance. Thus the highest shadow resolution with the lowest shadow distance gives the best quality (that's a little counter intuitive, I know).

  • Textfield - Let the player enter a name or something else.

  • Texture Resolution - Options for texture resolutions. The default options are: full-res, 1/2 res, 1/4 res, 1/8 res.

  • Vignette - On/Off for the vignette post processing effect.

  • V-Sync - On/Off for vertical sync.

  • Window Mode - Use this if you need more control than just "full screen on/off". Otherwise use the "Full Screen" setting. You rarely need this.

Third Party Integrations / Connections

The settings system supports some third party assets. These assets are NOT included. You'll have to get them separately. - Please notice that I have no influence on these assets.




The setting you need is not in the list? 😱

Please send a request to office@kamgam.com. New settings are added constanly based on user suggestions.



☕ Use cases

You want a gamma slider?

->This is your one-click solution.


You quickly need a settings UI that supports mouse, controller and touch input?

-> Here you go.


You want some UI to allow players to edit the key-bindings in your game?

-> Unified Settings supports both the old and the new input system and allows players to save their settings.



✍️ Usage

Import the asset and open one of the examples. Then copy whatever you need and delete the rest. HINT: The demos are ready to build (in case you just want to try them out on your device).


Please read the manual first. Things will go a lot smoother if you know a little about the basic concepts this asset uses.



☎️ Support


If you have any questions please write to office[at]kamgam.com. Please be patient, replies may take a few days. Please include your Asset Store Order Nr and Unity version in your request.

Thank you.



If you like this asset then maybe you'll like these too:


☘️ 2.5D Terrain

3D Mesh and 2D collider generated from curves.


✂️ Prefab Fixer & Replacer

Fix broken prefabs without losing any changes.


✏️ Smart UI Selection

Skip the hierarchy search. What you click is what you select.


⚒️ Pivot Cursor

Rotate around anything, not just the pivot.