SDKs
Archmage generates the config models; the SDK loads the data into them. It readsatlas.json, loads every file listed there, resolves cross-table references, and hands you the generated ConfigAtlas.
| Language | Install | Repository | Documentation |
|---|---|---|---|
| C# | dotnet add package Shadop.Archmage | sdk-cs ↗ | C# SDK ↗ |
| Go | go get shadop.dev/pkg/sdk-go | sdk-go ↗ | Go SDK ↗ |
Unity
Install the package from OpenUPM:
openupm add dev.shadop.archmageOr in the Package Manager window, + →Add package from git URL:
https://github.com/shadowopera/sdk-cs.git?path=unity/dev.shadop.archmageAdapters for Addressables, Resources and StreamingAssets are included, along with Inspector dropdowns for config ID fields.
Go
The package import path is shadop.dev/pkg/sdk-go/archmage.
Loading an atlas
Program.cscsharp
using Shadop.Archmage.Sdk;
// ConfigAtlas is generated by Archmage
var atlas = new ConfigAtlas();
Archmage.LoadAtlas("configs/atlas.json", "configs/", atlas);main.gogo
atlas := conf.NewConfigAtlas()
err := archmage.LoadAtlas("atlas.json", "config", atlas,
archmage.WithOverrideRoot("overrides"),
archmage.WithWhitelist([]string{"item", "hero"}),
)
if err != nil {
log.Fatal(err)
}What the SDK gives you
- I18n — multi-language text with automatic fallback
- XRef — cross-table references, resolved at load time
- Duration — nanosecond precision, compact JSON encoding
- Whitelist / blacklist — load only the keys you need
- Layered overrides — extra directories or filesystems merged in field by field
Need another language?
archmage enum already generates enum code for twelve languages, and the exported data is plain JSON — any language can read it. If you want a runtime library for yours, say so: