Table of Contents

Getting Started

Shard generates codecs for serialized values, including the value shapes loaded from asset files. A codec describes one value, while an asset declaration places that value in a named family with pack loading, inheritance, tags, and module lifecycle rules.

Shard generates codecs from C# annotations or imported schemas. Asset declarations add registration and loading beside the generated value codec:

C# annotations                    schema + reviewed overlay
       |                                   |
       +-------------+---------------------+
                     |
              generated Codec<T>
                     |
              generated AssetBinding       only for an asset declaration
                     |
module OnSetup -> AssetStoreRegistration -> AssetRegistry
                                             |
Assets.zip/Server/<family path> -> materialize -> validate -> resolve -> prepare
                                             |
                                      published AssetMap<T>

Use the guide that matches your task:

Goal Guide
Generate JSON or BSON handling for a C# type, import a schema or attach value validation Codecs
Load files from Assets.zip, register a family or consume a published asset map Assets
Change the compiler, generated ABI, materializer or registry transaction Codec and Asset Framework Internals

Example Tour

The example project contains a complete route for each authoring style: