> For the complete documentation index, see [llms.txt](https://irrelevant-pixel.gitbook.io/irrelevant-pixel/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://irrelevant-pixel.gitbook.io/irrelevant-pixel/getting-to-know-how-to-use-it/save-your-options.md).

# Save your Options

In the future, I am planning to rework my whole <mark style="color:purple;">`SaveGame`</mark> concept and make it more automatic and easier to use. For now, it is quite straight-forward and simple, if you already at least watched some of the Unreal Engine <mark style="color:purple;">`SaveGame`</mark> tutorials and know what that is - it all will be easy for you to understand.

***

Open the <mark style="color:purple;">`SaveGame`</mark> file `BP_SaveGame_GameSettings`. As you can see, here all of the *non-GameSettings* are stored.&#x20;

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

Add a variable for the new Option you need. Now you want to access that variable from <mark style="color:yellow;">**any place**</mark> in your Project, *read* / *write* its value. I do that with the help of the **GlobalFunctions BP library**.

<details>

<summary>SaveGame sections in Global Functions</summary>

In `BPFL_GlobalFunctions`, if you look at categories, some of those are normal, and others (*almost half*) end with <mark style="color:purple;">`(SaveGame)`</mark>. The second ones are isolated functions that do nothing but interact with <mark style="color:purple;">`SaveGame`</mark> variables, nothing more. Primarily performs `Set`/`Get`. Almost no real reason even to bother looking inside those, no real functionality there.

<img src="/files/f7lMW9bJdYE0QN2FTdZy" alt="" data-size="original">

All functions in such categories are named with prefix <mark style="color:purple;">`(S)`</mark>

</details>

I suggest you also make `Set`/`Get` little functions as well. In my opinion, it is better to have such things as one neat node when possible.

***

In this project, I went with a simple and straightforward approach of autosave. Once an event from an `Option` in the `Page` is triggered and its functional part is executed - then it is instantly <mark style="color:purple;">Saved</mark>.

Go and open something like `Screen`, `Audio`, `Mouse` pages and look what i am talking about. <mark style="color:purple;">Save</mark> is performed with a simple call of this Global function:

<figure><img src="/files/mEZJzyBAIxNclNMAuCBl" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="success" %}
But I am already thinking about remaking this entire thing, probably will figure out the best way how to do that soon.
{% 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, and the optional `goal` query parameter:

```
GET https://irrelevant-pixel.gitbook.io/irrelevant-pixel/getting-to-know-how-to-use-it/save-your-options.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.
