Skip to content
Back to wiki

Built-in Providers and Project Configuration

A

Author

Author

Created: Oct 19, 2026Updated: Oct 19, 2026

Table of contents

Configure Shared Settings

In the Generic Settings System section of Project Settings, select a project-derived UGSS_CommonSettingsShared class. Add the providers you need under Startup Provider Classes. The base class stores per-local-player preferences in a Shared SaveGame; your project still applies loaded values to its own audio, input, or accessibility systems from ApplySettings.

Optional built-in providers

GenericSettingsSystemCommon includes these providers:

  • Video: window mode, display, resolution, brightness, overall quality, and rendering-quality options. It reads and writes the machine-local UGameUserSettings; ordinarily only the primary local player can change these settings.
  • Audio: exposes volume preferences. Connect them to your Sound Classes, Submixes, or project audio routing.
  • Input: exposes device preferences such as axis inversion, sensitivity, dead zones, or vibration. It does not implement Enhanced Input key rebinding or decide gameplay input policy.
  • Accessibility: exposes subtitle, color-vision, and motion-related preferences. Apply these preferences to your own presentation systems.
  • Language: enumerates cooked game cultures and writes Unreal's internationalization Culture setting on Apply. Some culture changes may require a restart to take full effect.

You can enable the providers as supplied or derive Blueprint classes to adjust included settings. Keep machine-level Video configuration separate from per-player Shared preferences.

Platform conditions and project ownership

Video entries adapt visibility and editability to platform capabilities and CommonUI platform traits. For example, window mode, display, and resolution depend on windowed-mode support; resolution behavior differs between windowed fullscreen and exclusive fullscreen. Brightness and dynamic resolution also depend on their respective platform traits.

Built-in definitions expose editable preferences; they do not implement every gameplay effect for your project. Read or subscribe to the values and decide when to apply them, how to persist project-specific data, and whether they can change at runtime. To hide an individual Video entry, prefer changing the provider's included-settings list instead of copying its registration logic.