# Player Settings

`PlayerSettings` is essentially a [SaveState](https://stylishesper.gitbook.io/esave/esave-pro/scripting/save-states) that is meant to save data that should be persistent across all save states, such as a player's preferred game settings.

You can manage data in `PlayerSettings` the [same way as you can with save states](https://stylishesper.gitbook.io/esave/esave-pro/scripting/saving-and-loading). The difference is that you don't need to call `ESave.Save` on it to confirm the changes, which means that the changes made are confirmed automatically.

## Creating Player Settings

Player settings is automatically created upon [initializing](https://stylishesper.gitbook.io/esave/esave-pro/scripting/initialization) ESave for the first time.

## Getting Player Settings

You can get the player's settings with the `ESave.GetPlayerSettings` method.

```csharp
PlayerSettings myPlayerSettings = ESave.GetPlayerSettings();
```

## Managing Data

Data inside `PlayerSettings` can be managed the same way as `SaveState`'s. See [saving-and-loading](https://stylishesper.gitbook.io/esave/esave-pro/scripting/saving-and-loading "mention"). Remember, you **don't** need to call `ESave.Save` to confirm the changes.
