WagSave Core — Documentation

WaggleBum.WagSave.Core is a platform-agnostic save game library for .NET Standard 2.1. It provides a slot-based save system, pluggable storage backends, and a type serialization framework — all with zero hard Unity dependencies.


Documentation

DocumentContents
Getting StartedAdding the DLL, configuring the logger, first save/load
API ReferenceEvery public type, method, property, and enum
Extending WagSaveCustom type serializers, custom save targets, custom ISaveSystem

Namespace Map

NamespaceContents
WaggleBum.WagSave.CoreTop-level delegates and constants
WaggleBum.WagSave.Core.InterfacesISaveSystem, ISaveTarget, ISaveManager, ITypeSerialization, ILoggerConfiguration, ISaveTargetSettings
WaggleBum.WagSave.Core.Abstracts.SaveTargetsSaveTarget, FileSaveTarget, IndexedFileSaveTarget
WaggleBum.WagSave.Core.Abstracts.SerializationTypeSerialization, ObjectSerialization
WaggleBum.WagSave.Core.Attributes[WagSave], [WagSaveField]
WaggleBum.WagSave.Core.EnumsSaveSlotType, SaveSlotListType, LogLevel, SelectionViewType
WaggleBum.WagSave.Core.ExceptionsWaggleBumException, WagSaveException, SaveTargetException, TamperedSaveTargetException
WaggleBum.WagSave.Core.LoggingLogger (static)
WaggleBum.WagSave.Core.SaveSlotsSaveSlot, SaveSlotManager, SaveSlotsSettings, EmptySaveSlot
WaggleBum.WagSave.Core.SaveTargetsMemorySaveTarget, SaveTargetDestination, SaveTargetDestinationFlags
WaggleBum.WagSave.Core.SaveTargets.FileJsonFile, BinaryFile, TextFile
WaggleBum.WagSave.Core.SaveTargets.IndexedFileJsonIndexedFile, BinaryIndexedFile, TextIndexedFile
WaggleBum.WagSave.Core.SaveTargets.SettingsSaveTargetSettings, SaveTargetOptions, SaveTargetFileSettings, SaveTargetFileOptions, SaveFileProperties, JsonFileSettings, SaveTargetIndexedFileSettings
WaggleBum.WagSave.Core.SerializationTypeSerializationFactory
WaggleBum.WagSave.Core.TypesBoundedStack<T>
WaggleBum.WagSave.Core.UtilsGuard, CompressionHelper, DataEncryptor, FileVerifier

Assembly Details

PropertyValue
AssemblyWaggleBum.WagSave.Core
Target frameworknetstandard2.1
Language versionC# 9
Nullable reference typesEnabled
External dependencyNewtonsoft.Json 13.0.3

Architecture at a Glance

Your Application
│
├── ISaveSystem (bring your own implementation)
│     └── SaveSlotManager  ←  manages slot list metadata
│           └── SaveSlot[]
│                 └── ISaveTarget  ←  the actual storage
│                       ├── MemorySaveTarget        (in-process only)
│                       ├── FileSaveTarget          (full-buffer file I/O)
│                       │     ├── JsonFile
│                       │     ├── BinaryFile
│                       │     └── TextFile
│                       └── IndexedFileSaveTarget   (random-access file I/O)
│                             ├── JsonIndexedFile
│                             ├── BinaryIndexedFile
│                             └── TextIndexedFile
│
├── TypeSerializationFactory  ←  serialize/deserialize any value
│     └── ITypeSerialization / TypeSerialization (abstract)
│
└── Logger (static)  ←  plug in your platform's logging backend