UI Binding

AutoConfig offers two ways to connect your Settings UI to the quality system. Both work simultaneously.

Method A: UI Binding Configurator (RECOMMENDED FOR CANVAS)

The standard and most reliable way to connect your UI is via the UI Binding Configurator (Window > AGS > UI Binding Configurator).

Why this is the professional choice:

  • Visual Control: You can see exactly which parameter is bound to which element in the Inspector via the ACBinding component.
  • Global Settings & Auto-Fixes: The Configurator includes global overrides for "Auto Populate Labels" (i18n safe), "Invert Dropdown Order", and "Auto Rename Objects".
  • One-Click Apply: Clicking "Apply & Auto-Fix Settings" automatically corrects Slider ranges, sets up dropdown option counts, and renames GameObjects to match your PerformanceSettings.
  • Visualizer Text: If you want a Text component to display a Slider's exact formatted value (like '85%' or '150m') in real-time, just drop the Text object into the Value Text Display field of the ACBinding.

Usage:

  1. Open the Configurator.
  2. It automatically scans your scene, but you can click "Scan Scene" again after creating new elements.
  3. Select parameters using the dropdown menus.
  4. Review the Global Binding Overrides at the top.
  5. Click "Apply & Auto-Fix Settings" to finalize everything.

Method B: Name Convention (Fallback for Canvas / Primary for UI Toolkit)

If you prefer a "zero-config" approach, or if you are using UI Toolkit (Unity 6+), use the AC_ prefix followed by the parameter name (e.g., AC_bloom, AC_quality).

For UI Toolkit (UXML/UI Builder):

Since UI Toolkit elements are not GameObjects, you cannot use the Configurator or ACBinding components on them.

  • How to bind: Set the Name property of your VisualElement (Button, Toggle, Slider, Dropdown) to AC_ + parameter (e.g., AC_quality, AC_bloom).
  • Discovery: The UIAutoScanner will automatically find any UIDocument in your scene and bind its interior elements.

For uGUI (Canvas):

  • How to bind: Rename your GameObject to start with AC_ (e.g., AC_shadow_dist).
  • Priority: If a GameObject has both an ACBinding component AND an AC_ name, the component takes priority.

How the Hierarchy Works

When the UIAutoScanner runs, it follows this logic:

  1. Search for Components: Finds all ACBinding components in the scene and wires them up.
  2. Search for Names: Finds any GameObject starting with AC_ that doesn't already have an ACBinding component and binds it using default settings.

[!TIP] Always use the Configurator. It's faster, safer, and allows you to use the "Check & Fix" tools to prevent runtime errors.

ACBinding Component

The ACBinding component is a lightweight marker that UIAutoScanner reads at runtime:

PropertyDescription
parameterThe AutoConfig parameter name (e.g., bloom, shadow_dist)
targetValueValue for Button-triggered parameters
autoPopulateLabelsAuto-fill Dropdown options with tier names from PerformanceSettings
invertOrderInvert index mapping (useful when "High" is at Dropdown index 0 but tier index 2)
valueTextDisplay(Sliders only) A Text component that automatically displays the formatted value

UIAutoScanner Component

Add this to any persistent GameObject. It works in two modes:

ModeBehavior
Auto (default)Scans ALL Canvas and UIDocument in the scene
ManualScans only assigned containers

Key features:

  • Supports both uGUI (Canvas) and UI Toolkit (UIDocument, Unity 6+).
  • Auto-populates quality tier Dropdowns with tier names.
  • Auto-populates resolution Dropdowns with available screen resolutions.
  • Syncs all UI elements when the active tier changes.
  • Health-checks Slider ranges and logs warnings for misconfigured elements.