Skip to content

Game.Settings.AntiAliasingQualitySettings

Assembly: Assembly-CSharp (Cities: Skylines 2)
Namespace: Game.Settings

Type: class

Base: QualitySetting

Summary:
Represents the anti-aliasing quality setting used by the game. Exposes selectable anti-aliasing methods (None, FXAA, SMAA, TAA), SMAA quality levels, and MSAA samples used for outlines. Registers predefined quality presets (Disabled, Low, Medium, High) and applies settings to the gameplay camera (HDAdditionalCameraData) while taking into account DLSS/FSR2 state (disables camera AA when DLSS or FSR2 are active). Also provides logic to determine whether the anti-aliasing option should be considered fully disabled based on shared graphics settings.


Fields

  • private static UnityEngine.Rendering.HighDefinition.HDAdditionalCameraData m_GameCamera
    Holds a cached reference to the game's main gameplay camera HDAdditionalCameraData. Used when applying anti-aliasing settings to the camera.

Properties

  • public AntialiasingMethod antiAliasingMethod { get; set; }
    Enum-backed property selecting the desired anti-aliasing method for the game camera (None, FXAA, SMAA, TAA).

  • public UnityEngine.Rendering.HighDefinition.HDAdditionalCameraData.SMAAQualityLevel smaaQuality { get; set; }
    When SMAA is used, this selects the SMAA quality level applied to the HDAdditionalCameraData.

  • public UnityEngine.Rendering.MSAASamples outlinesMSAA { get; set; }
    Specifies MSAA sample count used for outline rendering (None, 2x, 4x, 8x, etc.).

  • private static AntiAliasingQualitySettings highQuality { get; }

  • private static AntiAliasingQualitySettings mediumQuality { get; }
  • private static AntiAliasingQualitySettings lowQuality { get; }
  • private static AntiAliasingQualitySettings disabled { get; }
    Private predefined preset instances representing the registered quality levels (High, Medium, Low, Disabled). Each preset configures outlinesMSAA, antiAliasingMethod and SMAA quality as appropriate.

Constructors

  • public AntiAliasingQualitySettings()
    Default constructor. Creates an instance without changing the current quality level (use SetLevel to configure).

  • public AntiAliasingQualitySettings(Level quality)
    Constructs and sets the specified quality level (does not automatically apply unless apply behavior in SetLevel invoked).

Methods

  • private static HDAdditionalCameraData.AntialiasingMode ToAAMode(AntialiasingMethod method) : HDAdditionalCameraData.AntialiasingMode
    Maps the local AntialiasingMethod enum to the HDAdditionalCameraData.AntialiasingMode used by HDRP. Mapping:
  • None -> AntialiasingMode.None
  • FXAA -> AntialiasingMode.FastApproximateAntialiasing
  • SMAA -> AntialiasingMode.SubpixelMorphologicalAntiAliasing
  • TAA -> AntialiasingMode.TemporalAntialiasing

  • public override void Apply() : void
    Applies the current anti-aliasing settings to the gameplay camera if available. Behavior:

  • Attempts to get the gameplay camera (m_GameCamera).
  • If neither DLSS nor FSR2 are active, sets m_GameCamera.antialiasing to the mapped AA mode and sets SMAAQuality.
  • If DLSS or FSR2 is active, forces camera antialiasing to None (camera AA disabled) because upscalers manage anti-aliasing.

  • public override bool IsOptionFullyDisabled() : bool
    Determines whether the anti-aliasing option should be treated as fully disabled. Returns true if:

  • The base option is fully disabled, or
  • DLSS is active, or
  • FSR2 is active.
    Implementation detail: returns true unless base.IsOptionFullyDisabled() is false and DLSS is inactive; in that case returns the FSR2 active state.

  • static AntiAliasingQualitySettings() (static constructor)
    Registers mock names and the preset settings with the QualitySetting system:

  • Mock names: Disabled => "None", Low => "FXAA", Medium => "LowSMAA", High => "HighSMAA"
  • Registers the preset instances for Level.Disabled, Level.Low, Level.Medium, Level.High.

Notes: - The class depends on SharedSettings.instance.graphics to check isDlssActive and isFsr2Active. - The class uses TryGetGameplayCamera(ref m_GameCamera) to obtain the HDAdditionalCameraData reference (method provided elsewhere).

Usage Example

// Create a settings instance for a specific quality and apply it to the gameplay camera.
var aaSettings = new AntiAliasingQualitySettings(AntiAliasingQualitySettings.Level.High);
aaSettings.Apply();

// Or modify and apply at runtime:
var custom = new AntiAliasingQualitySettings();
custom.antiAliasingMethod = AntiAliasingQualitySettings.AntialiasingMethod.SMAA;
custom.smaaQuality = UnityEngine.Rendering.HighDefinition.HDAdditionalCameraData.SMAAQualityLevel.High;
custom.outlinesMSAA = UnityEngine.Rendering.MSAASamples.MSAA4x;
custom.Apply();