> For the complete documentation index, see [llms.txt](https://sleepy-badger.gitbook.io/pretty_settings/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sleepy-badger.gitbook.io/pretty_settings/pretty-settings-integration-into-your-projects.md).

# Pretty settings - Integration into your projects

Quickest setup:

* Press Add to Project in your Launcher. If you already have the files in a project, you can use Migrate.

<figure><img src="/files/KybGYd6NiafWIJ1ceq2Q" alt=""><figcaption></figcaption></figure>

* Go to Window -> World settings. In the world settings menu, find the Game Mode dropdown. Under it, open the Selected GameMode dropdown.
* Change the Player Controller Class to BP\_pretty\_player\_controller.

<figure><img src="/files/fnn5cdjwxHMVWJWjnfZo" alt=""><figcaption></figcaption></figure>

* Done! Play the level, you can now use Escape/F10/Gamepad Start button to open the menu. Try closing the menu and using 1-2-3-4 keys on your keyboard - this will change UI themes

### If you have your own player controller and want to keep using it:

* Select your player controller blueprint and add BP\_settings\_controller\_component to it.

<figure><img src="/files/g0X4Draj1YLIGNINzGxm" alt=""><figcaption></figcaption></figure>

* Go to the BP\_settings\_controller\_component of your controller and set the menu\_class variable to your menu. Use WB\_ingame\_menu in this case. Don't forget to compile the blueprint after selecting.

<figure><img src="/files/l4ttZm7tKEKjDFcaNxQw" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
BP\_settings\_controller\_component is the most important part, it NEEDS to be added to your controller. Adding menu class is optional but saves you a lot of manual labor. You DON'T have to use WB\_ingame\_menu, but your menu MUST use pretty\_settings widgets (sliders, arrow boxes, key remappers etc.) in order for everything to work correctly
{% endhint %}

* Setup key inputs to toggle the menu (I'll use F10 for this example). Open BP\_pretty\_player\_controller and copy following nodes from it to your controller:

<figure><img src="/files/AN9MSIQNTsxsOGsrD7Dj" alt=""><figcaption></figcaption></figure>

* Optionally, if you want to be able to swap UI themes on the fly, you can copy-paste these nodes as well:

<figure><img src="/files/VCb9ug9DRbeXMWpif6Sk" alt=""><figcaption></figcaption></figure>

* Test the changes by playing the level and pressing F10. The game should pause and the ingame menu should open

<figure><img src="/files/mpy94wgPLQNwkjZGg07W" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You may notice that the sound settings aren't working yet because no sound classes have been associated with them yet. More info on that in the [tutorial](/pretty_settings/tutorial-hooking-up-sound-settings.md)
{% endhint %}


---

# 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:

```
GET https://sleepy-badger.gitbook.io/pretty_settings/pretty-settings-integration-into-your-projects.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
