> For the complete documentation index, see [llms.txt](https://stylizededge-devs.gitbook.io/aqs-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://stylizededge-devs.gitbook.io/aqs-doc/authoring-presets/creating-a-preset.md).

# Creating a Preset

## Create the Asset

Content Browser → right-click → **Auto Quality Switcher → AQS Graphics Preset**.

New presets open with sensible, balanced defaults already filled in — you're never starting from a blank slate.

## The Details Panel Layout

Opening a preset shows a custom layout, not the default alphabetical property dump:

* **Preset Identity** — name, description, icon
* **Hardware Filter** — `MinRequiredTier`, `bHideIfUnsupported`
* **Apply Behavior** — `DefaultApplyMode`, and an **Apply Preview** button that fires the preset live in your editor viewport so you can see it without entering Play
* **Display / Shadows / Global Illumination / Reflections / Post Process / Textures / Effects / Foliage / Shading / Geometry** — the 23 named fields, grouped to match the categories above
* **Advanced — CVar Overrides** — Layer 2, with live validity checking (a CVar name that doesn't exist on your engine build is flagged immediately, not discovered at runtime)

## Hardware Filtering

* **MinRequiredTier** — the minimum device tier required to use this preset (Low / Mid / High / Flagship / Ultra)
* **bHideIfUnsupported** — if true, devices below the tier never see this preset in their available list at all (the "COD Mobile" behavior — weak devices get a shorter list, not a disabled option)

## Apply Behavior

Three modes, set per-preset as a default, overridable per-call:

| Mode            | What it does                                         | Use for                                        |
| --------------- | ---------------------------------------------------- | ---------------------------------------------- |
| `NextLaunch`    | Writes to `GameUserSettings.ini`, applies on restart | Heavy changes (Lumen, Nanite, resolution)      |
| `LiveImmediate` | Applies instantly via direct CVar writes             | Lightweight changes, instant feedback          |
| `LiveWithFade`  | Fires a fade event, waits a frame, then applies live | Smooth transitions in a real-time preview menu |

## CVar Overrides — The Editor Widget

The TMap editor for `CVarOverrides` is replaced with a purpose-built widget:

* **Add** — new empty row
* **Test** (per row) / **Test All** — fires those CVars live in the viewport immediately, so you can confirm a value does what you expect before saving it into the preset
* **Import** — paste a block of text like:

  ```
  r.Lumen.Reflections.Allow=0
  sg.ShadowQuality 2
  ```

  Both `=` and space work as the delimiter.
* **Clear All**
* Each key field shows **green** if the CVar exists on your engine build, **red** if it doesn't (catches typos before they ever reach a player)

## Next Step

See [**The 23 Fields**](/aqs-doc/authoring-presets/the-23-fields.md) for what each Layer 1 field actually controls, or [**CVar Overrides**](/aqs-doc/authoring-presets/cvar-overrides.md) for going deeper on Layer 2.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://stylizededge-devs.gitbook.io/aqs-doc/authoring-presets/creating-a-preset.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
