Unity
Dynamic Settings & Key Rebinding System (UI Toolkit)
$20.99
$29.99
30% off
About Dynamic Settings & Key Rebinding System (UI Toolkit)
The Complete Plug-and-Play Dynamic Settings Menu & Key Rebinding Solution for Unity.
The Dynamic Settings & Key Rebinding System is a zero-code, UI Toolkit framework designed for Unity developers. Built on top of Unity's modern UI Toolkit and New Input System, it allows you to construct fully functional settings menus, dynamic key-binding screens, and real-time hardware icon prompts in minutes without writing a single line of C# code.
KEY FEATURES
- Zero-Code Custom Inspector: Build tabs, sliders, toggles, dropdowns, and keybinding panels directly from the Unity Inspector facade.
- Virtual Single Combination Engine: Supports both single keys (e.g., E) and modifier combinations (e.g., CTRL + E) seamlessly in a single binding slot using asynchronous C# state timers.
- Gamepad Hardware Brand Detection: Automatically detects connected gamepads (Xbox, PlayStation, Nintendo Switch, Generic) and switches UI icons in real-time.
- Dynamic Token Resolver: Replace {ACTION_NAME} tokens in your UXML/C# strings (e.g. "Press {JUMP} to Jump!") with auto-updating sprite key icons at runtime.
- Real-Time Active Device Switcher: Instantly switches between Keyboard/Mouse and Gamepad layouts when the player touches a controller or presses a key.
- Visual Theme Builder & Runtime Theme Switcher: Edit USS styles, colors, and margins directly from the Inspector with a built-in USS generator, and switch between Light/Dark themes dynamically at runtime.
- One-Click Input Action Patcher Tool: Automatically upgrades standard InputActionAsset actions to support combinations without breaking existing setups.
- Gamepad Navigation & Smooth Scroll: Fully accessible 2D spatial navigation with auto-scrolling focus manipulators for TV and console displays.
- Localization & Multi-Language Support: Optional Integration: Works seamlessly with com.unity.localization if installed.
PACKAGE STRUCTURE
/Assets/SettingsUI/
├── Documentation/ # Quick Setup Guide PDF / Readme
├── Prefabs/ # Ready-to-use Settings System Prefab
├── Preset/ # Ready-to-use Assets (TokenNameTable, Input Action, TextSettings, PanelSettings)
├── Scripts/
│ ├── Core/
│ │ ├── ConflictSolver.cs # Pure C# Key Conflict Resolution
│ │ ├── DynamicSettingsBuilder.cs # Primary Menu Skeleton Builder
│ │ ├── DynamicTokenResolver.cs # Runtime Token & Icon Parser
│ │ ├── TokenNameTable.cs # Hardware Brand Database
│ │ ├── RebindController.cs # Shadow Component & UI Orchestrator
│ │ ├── RebindManager.cs # Pure C# Input System Operations
│ │ ├── SettingsDataStructures.cs # Serialized Structures & Enums
│ │ ├── SmoothScrollManipulator.cs # Focus-Based Smooth Scroller
│ │ ├── SpatialNavigator.cs # Handles 2D Spatial Navigation and Focus Management
│ │ └── SettingsMenuManager.cs # Manages the Pause/Menu toggle state (Open/Close).
│ ├── Editor/
│ │ ├── DynamicSettingsBuilderEditor.cs # Main Builder Custom Inspector
│ │ ├── TokenNameTableEditor.cs # Hardware Database Custom Editor
│ │ └── InputActionPatcher.cs # One-Click Combination Upgrade Tool
│ └── Helpers/
│ ├── AudioDeviceHelper.cs
│ ├── HUDScaleHelper.cs
│ ├── PipelineRenderScaleHelper.cs
│ ├── PresetManager.cs
│ └── ResolutionHelper.cs
├── UI/ # UXML Templates & USS Stylesheets
│ ├── Fonts/ # Fonts for Titles, Subtitles and Main Texts
│ ├── Textures/ # Gamepad Icon Sprite Sheet Assets & Textures
│ ├── ControlsPanelTemplate.uxml # Control Binding Tab Template
│ ├── ControlsRow.uxml # Control Binding Row
│ ├── DropdownRow.uxml
│ ├── SectionHeaderRow.uxml
│ ├── SettingsMenuTemplate.uxml
│ ├── SettingsStyles.uss
│ ├── SliderRow.uxml
│ ├── TabButton.uxml
│ └── ToggleRow.uxml
└── Demo/ # Isolated Demo Scene & Example Managers
└── o o o
TROUBLESHOOTING & FAQ
Q: Key bindings show [ - ] or don't render on the screen.
- A1: Ensure Control Row Template (ControlRow.uxml) is assigned in the Inspector of RebindController.
- A2: Clear saved test bindings by going to Unity top menu: Edit -> Clear All PlayerPrefs.
Q: How does the system handle key binding conflicts (e.g., assigning 'E' to Jump when 'E' is already mapped to Interact)?
- A: When a key conflict is detected, the built-in `ConflictSolver` automatically triggers an interactive Conflict Resolution Modal (Popup) prompting the player with two choices:
• Cancel: Aborts the rebinding process and retains the original key assignment.
• Rebind: Assigns the new key to the target action and automatically sets the conflicting action (e.g., Interact) to UNBOUND to prevent duplicate inputs.
Q: Gamepad Sprite Icons show as literal text like .
- A: Make sure rich text is enabled on your UI elements and your Sprite Asset is assigned to your UI Panel Settings:
1. Go to your active `Panel Settings` asset.
2. Expand `Text Settings` -> `Sprite Assets`.
3. Drag and drop `TokenSpriteSheet` into the list.
Q: Can I use both Keyboard and Gamepad combinations (e.g. CTRL+W and RT+A)?
- A1: Yes! Ensure you run Tools -> Input Action Patcher on your Input Action Asset to convert standard actions into ButtonWithOneModifier composites.
Q: How can I reset all settings and keybindings back to factory defaults via code?
- A: You can call `settingsBuilder.ResetAllSettings()`. This will clear saved PlayerPrefs overrides, restore default InputAction bindings, and automatically refresh the entire menu UI.
Q: Can I add support for custom/unsupported Gamepad brands or custom button icons?
- A: Yes! Open `TokenNameTable.asset` in your Inspector. You can add new control paths, map custom sprite names per hardware platform (Xbox, PlayStation, Switch, Generic), or adjust global icon display scale.
The Dynamic Settings & Key Rebinding System is a zero-code, UI Toolkit framework designed for Unity developers. Built on top of Unity's modern UI Toolkit and New Input System, it allows you to construct fully functional settings menus, dynamic key-binding screens, and real-time hardware icon prompts in minutes without writing a single line of C# code.
KEY FEATURES
- Zero-Code Custom Inspector: Build tabs, sliders, toggles, dropdowns, and keybinding panels directly from the Unity Inspector facade.
- Virtual Single Combination Engine: Supports both single keys (e.g., E) and modifier combinations (e.g., CTRL + E) seamlessly in a single binding slot using asynchronous C# state timers.
- Gamepad Hardware Brand Detection: Automatically detects connected gamepads (Xbox, PlayStation, Nintendo Switch, Generic) and switches UI icons in real-time.
- Dynamic Token Resolver: Replace {ACTION_NAME} tokens in your UXML/C# strings (e.g. "Press {JUMP} to Jump!") with auto-updating sprite key icons at runtime.
- Real-Time Active Device Switcher: Instantly switches between Keyboard/Mouse and Gamepad layouts when the player touches a controller or presses a key.
- Visual Theme Builder & Runtime Theme Switcher: Edit USS styles, colors, and margins directly from the Inspector with a built-in USS generator, and switch between Light/Dark themes dynamically at runtime.
- One-Click Input Action Patcher Tool: Automatically upgrades standard InputActionAsset actions to support combinations without breaking existing setups.
- Gamepad Navigation & Smooth Scroll: Fully accessible 2D spatial navigation with auto-scrolling focus manipulators for TV and console displays.
- Localization & Multi-Language Support: Optional Integration: Works seamlessly with com.unity.localization if installed.
PACKAGE STRUCTURE
/Assets/SettingsUI/
├── Documentation/ # Quick Setup Guide PDF / Readme
├── Prefabs/ # Ready-to-use Settings System Prefab
├── Preset/ # Ready-to-use Assets (TokenNameTable, Input Action, TextSettings, PanelSettings)
├── Scripts/
│ ├── Core/
│ │ ├── ConflictSolver.cs # Pure C# Key Conflict Resolution
│ │ ├── DynamicSettingsBuilder.cs # Primary Menu Skeleton Builder
│ │ ├── DynamicTokenResolver.cs # Runtime Token & Icon Parser
│ │ ├── TokenNameTable.cs # Hardware Brand Database
│ │ ├── RebindController.cs # Shadow Component & UI Orchestrator
│ │ ├── RebindManager.cs # Pure C# Input System Operations
│ │ ├── SettingsDataStructures.cs # Serialized Structures & Enums
│ │ ├── SmoothScrollManipulator.cs # Focus-Based Smooth Scroller
│ │ ├── SpatialNavigator.cs # Handles 2D Spatial Navigation and Focus Management
│ │ └── SettingsMenuManager.cs # Manages the Pause/Menu toggle state (Open/Close).
│ ├── Editor/
│ │ ├── DynamicSettingsBuilderEditor.cs # Main Builder Custom Inspector
│ │ ├── TokenNameTableEditor.cs # Hardware Database Custom Editor
│ │ └── InputActionPatcher.cs # One-Click Combination Upgrade Tool
│ └── Helpers/
│ ├── AudioDeviceHelper.cs
│ ├── HUDScaleHelper.cs
│ ├── PipelineRenderScaleHelper.cs
│ ├── PresetManager.cs
│ └── ResolutionHelper.cs
├── UI/ # UXML Templates & USS Stylesheets
│ ├── Fonts/ # Fonts for Titles, Subtitles and Main Texts
│ ├── Textures/ # Gamepad Icon Sprite Sheet Assets & Textures
│ ├── ControlsPanelTemplate.uxml # Control Binding Tab Template
│ ├── ControlsRow.uxml # Control Binding Row
│ ├── DropdownRow.uxml
│ ├── SectionHeaderRow.uxml
│ ├── SettingsMenuTemplate.uxml
│ ├── SettingsStyles.uss
│ ├── SliderRow.uxml
│ ├── TabButton.uxml
│ └── ToggleRow.uxml
└── Demo/ # Isolated Demo Scene & Example Managers
└── o o o
TROUBLESHOOTING & FAQ
Q: Key bindings show [ - ] or don't render on the screen.
- A1: Ensure Control Row Template (ControlRow.uxml) is assigned in the Inspector of RebindController.
- A2: Clear saved test bindings by going to Unity top menu: Edit -> Clear All PlayerPrefs.
Q: How does the system handle key binding conflicts (e.g., assigning 'E' to Jump when 'E' is already mapped to Interact)?
- A: When a key conflict is detected, the built-in `ConflictSolver` automatically triggers an interactive Conflict Resolution Modal (Popup) prompting the player with two choices:
• Cancel: Aborts the rebinding process and retains the original key assignment.
• Rebind: Assigns the new key to the target action and automatically sets the conflicting action (e.g., Interact) to UNBOUND to prevent duplicate inputs.
Q: Gamepad Sprite Icons show as literal text like .
- A: Make sure rich text is enabled on your UI elements and your Sprite Asset is assigned to your UI Panel Settings:
1. Go to your active `Panel Settings` asset.
2. Expand `Text Settings` -> `Sprite Assets`.
3. Drag and drop `TokenSpriteSheet` into the list.
Q: Can I use both Keyboard and Gamepad combinations (e.g. CTRL+W and RT+A)?
- A1: Yes! Ensure you run Tools -> Input Action Patcher on your Input Action Asset to convert standard actions into ButtonWithOneModifier composites.
Q: How can I reset all settings and keybindings back to factory defaults via code?
- A: You can call `settingsBuilder.ResetAllSettings()`. This will clear saved PlayerPrefs overrides, restore default InputAction bindings, and automatically refresh the entire menu UI.
Q: Can I add support for custom/unsupported Gamepad brands or custom button icons?
- A: Yes! Open `TokenNameTable.asset` in your Inspector. You can add new control paths, map custom sprite names per hardware platform (Xbox, PlayStation, Switch, Generic), or adjust global icon display scale.
Current offers including this asset
-
View offer
Unity New Release Discount 2026-10-29 2026-11-12
Ends Nov 12, 2026
-
View offer
Unity New Release Discount 2026-10-29 2026-11-12
Ends Nov 12, 2026