> 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/troubleshooting.md).

# Troubleshooting

Every entry below is a real issue hit while building this plugin, written up so you don't have to rediscover it the hard way.

## "No row template assigned for ControlType on field '...'"

This is expected and harmless the first time you see it — it means the Auto Panel built correctly and is simply waiting for you to map `RowTemplateClasses` on `WBP_AQS_AutoPanel`'s Class Defaults. Any `ControlType` missing from that map is skipped with this warning, never a crash, so you can map a few templates at a time and test incrementally.

## Can't Add a New Key to the Map

When adding entries to `RowTemplateClasses` (or any TMap in the Details panel), you may see: *"Cannot add a new key to the map while a key with the default value exists."*

This is Unreal protecting map key uniqueness, not a bug. When you click **+**, the new entry's key defaults to some `EAQSControlType` value. If you click **+** again before changing that key, the second new entry tries to use the same default key and gets rejected.

**Fix:** click **+** once, immediately set that row's key to the actual `ControlType` you want, *then* click **+** for the next row. Never click **+** twice in a row.

## AQS: Setup with 0 Presets

`SetupAQS` was called with an empty array — usually because you're testing inside a level whose GameMode isn't actually wired to AQS (common when prototyping inside a third-party demo level). Three fixes:

* Call `Setup AQS` directly from your test level's **Level Blueprint** (`Event BeginPlay`) — fastest for a quick prototype, never touches the level's existing GameMode
* Use a GameMode Blueprint parented to `AQSDemoGameModeBase` with `DemoPresets` filled in
* Drag the `BP_AQSManager` actor into the level and assign presets there

## Resolution Scale Resets When I Toggle a Different Setting

Fixed as of the current version — see [Single-Field Apply](/aqs-doc/advanced/single-field-apply.md) for the full root-cause explanation. If you're still seeing this, confirm you're on a build that includes `ApplySingleField` and that live row edits route through it rather than a full preset re-apply.

## A Slider Doesn't Move When I Click a Preset Button

The row template is missing its `OnValueRefreshed` implementation. Every template needs this event implemented to move its visual control when a preset switch or Reset changes the value externally — see [The 9 Row Templates](/aqs-doc/building-menus/the-9-row-templates.md#the-onvaluerefreshed-event--required-for-preset-switching).

## CVar Warning: "ignored as it is lower priority than the previous SetBy..."

Two different causes, depending on what's named in the warning:

**`SetByCode` losing to `SetByConsole`** — not a bug. If you (or any tool) manually typed a CVar into the live console during this session, that value is locked at a higher priority than anything AQS writes, by design — a developer console override should always be able to win. A full editor restart usually clears it; check `Config/ConsoleVariables.ini` for a leftover line if it persists.

**`SetByScalability` losing to `SetByCode` immediately after AQS applies a preset** — this used to be a real bug, caused by calling `UGameUserSettings::ApplySettings()` right after AQS's own CVar writes, which made the engine try to re-apply its own scalability state over values AQS had just set. Fixed by removing that redundant call. If you've modified `ApplyLive` yourself, don't re-add it.

## Plugin Crashes on Editor Startup (TSharedPtr Assertion)

This was caused by an early icon-styling system that called `IPluginManager::Get().FindPlugin(...)` without checking for a null result. The icon system has since been removed entirely in favor of plain text labels — simpler, and structurally unable to hit this failure mode again. If you're on a very old build that still references `FAQSEditorStyle`, update to a current version.

## "Cannot Open Include File: Styling/SlateVectorImageBrush.h"

That header isn't a public engine include. If you're trying to add custom icons back into the editor module yourself, use the `IMAGE_BRUSH_SVG(Path, Size)` macro from `Styling/SlateStyleMacros.h` instead — and note the path is given **without** the `.svg` extension, which the macro appends internally.

## LNK2019: Unresolved External Symbol (ClipboardPaste / IPluginManager)

Both are module dependency placement issues, not code bugs:

* `FPlatformApplicationMisc::ClipboardPaste` needs `ApplicationCore` in **PublicDependencyModuleNames**, not Private — Private doesn't resolve this platform-specific symbol correctly for Editor-type modules.
* `IPluginManager::Get()` needs the `Projects` module, also in Public dependencies, if you're calling it from editor code.

## My Field Doesn't Show Up After Adding It to FAQSPresetData

The baked descriptors asset is stale. Open any preset's Details panel — if a baked asset is out of sync, an **AQS Status** warning appears automatically at the top, with a one-click re-bake button. If you don't see the warning, the baked asset may not exist yet at all; create one and click **Bake Now**.


---

# 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/troubleshooting.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.
