> 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/advanced/save-and-load.md).

# Save & Load Player Choice

A player who picks a preset should see that same preset again next time they launch the game — not get silently bumped to a different one because the auto-detection ran again.

## How It Works

`UAQSSubsystem` has a `bRememberPlayerChoice` property, **true by default**. Whenever a real preset is applied (via `ApplyPreset` or `ApplyPresetAndSync`), the subsystem saves which preset it was — by asset path, not by raw values — to `GameUserSettings.ini`.

On the next launch, `SetupAQS` checks for that saved choice **before** falling back to the hardware-tier auto-pick:

```
1. Is there a saved preset choice?
     Yes → does it still exist in the current preset list?
              Yes → apply it. Done.
              No  → fall through to step 2 (preset was removed in an update)
     No  → fall through to step 2 (first launch, or never applied a real preset)

2. Run the hardware-tier auto-pick, same as a first launch.
```

## Why Saved By Path, Not By Value

If you update your plugin or project and change what "Balanced" actually contains, a player who chose Balanced should still get whatever Balanced means *now* — not a frozen snapshot of values from when they first picked it. Saving the asset path (not the field values) achieves this naturally.

## What Doesn't Get Saved

Live row edits in the Auto Panel apply through a **transient** "Custom" preset object that has no real asset path. The subsystem detects this and skips saving — dragging a slider never overwrites the player's actual saved preset choice. Only a real preset, applied by name, gets remembered.

## Turning It Off

Set `bRememberPlayerChoice = false` on the subsystem if you want the hardware auto-pick to run fresh every single launch regardless of any previous choice. Most projects should leave this on.


---

# 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/advanced/save-and-load.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.
