# :desktop_computer: Editor Window Overview

The **EazyPrefs Editor Window** is your central hub for managing all PlayerPrefs and EditorPrefs in your project — no code required.

It gives you full visibility and control over your stored data in a clean, powerful UI. Whether you're debugging prefs, editing values, creating new keys, or toggling encryption, everything can be done right from this one tool.

---

## :rocket: Opening the Editor

You can open the EazyPrefs Editor Window by navigating to `Window > Hellmade Games > EazyPrefs`

If no config exists yet, you'll be prompted to initialize one. This is required for the tool to function.  
(Refer to [Getting Started](/getting-started.md) for setup instructions.)

## :mag_right: What You’ll See

The Editor Window is divided into three main tabs:

### 1. Player Prefs
Displays all stored `PlayerPrefs`. You can filter, sort, edit, encrypt/compress, or delete them directly.

![Player prefs tab](/img/playerPrefsTab.png)

### 2. Editor Prefs
Same functionality, but for Unity's `EditorPrefs`. Ideal for editor tooling and dev-side configurations.

![Editor prefs tab](/img/editorPrefsTab.png)

!!!warning Be careful when modifying Unity or third-party prefs
Modifying or deleting Unity or third-party package EditorPrefs is **strongly discouraged**.  
Doing so may cause unexpected behavior or break internal functionality in the Unity Editor or those packages.

Only modify EditorPrefs you explicitly created and recognize.
!!!

!!! EditorPrefs are shared across projects
Unity stores all EditorPrefs in a shared location on your machine.  
This means the list shown here includes **prefs from every Unity project**, not just the one currently open.
!!!

### 3. Settings
Project-wide EazyPrefs configuration.  
Here you can define encryption passwords, toggle default behaviors (like auto-encrypt new prefs), import/export, and customize UI options.

![Settings tab](/img/settingsTab.png)

---

## :mag: Browsing Prefs

Each Prefs tab includes:

- A **toolbar** with control options (see below)
- A **list of all prefs** in that category
- Each pref is **expandable** to reveal its current value and options (edit, reset, delete, etc.)

## :arrow_down_small: Expanding a Pref

Each pref in the list can be **expanded** by clicking it. When expanded, you'll see:

- The **current value** of the pref (editable for supported types)
- Buttons to:
  - Toggle encryption
  - Toggle compression
  - Refresh the displayed value
  - Reset to default value
  - Set value to `null` (for reference types)

This gives you full control over a pref without needing to write or execute any code.

![An expanded pref](/img/expandedPref.png)

Value in the expanded pref is handled and drawn by Pref drawers. Refer to [Pref drawers](/editor/drawers.md) for more information on how they work, or to implement your own custom drawers.

!!!
Encrypted or compressed prefs will automatically be decrypted and decompressed for display and editing.
!!!

### :wrench: Toolbar Controls

The toolbar (top-right of each prefs tab) gives you quick access to key features:

- Add new pref
- Filter by pref type
- Toggle Unity-defined prefs (show/hide)
- Toggle sorting options
- Watch for changes (auto-refresh)
- Force manual refresh
- Delete all prefs (with confirmation)

!!! warning
Deleting all prefs is irreversible. Make sure you back up or export any critical data before doing so.
!!!

---

## :sparkles: Why Use the Editor?

- Instantly inspect all saved prefs
- Quickly debug and edit values in real-time
- Toggle encryption and compression visually
- Organize your data with filtering and sorting
- Easily spot issues like invalid types or unused keys

!!!
Changes made in the editor are applied immediately to Unity's internal storage (PlayerPrefs/EditorPrefs).  
They're safe, fast, and version control-friendly.
!!!

---
