> For the complete documentation index, see [llms.txt](https://unlycky-roll-studio.gitbook.io/unlucky-roll-studio-or-plugin-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unlycky-roll-studio.gitbook.io/unlucky-roll-studio-or-plugin-documentation/advanced-debug-menu-documentation/features/advanced-debug-menu-subsystem.md).

# Advanced Debug Menu Subsystem

The **Advanced Debug Menu Subsystem** is the core of the plugin. It provides all the functions needed to **register, organize, modify, and remove debug entries** during gameplay.

You can access the subsystem from any gameplay Blueprint using **Get Advanced Debug Menu Subsystem**. There is no need to place a manager Actor in the level.

**Main Features of the Advanced Debug Menu Subsystem:**

* **Property Management:** Display or modify Blueprint and C++ properties during gameplay.
* **Custom Functions:** Read values through Getter functions and apply changes through Setter functions.
* **Debug Actions:** Execute Blueprint functions directly from the menu.
* **Categories:** Organize registered entries into customizable groups.
* **Runtime Control:** Open, close, refresh, or rebuild the Debug Menu.
* **Monitor:** Keep selected values visible even when the main menu is closed.

Each successful registration returns an **Advanced Debug Menu Binding** reference. Store this reference if you want to remove, reset, or interact with an entry later.

<figure><img src="https://3973931071-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzFtNixIpVtVBirQYSU02%2Fuploads%2Fgit-blob-9890fe0deeede5f634b11f6d632f53cdcd0b71ba%2FT_BlueprintIntegration.jpg?alt=media" alt="Advanced Debug Menu Blueprint nodes"><figcaption></figcaption></figure>

#### Notes

* **Target** refers to the subsystem, while **Target Object** refers to the Actor or Component that owns the property or function.
* **Setter** entries allow editing, while **Viewer** entries only display values.
* Registration should happen after the target has been initialized, usually during **BeginPlay**.
* The subsystem belongs to the **GameInstance**. The debug windows are managed separately for each local player.

To learn how each function works, select it from the sections below.
