AbioticEditor.Core 1.5.0

dotnet add package AbioticEditor.Core --version 1.5.0
                    
NuGet\Install-Package AbioticEditor.Core -Version 1.5.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AbioticEditor.Core" Version="1.5.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AbioticEditor.Core" Version="1.5.0" />
                    
Directory.Packages.props
<PackageReference Include="AbioticEditor.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AbioticEditor.Core --version 1.5.0
                    
#r "nuget: AbioticEditor.Core, 1.5.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AbioticEditor.Core@1.5.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AbioticEditor.Core&version=1.5.0
                    
Install as a Cake Addin
#tool nuget:?package=AbioticEditor.Core&version=1.5.0
                    
Install as a Cake Tool

<div align="center">

<img src="docs/public/logo.png" alt="Abiotic Editor" width="120" />

Abiotic Editor

A save-game editor for Abiotic Factor.

Open your save, change almost anything (your stats, inventory, skills, recipes, quest progress, even the whole world), and play on. No hex editors, no spreadsheets, no risk to your originals.

Download · Documentation · Getting started

</div>

The editor with a save folder loaded


What is this?

Abiotic Factor stores your progress in .sav files on disk. Abiotic Editor reads those files, shows you what's inside as friendly, clickable controls (sliders for your needs, a grid for your inventory, a checklist for recipes), and writes your changes back so the game picks them up next time you load.

It's a fan-made tool, not part of the game. Think of it as a cheat menu, a save repair kit, and a save inspector rolled into one. It's handy if you want to:

  • 🧪 Tweak a single-player run: top up your needs, max a skill, give yourself money, unlock a recipe, or hand yourself an item you're missing.
  • 🛠️ Run or fix a dedicated server: edit any player's save, adjust world state, change difficulty in SandboxSettings.ini, or move a save to a new Steam account.
  • ↩️ Undo a mistake: recover from a bad decision, un-kill an NPC, refill a harvested node, or compare a broken save against a backup to see exactly what changed.
  • 🔍 Just look: see what the game actually records, with every value labelled.

If you've never edited a save before, start with the Getting started guide.

How it works (the short version)

  1. Point it at your save folder. The editor scans it and lists every player save, every world region, the story/metadata save, and any server config files in a sidebar.
  2. Pick a save and edit it. Player saves open a player editor (vitals, inventory, skills, traits, recipes, journal, appearance, spawn point, and more). World saves open a world editor (containers, quest flags, doors, dropped items, NPCs, bases, story progression).
  3. Press SAVE. Nothing is written until you do. Every save automatically keeps a .bak copy of the previous file next to it, so you can always go back.

The editor reads and writes the game's real save format byte-for-byte: anything it doesn't touch is left exactly as the game wrote it. It also reads the game's own data tables (the names and icons of every item, recipe, skill, and quest) straight from your installed copy of the game, so what you see matches what's in-game.

