Es3 Save Editor Work Access
In the context of Unity game development, "ES3" refers to the Easy Save 3
asset by Moodkie. While there isn't a standalone consumer "save editor" for this format like those for Mass Effect or Stardew Valley, the Easy Save 3 Editor
is a built-in developer tool within the Unity environment that allows for managing save data. Unity Asset Store Core Features of the ES3 Editor Persistent Data Management
: Developers can instantly locate and open the platform-specific storage path (e.g., persistentDataPath ) directly through the Unity top menu: Tools > Easy Save 3 > Open Persistent Data Path Data Clearing : A single-click option exists to Clear Persistent Data Path
, which is essential when testing new features or switching between encrypted and unencrypted save modes. Type Management : A dedicated
allows developers to choose exactly which fields and properties of a custom class or ScriptableObject should be serialized. Reference Manager : The editor includes a system for managing object references
across scenes. If a ScriptableObject or Prefab isn't loading correctly, developers can right-click it and select "Add references to manager" to fix the issue. How the Save System Works Under the Hood Guide :: Mass Effect Trilogy Save Editor - Steam Community
Mastering the ES3 Save Editor: How It Works and Why You Need It
If you’re developing with Unity, you’ve likely encountered the "Save Game" hurdle. While Unity provides basic tools, most professional developers turn to Easy Save 3 (ES3) for a more robust solution. One of its most powerful features is the ES3 Save Editor, a tool that allows you to inspect and modify your game's persistent data directly within the Unity Editor.
Whether you're a developer trying to debug a complex inventory system or a modder looking to understand how a game like Lethal Company stores its progress, here is a deep dive into how the ES3 Save Editor works and how to use it effectively. What is the ES3 Save Editor?
The ES3 Save Editor is a visual interface provided by the Easy Save 3 asset. Instead of manually searching through raw files in your computer's "Persistent Data Path," you can use the editor to:
Browse Keys: View every piece of data saved under specific keys (e.g., "PlayerPos", "GoldCount").
Edit Values: Modify variables in real-time to test edge cases, like giving yourself 99,999 gold to test a shop's UI. es3 save editor work
Debug References: See how complex objects, like GameObjects or ScriptableObjects, are linked in your save file. How the Editor Works Under the Hood
The ES3 system saves data using a JSON-based format. When you open the editor via Window > Easy Save 3, it performs several key actions:
File Location: By default, it looks in Unity's Application.persistentDataPath.
Decryption: If you have 128-bit AES encryption enabled, the editor uses your project's defined password to decrypt the data so you can read it.
Visualization: It parses the .es3 file and presents it as a list of keys and values.
Developer Tip: If you want to check save data manually in a text editor like Notepad++, you must set the Encryption Type to None in the ES3 settings first; otherwise, the file will be unreadable. Key Features and Capabilities
The editor isn't just a viewing window; it's a control center for your game's data management.
Auto Save Management: You can use the editor to enable "Auto Save" for specific scenes, allowing you to save game state without writing a single line of code.
Types Panel: This is where you choose which fields of a class should be saved. Adding or removing fields here does not invalidate previous save data, which is a massive upgrade over Easy Save 2.
Reference Manager: A critical part of ES3 is the Reference Manager. The editor allows you to "Optimize" this manager to ensure your save files don't grow bloated with unused object references. Save Editing Beyond Development
Because .es3 is a popular format, many community-made "Save Editors" exist for popular games. For example:
The Easy Save 3 (ES3) system is a popular Unity asset used by developers to handle game data serialization. For players, tools like the EasySave3 Editor allow for manual modification of .es3 save files, often found in a game's LocalLow folder. How to Use the ES3 Save Editor In the context of Unity game development, "ES3"
For players looking to modify their game progress (e.g., in games like Supermarket Simulator), follow these general steps:
Locate Your Save File: Most ES3 saves are named SaveFile.es3 or similar and are located in the AppData\LocalLow\[Developer]\[GameName] directory.
Backup Your Data: Always create a copy of your original save file before making changes to avoid data corruption.
Load the File: Open an online tool like the EasySave3 Editor and upload your .es3 file.
Edit Values: Use the interface to find specific keys—such as "money," "level," or "checkouts"—and modify their corresponding values.
Download and Replace: Once edited, download the modified file and replace the original in your game folder. Developer Best Practices (Unity)
If you are a developer implementing ES3 in your project, keep these core mechanics in mind:
Reference Manager: When saving custom Unity objects (like ScriptableObjects), you must right-click the object in the Project window and select "Add References to Manager" to ensure it loads correctly after a restart.
Save/Load Order: If you have multiple saving systems (e.g., an Inventory system), ensure they load in the correct sequence—typically with managers loading first to populate the necessary references.
Performance: Use caching where possible. While ES3 supports asynchronous saving, standard caching is usually fast enough for most data types without needing separate threads. Alternative for Truck Simulators (ETS2/ATS) Easy Save - The Complete Save Game & Data Serializer Asset
Easy Save 3 (ES3) is a popular Unity asset designed to simplify data serialization. To "make it work," you need to understand both the internal editor tools provided by the Moodkie Docs and the manual methods for editing the files themselves. 1. Using the Built-in Unity Editor Tools
The Unity Editor includes integrated tools to manage and inspect your save data without writing additional code: The Types Panel: Accessed via Window > Easy Save 3 > Types When to Use It
. This allows you to select which specific fields and properties of a class should be serialized. Persistent Data Path: You can quickly find your save files by going to Tools > Easy Save 3 > Open Persistent Data Path Reference Manager:
If you are saving scene objects or scriptable objects, ensure they are added to the manager by right-clicking the object and selecting Easy Save 3 > Add Reference(s) to Manager 2. Manual Save File Editing
By default, ES3 saves data in a human-readable JSON format, making it easy to edit manually for debugging or "cheating": Locate the File: file (often named SaveData.es3 ) in your local app data folder. Use a Text Editor: Open the file in a tool like
. Since it follows a key-value structure similar to a Dictionary, you can directly change values (e.g., changing a "gold" value from Third-Party Editors:
For a more visual interface, you can use community tools like the es3-editor web tool es3-modifier Python package 3. Implementing the "Work" in Code
To ensure the editor has data to "work" with, you must implement basic Save/Load calls in your scripts: // Saving a value with a unique key "playerScore"
// Loading the value back, with a default if it doesn't exist score = ES3.Load< "playerScore" Use code with caution. Copied to clipboard basic easy save 3 - Forums - Moodkie Interactive
When to Use It
- Fix a corrupted or glitched save (e.g., stuck quest flags).
- Recover lost progress by restoring important items or stats.
- Test gameplay scenarios quickly (debugging or speedrunning practice).
- Tweak builds or inventories for single-player enjoyment.
Note: Editing saves can break game balance or cause instability. Use backups.
Common Edits & Tips
- Increasing currency or item counts: adjust item stacks or currency field; avoid unrealistic jumps that may break scripts.
- Quest flags: toggle booleans carefully; changing quest state mid-story can leave quest scripts orphaned—test after toggling.
- Player stats/skills: incrementing skills is usually safe but changing leveled attributes may have cascading effects.
- Timestamps/time-of-day: small shifts help fix time-locked events; large jumps can confuse scripted timers.
4.5 Reserialization
The modified dictionary is serialized back using the original ES3 settings (same encryption, compression, and binary layout). The file is then written to disk.
I. Technical Underpinnings: Decoding the .ess File
To understand the ES3 Save Editor, one must first understand the beast it seeks to tame: the .ess (Elder Scrolls Save) file. Unlike modern games that often use compressed, encrypted, or SQLite-based save formats, Morrowind’s save structure is relatively raw but labyrinthine. The file is a binary container holding several critical blocks:
- Header Data: Contains save name, time played, and a screenshot thumbnail.
- Global Data Table: Stores global variables, quest stages, and journal entries. This is not a simple list; it is a complex hash table of references.
- Player Record: The most sought-after section. It includes the player’s base and modified attributes (Strength, Intelligence, etc.), skills, health, magicka, fatigue, current spells, inventory (as a list of object IDs and counts), and active magic effects.
- Cell and Object Reference Data: Stores the state of every object, NPC, and container in every loaded cell. This includes whether a door is open, if a corpse has been looted, or if a specific candle has been knocked off a table.
The ES3 Save Editor (specifically the version developed by "Mr. Mouse" and later updated by the community) works as a hex editor with a graphical front-end. It parses the binary structure, identifies pointers and offsets, and presents the data in a human-readable form. For instance, when a user increases their "Long Blade" skill from 45 to 70, the editor locates the specific 4-byte integer in the player record, validates the change against the game’s engine limits (usually 0-255), and recalculates the dependent values like the derived "Damage" stat. A poorly crafted edit—such as setting an attribute to 1000—can cause integer overflows, corrupting the save or breaking the game’s internal balance.
The editor’s most sophisticated feature is its handling of the reference list. Simply deleting an item from inventory can orphan the reference in the global object table, leading to save bloating or crashes. The ES3 editor, unlike simple memory editors (e.g., Cheat Engine), understands the relational database logic of the save file, allowing it to safely remove references and clean up unused data.
3. Save File Compression
Some developers compress the ES3 data using GZip or Deflate before encrypting it. If you open the file and see a .gz header, a basic editor will crash. A working editor must decompress, decode, edit, re-compress, and re-encrypt.