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:
EnergyComponentstarts from C# annotations and exposes a generated codec.ImportedBadgeAsset.jsonstarts from a schema, while its overlay declares an asset family.BadgeAssetsregisters that family during module setup.- The example
Modulereads the published badge map during preload.