This paper explores the mechanics and architectural role of the Easy Save 3 (ES3) editor within the Unity game engine
. It focuses on how the editor automates data persistence, manages scene references, and provides a graphical interface for configuring complex serialization without extensive coding. Technical Overview of Easy Save 3 Editor Functionality Easy Save 3 editor
serves as the central control hub for the ES3 serialization system. It is accessible via the Unity top menu ( Window > Easy Save 3 ) and provides several essential sub-menus: Settings Window:
Allows developers to define global defaults for saving, including encryption types (AES)
, compression (GZip), and the default storage location (e.g., Application.persistentDataPath Auto Save Interface:
Enables "code-free" saving by allowing developers to select specific components on GameObjects in a scene and choosing which variables should persist. Types Window:
Manages how custom classes and Unity types are serialized. While ES3 supports most types out-of-the-box, this editor window allows for the creation of "ES3Types" to handle private fields or complex inheritance. Architecture: The ES3 Reference Manager A critical component managed by the editor is the ES3 Reference Manager
. In Unity, many objects (like ScriptableObjects or Materials) are saved by reference rather than value. Unique Identification: The editor automatically adds an ES3 Reference Manager to scenes to assign unique IDs to GameObjects and Assets. Reference Persistence: When a developer right-clicks an asset and selects "Add references to manager,"
the editor ensures that the asset retains a stable ID across different play sessions, preventing reference loss. Performance Optimization:
Large scenes can suffer from "Auto Update" slowdowns. The editor provides settings to disable automatic reference gathering, allowing developers to manually optimize which objects the manager tracks. Workflow for Save Data Management
The editor facilitates a streamlined debugging and management workflow:
About Encryption & Decryption - Forums - Moodkie Interactive
The search for an ES3 save editor usually points to players of Everspace 2 (often abbreviated as ES2, but sometimes miskeyed as ES3) or developers using the Easy Save 3 asset for Unity. If you are trying to modify your game data, understanding how these systems function is the first step toward successful "cheating" or data recovery.
Here is a comprehensive breakdown of how save editors for these systems work and how to use them safely. 🛠️ How ES3 Save Editing Works
Most modern games built in Unity use Easy Save 3 (ES3) to manage player data. Unlike old-school save files that were simple text documents, ES3 files are often compressed or encrypted to prevent tampering and improve performance. 1. File Identification
To begin, you must locate the save file. For most Windows games, these are found in: %AppData%\LocalLow\[Developer Name]\[Game Name]\ Look for files ending in .es3, .sav, or .dat. 2. JSON vs. Binary Easy Save 3 supports two primary formats: es3 save editor work
JSON: Human-readable text. You can open these with Notepad++ or VS Code.
Binary: Compressed data that looks like gibberish. You cannot edit these without a specific hex editor or a dedicated ES3 conversion tool. 3. The "Save Editor" Interface
A dedicated ES3 save editor works by "deserializing" the data. It breaks down the code into editable fields like: PlayerGold CurrentLevel InventoryList 🚀 How to Edit Your Save Safely
Before you touch a single line of code, follow these steps to ensure you don't break your game. Step 1: Create a Backup
Always copy your original save file to a separate folder. If the edit fails and the game crashes, you can simply paste the original back in. Step 2: Choose Your Tool
Web-based Editors: Some community members host JS-based editors where you upload the .es3 file, change values in a browser, and download the modified version.
Notepad++ (JSON only): If the file is not encrypted, use Ctrl+F to find the variable you want to change (e.g., "Credits").
Save Game Research Tools: For encrypted files, tools like Cheat Engine or Save Editor Online are common choices. Step 3: Modify Values
Keep changes realistic. If a game expects a maximum of 99 items and you input 999,999, the game engine may "overflow" and delete the item entirely or crash on boot. ⚠️ Common Issues and Fixes The File is Encrypted
If you open the file and see symbols instead of text, the developer has enabled AES encryption.
The Fix: You will need the specific "Encryption Key" used by the developer, which is usually buried in the game's DLL files. Without this, manual editing is nearly impossible. Changes Don't Appear In-Game
This is usually caused by Cloud Saving (Steam Cloud or GOG Galaxy).
The Fix: Disable Cloud Saves before editing. Otherwise, the launcher will see your "modified" file as corrupted and overwrite it with the old version from the cloud. The Save File Corrupts If the game refuses to load the edited file: Check for missing commas or brackets in JSON files. Ensure you didn't change the file name or extension. 💡 Pro Tip: Developer Mode
If you are a developer using Easy Save 3 in Unity, you don't need an external editor. Use the ES3 Windows Editor built into the Unity Inspector. This allows you to view and modify keys and values in real-time during playtests without leaving the engine.
The ES3 Save Editor (Easy Save 3) for Unity works by parsing the data stored in .es3 files, allowing you to modify variables like player stats, inventory, or progress without writing code. This paper explores the mechanics and architectural role
Here are a few post templates you can use for different platforms: Option 1: Informational / Tutorial (Reddit or Forums)
Title: How to use the ES3 Save Editor for Unity – Quick Guide
Post Body:If you're using Easy Save 3 in your Unity project, the Save Editor is a lifesaver for debugging. Here’s how to make it work:
Locate your file: Find your .es3 file (usually in Application.persistentDataPath).
Open the Editor: In Unity, go to Window > Easy Save 3 > Editor.
Load and Edit: Click the 'Tools' tab and select 'Save Editor'. Drag your file in to view and change values in real-time.
Why it's useful: It lets you skip levels or buff stats instantly during testing without manually changing script variables.
Has anyone found a way to use it for encrypted files effectively? Let’s discuss! Option 2: Short & Punchy (Twitter/X or LinkedIn) Text:Stop wasting time manually resetting player data! 🛑
The ES3 Save Editor (Easy Save 3) is a game-changer for #Unity3D devs. You can modify save states, debug inventory bugs, and test late-game content in seconds.
Key features:✅ Real-time value editing✅ Support for custom types✅ Easy integration with Unity Editor #GameDev #UnityTips #IndieDev #EasySave3 Option 3: Troubleshooting / Support (Discord)
Text:Question: Does the ES3 Save Editor actually work for encrypted files?I’m trying to tweak some values in my .es3 save file. The editor works great for standard files, but I’m hitting a wall with encrypted ones. Current Workflow: Open ES3 Window. Load the persistent data path. Edit the keys.
Does anyone know if I need to provide the encryption password within the editor UI itself to see the decrypted data? Thanks! Quick Technical Summary
Compatibility: Works with Unity 2018.4+ and all platforms supported by Easy Save 3.
File Format: It primarily handles .es3 files but can sometimes read JSON-formatted Easy Save data.
Key Benefit: Visualizes the "Key-Value" pairs stored by the plugin so you don't have to guess what's inside the binary/encrypted data. Look for a section often labeled PC Record
To use a save editor for Easy Save 3 (ES3) , you typically follow a process of locating the encrypted save file, decrypting it via a specialized tool, modifying the data, and then re-encrypting it for the game to recognize How the ES3 Save Editing Process Works Locate the Save File : Most Unity games using Easy Save 3 store data in the Application.persistentDataPath Common Path C:\Users\[Username]\AppData\LocalLow\[Company]\[GameName]\ File Extension : Look for files ending in Decrypt the Data
: ES3 files are often encrypted using AES. You cannot edit these directly with a standard text editor unless encryption was disabled by the developer. Online Tool : You can use specialized web-based editors like the Easy Save 3 Save File Editor to upload your Encryption Key
: You will often need the game's specific encryption password to decrypt the file. If you don't know it, you may have to find it through community forums or by inspecting game code. Edit Values
: Once decrypted, the data usually appears as a structured list of keys and values (similar to a dictionary or JSON). Search for specific keys like AmountGold to change their corresponding values.
: Some games use additional security, such as XOR operations on values, meaning you must calculate a "hidden value" using a key before editing. Save and Re-encrypt
: After making changes, use the editor to re-encrypt the file. Download the new
Replace the original file in the game's save folder (always keep a backup of the original). Unity Discussions For Developers: Using the Built-in Editor Tools If you are the developer using the Easy Save 3
asset in Unity, you have access to built-in tools to manage save data during development: Easy Save - The Complete Save Game & Data Serializer Asset
Level variable in the Globals section.Documents\My Games\Morrowind\Saves..ess file.If you edited the file and it now crashes, the save file is corrupted.
Internally, ES3 organizes data as a collection of keys (strings) and values (typed objects). Each saved variable is stored with its .NET type information, e.g., System.Int32, UnityEngine.Vector3, or custom Serializable classes.
A typical serialized entry includes:
playerHealth)System.Single)Once decrypted, the data is a series of "tags" (variables). For example:
player_healthinventory_goldquest_stage_3The editor reads these tags and converts the raw binary back into human-readable values (Integers, Floats, Strings, Lists).
Before we discuss how an ES3 save editor works, you need to understand the technology behind the save file.
ES3 does not stand for Elder Scrolls 3 (though that is a happy coincidence). It actually stands for Easy Save 3. This is a popular asset on the Unity Asset Store that developers use to serialize (save) game data. When a developer uses Easy Save 3, the game saves your progress into a file—often with a .es3 extension, or sometimes disguised as .dat, .sav, or .txt.
These files are not plain text. They are encoded binary files. If you open an ES3 file in Notepad, you will see garbled nonsense. This is where the "editor" comes in.