Skip to content

Game.Settings.SettingsUIAdvancedAttribute

Assembly: Assembly-CSharp
Namespace: Game.Settings

Type: class

Base: System.Attribute

Summary:
Marks a settings class/struct or individual setting/property as "advanced" for the settings UI. The attribute is intended to be used by the game's settings UI code to group, hide behind an "Advanced" toggle, or otherwise treat the marked elements as advanced settings. The attribute itself carries no data — it serves as a marker.


Fields

  • This type declares no instance or static fields.
    This attribute is a marker attribute and does not store any state.

Properties

  • This type declares no properties.
    As a marker attribute it exposes no configurable properties.

Constructors

  • public SettingsUIAdvancedAttribute()
    Default parameterless constructor. Creates an instance of the marker attribute. No parameters or state.

Methods

  • This type declares no methods beyond those inherited from System.Attribute / System.Object.

Usage Example

// Marking a class (all contained settings treated as advanced/in the advanced group)
[SettingsUIAdvanced]
public class NetworkSettings
{
    public bool EnableAdvancedRouting { get; set; }
}

// Marking an individual property as advanced
public class PerformanceSettings
{
    public int SimulationSteps { get; set; }

    [SettingsUIAdvanced]
    public bool EnableDetailedLogging { get; set; }
}

Notes: - AttributeUsage: valid on classes, structs and properties; attribute is inheritable (inherited = true). - Because this attribute carries no data, UI code will typically check for its presence (e.g., via reflection) to decide presentation/visibility behavior for settings.