public static class ResolvedQualityTableDoc 39's resolved stack for the quality table: every knob, its value, and which of the three layers decided it.
Remarks
The panel exists because the final number is the least useful half of the answer. The waterfall folds per parameter — engine defaults, then the project preset, then the document's inline overlay — so any one number a person is looking at may have come from any of three files, and a table of decided numbers with no provenance answers "what is it" while the actual question is always "why is it that". Unity earned a decade of support load from exactly this gap, with quality values split across three homes and no view that said which one won.
⚠ Enumerated from the override schema by reflection, never from a list written here. QualityTierOverrides's nine group records are the knob list — RenderQuality.EngineDefaults is expressed in that same schema and is complete — so walking it finds every knob the engine has, and a knob added tomorrow appears in this panel without anybody touching this file. A hand-written list of sixty-two names would be a second declaration of the quality table, and the second declaration is always the one that drifts.
⚠ And the walk reproduces Pick's rule rather than diffing resolved values. Of(top) ?? Of(mid) ?? Of(engine) is "the highest layer that states it wins", which is not the same as "the highest layer that changes it": a project preset that pins cascadeCount: 4 where the engine already says 4 has still taken ownership of that number, and a panel that reported it as the engine's would send someone to edit the wrong file. Cross is what keeps the reproduction honest.
Fields and properties (1)
public static int CountHow many knobs the table has, which is a fact worth stating rather than counting.
Methods (2)
public static IReadOnlyList<ResolvedQualityKnob> Resolve(QualityTier tier, RenderQualityAsset? project = null, RenderQualityAsset? overlay = null)Folds one tier and says, per knob, what it resolved to and which layer stated it.
public static ResolvedQuality Cross(QualityTier tier, RenderQualityAsset? project = null, RenderQualityAsset? overlay = null)What the engine itself resolved the same tier to, for a caller that wants both.
Used by (3)
- FrameDocumentTestsVixen.Editor.AssetEditors.Tests
- FrameQualityTableTestsVixen.Editor.AssetEditors.Tests
- StandardFrameViewVixen.Editor.AssetEditors