Is it safe? Edits are staged until you hit SAVE, every write keeps a .bak, and the editor refuses to create impossible states (for example, it offers to set a quest's prerequisites rather than let you skip ahead into a broken story). That said, it's a save editor. Keep your own backups of saves you care about.

A quick tour

Your character

The player editor opens on your vitals (hunger, thirst, sanity, fatigue, body health, and money) as sliders you can drag or type into.

Player vitals tab

Inventory shows every slot (backpack, pockets, equipment, even a deployed backpack's contents) with the real in-game icons. Click a slot to change the item, its quantity, or its durability; drag one slot onto another to swap. A searchable item catalogue on the right lets you drop in anything from the game.

Player inventory tab

Skills lists all fifteen skills with their level, XP, and milestone perks. Nudge a level, set the XP, or MAX everything. (Perks you haven't unlocked yet stay sealed, to avoid spoilers; more on that below.)

Player skills tab

Recipes is your full crafting book: search it, filter by category, and tick recipes on or off, or UNLOCK ALL at once.

Player recipes tab

Character covers your background (job), traits (add or remove any of them, with their point values and descriptions), and appearance.

Player character and traits tab

GatePal is your in-game journal: read or unread e-mails, notes, the creature/item compendium, and the fish journal with catch requirements.

Player journal / GatePal tab

There's more besides: Transmog (armour appearance), Spawn (your respawn point and teleporter tags), and Achievements.

Player transmog tab

The world

World saves open the world editor. The header shows the world day and time of day, and tabs break the world down into the things you can change.

Quest flags are the one-way switches the game flips as the story advances. The editor groups them by story chapter, explains how the quest chain works, and lets you set or clear any flag, setting the prerequisites for you so you never end up in an impossible state.

World quest flags tab

Containers lists every storage object in the region and what's inside it. NPCs shows story characters and your tamed pets: revive a dead one, rename a pet, or nudge a story character's state.

World NPCs tab

You can also edit doors (locked/open state), dropped items on the ground, and bases, and there's always a raw JSON view for anything the UI doesn't cover.

Server config

If you point the editor at a dedicated-server folder, it also finds Admin.ini and each world's SandboxSettings.ini and gives you a key/value editor for them: adjust difficulty, XP rates, stack sizes, spawn rates, and the rest, no text editing required.

Sandbox settings INI editor

Settings, spoilers, and comparing saves

Settings lets you switch the theme, turn on diagnostic logging, import a newer game data file after an update, manage plugins, and toggle spoiler protection, which seals content you haven't reached yet (future quests, recipes, hidden achievements, codex entries) behind a CLASSIFIED stamp until you choose to reveal it.

Settings panel

Compare diffs two saves (or a save against one of its backups) and lists every difference, so you can see exactly what changed between two points in time.

Compare saves panel


Install

Grab the latest build for your platform from the Releases page, unzip, and run. Both the app and the CLI self-update from there (the app from Settings ▸ Updates, the CLI via abioticeditor update).

Each zip's name carries the release version (e.g. AbioticEditor-app-win-x64-v1.2.0.zip).

Download What it is
AbioticEditor-app-win-x64-v<version>.zip Desktop app (Windows) - a single self-contained .exe (no .NET install needed) plus a Mappings.usmap data file
AbioticEditor-app-osx-x64-v<version>.zip / -osx-arm64-… Desktop app (macOS, unsigned)
AbioticEditor-cli-win-x64-v<version>.zip Command-line tool (Windows)
AbioticEditor-cli-linux-x64-v<version>.zip Command-line tool (Linux)
AbioticEditor-cli-osx-x64-v<version>.zip / -osx-arm64-… Command-line tool (macOS)

Each release also ships a SHA256SUMS.txt so you can verify a download.

Windows: "unknown publisher" / SmartScreen

The Windows builds are not code-signed (a certificate that clears those warnings costs money this free, fan-made tool doesn't spend). So Windows will say the publisher is unknown, and SmartScreen / your antivirus may warn the first time you run it. The download is safe; the warning is just the absence of a paid signature. You have two ways around it:

Install with Scoop (no warning). A command-line install skips the SmartScreen prompt entirely and gives you one-command upgrades:

scoop bucket add abiotic-editor https://github.com/ChristopherVR/AbioticEditor
scoop install abiotic-editor          # desktop app
scoop install abiotic-editor-cli      # command-line tool
scoop update  abiotic-editor          # later, to upgrade

Scoop verifies each download against the SHA-256 pinned in the manifest before extracting it.

Or run the zip download directly. Right-click the downloaded .zipProperties ▸ tick UnblockOK, then unzip and run AbioticEditor.App.exe. If SmartScreen still shows "Windows protected your PC", click More info ▸ Run anyway.

macOS builds are unsigned too, so Gatekeeper warns on first launch; right-click the app and choose Open to run it.

Where are my saves?

  • Game client: %LOCALAPPDATA%\AbioticFactor\Saved\SaveGames\<steamid>\Worlds\<WorldName>
  • Dedicated server: the folder that contains Worlds\<WorldName>.

The editor also detects client and server save folders on your machine automatically and lists them on the welcome screen, so you can usually just click LOAD instead of browsing.

The command-line tool

Everything the app does to a save, it does through a shared engine, and that same engine ships as a headless CLI (abioticeditor) for scripting and server administration. It writes byte-identical output to the app. Run abioticeditor --help for the full list.

abioticeditor scan <folder>                      # list saves with kind and version
abioticeditor info <save.sav>                    # key facts about one save
abioticeditor export-json <save.sav> -o out.json # lossless JSON dump
abioticeditor import-json <save.sav> in.json     # rebuild the save from JSON
abioticeditor flags list <world.sav>             # quest flags (--filter to narrow)
abioticeditor flags set  <world.sav> <flag>      # set a flag (--clear, --force)
abioticeditor world list <world.sav>             # editable world-state maps in a save
abioticeditor compare <a> <b>                    # diff two saves or two folders
abioticeditor steamid <player.sav> <newid64>     # reassign the owning Steam account
abioticeditor ini get/set <file.ini> ...         # read or edit a server ini value
abioticeditor version                            # tool + supported save versions

Exit codes: 0 success, 1 usage or data error, 2 unexpected failure. --json switches the read commands to machine-readable output. Full reference: Command-line tool.

Plugins

The editor is extensible. A plugin can add save operations (bulk edits, cheats, repairs), new CLI verbs, UI panels, menu actions, and event handlers, as a compiled .NET assembly (.dll) or a plain JavaScript file (.js, no build step). Plugins run with full trust, so only install ones you trust.

abioticeditor plugins list                       # installed plugins + capabilities
abioticeditor plugins run <operation> <save>     # run a save operation (keeps a .bak)

Sample plugins live under plugins/. See the plugin system and the authoring guide for the architecture, the host API, and the security model.


For developers

Repository layout

Path Contents
src/AbioticEditor.Core All parsing and editing logic. The app and CLI are thin front-ends over this.
src/AbioticEditor.App .NET MAUI desktop editor.
src/AbioticEditor.Cli Headless CLI (abioticeditor).
src/AbioticEditor.Plugins.Abstractions The public plugin SDK (host-agnostic contracts).
src/AbioticEditor.Updater Self-updater (talks to GitHub Releases; in-place replace).
plugins/ Sample plugins (save ops, a CLI command, UI tools, JavaScript/React).
tests/AbioticEditor.Tests Assertion tests over real save fixtures.
tests/AbioticEditor.Probes Research probes that dump game data structures (not in the normal test run).
assets/Mappings.usmap Bundled type mappings for the validated game build.
submodules/ Pinned source builds of UeSaveGame and CUE4Parse (see below).
docs/ The documentation site (VitePress), save-format research notes, and the progress log.

Building

Requires the .NET 10 SDK. Clone with submodules; the build depends on the pinned submodules/ source projects.

git clone --recursive https://github.com/ChristopherVR/AbioticEditor.git
cd AbioticEditor

dotnet build src/AbioticEditor.App -f net10.0-windows10.0.19041.0   # desktop editor (Windows)
dotnet build src/AbioticEditor.Cli                                   # CLI
dotnet test  tests/AbioticEditor.Tests                               # tests

The app project also targets Android, iOS, and Mac Catalyst; building those needs the matching MAUI workloads (dotnet workload install maui). Package versions are managed centrally in Directory.Packages.props.

The CUE4Parse-Natives … 'cmake' is not recognized line during a build is benign: the native texture decoder is optional and managed parsing still works.

How the editor is structured

Core is the engine; the app and CLI are thin shells. All parsing and editing lives in src/AbioticEditor.Core, so the CLI writes byte-identical output to the app and new tooling can reuse the same code.

Read → mutate-in-place → re-serialize. For each save kind a reader parses the raw GVAS tree into a typed model whose .Raw property is the same underlying save instance; a writer mutates that tree in place and re-serializes it byte-perfect for everything it didn't touch. Because the game delta-serializes (any property still at its blueprint default is omitted from the file), readers match properties by prefix and writers re-create a missing property using its exact full name.

Game data comes from the installed game's paks. Item/recipe/skill/flag/fish/trait catalogs are read from the game's pak archives via CUE4Parse plus the bundled Mappings.usmap. Everything degrades gracefully when the game isn't installed: catalogs come back empty and icons are skipped, so the editor still opens and edits saves.

Keeping the game build in sync (usmap)

Reading the game's data tables needs a Mappings.usmap matching the installed build. A validated one is bundled. When the game updates, dump a fresh usmap with Dumper-7 or FModel and install it via the status bar IMPORT USMAP button, or copy it to %LOCALAPPDATA%\AbioticEditor\mappings\Mappings.usmap (the user-installed file always wins). Without a matching usmap the editor still opens and edits saves; only asset-backed features degrade.

Version compatibility

Save headers carry an ABF_SAVE_VERSION; the versions this build was validated against live in SaveVersionRegistry and are shown by abioticeditor version. Saves from a newer game build still open: unknown quest flags, skills, recipes, and enum values round-trip byte-identical and are preserved untouched, and new data-table content (backpacks, teleporter tags, keypad-hacker tiers) is picked up at runtime. The editor shows a compatibility report when it sees content it doesn't recognise.

Why submodules instead of NuGet?

submodules/UeSaveGame does the GVAS (de)serialization and submodules/CUE4Parse reads the game's pak archives. Both are pinned as source submodules because the editor depends on exact serialization behaviour (a save must round-trip byte-identical) and needs to be debuggable into both when the game changes formats. There's no good NuGet alternative either: CUE4Parse's package is tagged rarely and lags master by ~840 commits / over a year, and UeSaveGame isn't on NuGet at all. Clone with --recursive, or run git submodule update --init after a plain clone.

Documentation

The docs site is a VitePress project under docs/, published to GitHub Pages. To work on it:

cd docs
npm install
npm run docs:dev        # local preview with hot reload
npm run docs:build      # production build

The deeper save-format research notes and the running session log (docs/PROGRESS.md) also live there.

License

AbioticEditor is licensed under the Apache License, Version 2.0. You may use, modify, and redistribute it freely, including for commercial purposes. If you fork or otherwise distribute it, you must retain the attribution in the NOTICE file (Apache 2.0, section 4(d)) and state any changes you made. Third-party attributions are listed in THIRD-PARTY-NOTICES.txt.


<div align="center"> <sub>A fan-made tool. Not affiliated with or endorsed by the developers of Abiotic Factor.</sub> </div>

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.5.0 0 6/15/2026
1.4.0 0 6/15/2026
1.3.0 0 6/15/2026
1.2.1 24 6/15/2026
1.2.0 34 6/15/2026
1.1.3 38 6/14/2026
1.1.2 40 6/14/2026