Dynamic Settings & Key Rebinding System (UI Toolkit)
Pars Interactive
$23.09
$32.99
30%OFF
(no ratings)
Jump AssetStore
A zero-code, UI Toolkit framework for Unity. Construct fully functional settings menus, dynamic key rebinding with modifier combinations, and AAA gamepad hardware prompts in minutes.The UI Toolkit framework is pipeline-agnostic and works natively on Built-in, URP, and HDRP. The optional demo scene uses Standard materials; if using URP or HDRP, convert the demo materials via: Window -> Rendering -> Render Pipeline Converter. 📖 DYNAMIC SETTINGS & KEY REBINDING SYSTEM (UI Toolkit)The Complete Plug-and-Play Dynamic Settings Menu & Key Rebinding Solution for Unity.🌟 OVERVIEWThe **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 & FAQQ: 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.Technical Details:Key Technical Features:• Pure C# & UI Toolkit architecture (No legacy UGUI Canvas required).• Built directly on top of Unity's New Input System (com.unity.inputsystem).• Asynchronous C# state timers for Virtual Combination Engine (Supports CTRL + E, RT + A).• Automatic 2D Spatial Navigation & Smooth Scroll manipulators for TV/Console UI.• Dynamic Token Resolver for runtime sprite rich-text rendering ().• Dynamic USS Light/Dark theme generator & runtime switcher.• Automated Input Action Auto-Patcher tool for 1-click composite setup.Package Dependencies:• com.unity.inputsystem (New Input System)• com.unity.ui (UI Toolkit - Built-in)• com.unity.localization (Optional integration)Compatibility & Platforms:• Unity Version: 2021.3 LTS, 2022.3 LTS, 2023.x, Unity 6 or newer.• Render Pipelines: Built-in, Universal Render Pipeline (URP), High Definition Render Pipeline (HDRP).• Target Platforms: Windows, macOS, Linux, Consoles (Xbox, PlayStation, Nintendo Switch), WebGL.• Supported Controllers: Xbox, PlayStation (DS4/DualSense), Nintendo Switch, Generic XInput/DirectInput Gamepads, Keyboard & Mouse.Package Contents:• Full C# Source Code included (Clean, optimized, and fully commented).• Ready-to-use SettingsUI Prefab & Working Demo Scene.• Custom Inspector Editor Scripts (`DynamicSettingsBuilderEditor`, `InputActionPatcher`).• High-Resolution Gamepad Icon Sprite Sheet & Hardware Databases (`TokenNameTable`).• Production-ready Helper Scripts (`ResolutionHelper`, `PresetManager`, `AudioDeviceHelper`, etc.).• Full PDF Quick Setup Guide & Documentation.Support & Contact:• Support Email: pars.interactive@gmail.comAI tools were used as an assistant to aid in generating documentation files, optimizing USS styling variables, and structuring C# control logic templates. All C# code, USS styles, and UXML layouts were fully reviewed, tested, and finalized manually to ensure high performance and quality.


