AsaSavegameToolkit 0.5.0
dotnet add package AsaSavegameToolkit --version 0.5.0
NuGet\Install-Package AsaSavegameToolkit -Version 0.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="AsaSavegameToolkit" Version="0.5.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AsaSavegameToolkit" Version="0.5.0" />
<PackageReference Include="AsaSavegameToolkit" />
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 AsaSavegameToolkit --version 0.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AsaSavegameToolkit, 0.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 AsaSavegameToolkit@0.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=AsaSavegameToolkit&version=0.5.0
#tool nuget:?package=AsaSavegameToolkit&version=0.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
AsaSavegameToolkit
A .NET 8 library for reading ARK: Survival Ascended save files (*.ark, *.arkprofile, *.arktribe). Originally derived from portions of ASV and the ArkSavegameToolkit port of Qowyn/ark-savegame-toolkit. This repo modernizes the parser for UE5.5-era save formats (ASA).
Install
dotnet add package AsaSavegameToolkit
Or add directly to your project file:
<ItemGroup>
<PackageReference Include="AsaSavegameToolkit" Version="$(LatestVersion)" />
</ItemGroup>
Targets net8.0. Works cross‑platform (Windows/Linux/macOS). Uses
Microsoft.Extensions.Loggingfor diagnostics andMicrosoft.Data.Sqlitefor parsing.
Quickstart
using AsaSavegameToolkit;
using AsaSavegameToolkit.Porcelain; // high-level, typed API
using Microsoft.Extensions.Logging.Abstractions;
var savePath = @"D:\repos\AsaSavegameToolkit\tests\assets\version_14\Aberration_WP.ark";
var save = AsaSaveGame.ReadFrom(savePath, logger: NullLogger.Instance);
Console.WriteLine($"Players: {save.Players.Count}, Tamed Creatures: {save.TamedCreatures.Count}, Wild Creatures: {save.TamedCreatures.Count}, Structures: {save.Structures.Count}");
// Example: list player names
foreach (var player in save.Players)
{
Console.WriteLine($"{player.PlayerName} (Tribe: {player.TribeId}, Location: {player.Location})");
}
Optional settings
var settings = new AsaReaderSettings { MaxCores = Environment.ProcessorCount / 2 };
var save = AsaSaveGame.ReadFrom(savePath, settings: settings);
API surface
| Layer | Namespace | Use case |
|---|---|---|
| Porcelain (high-level) | AsaSavegameToolkit.Porcelain |
Typed models like AsaSaveGame, Creature, Structure, Inventory, Player, Tribe with convenience helpers. |
| Plumbing (low-level) | AsaSavegameToolkit.Plumbing.* |
Readers/parsers (AsaSaveReader, AsaArchive), property primitives (FVector, FColor, FName), and raw record types if you need custom traversal. |
Key types:
AsaSaveGame.ReadFrom(string path, ILogger? logger = null, AsaReaderSettings? settings = null)Creature,Structure,Item,Inventory,TeamInfo,Player,Tribe- Raw property readers in
Plumbing.Properties.*when you need exact UE property formats
Supported save formats & versions
- Save version 14+ EU5.5
- Save version 13 Earlier versions may work but aren’t officially covered.
Roadmap
- Cryopods
- Inventories
- Tribes
- Profiles
- Unreal 5.7 update
Attribution
Derived from
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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.
-
net8.0
- Microsoft.Data.Sqlite (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
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 |
|---|---|---|
| 0.5.0 | 134 | 3/9/2026 |
| 0.4.0-alpha.14 | 45 | 3/1/2026 |