Bundle Identifier

Each bundle is uniquely identified by a BundleIdentifier which is made up of a type, a name, and a version. It is serialized to string as <type>-<name>-<version> in lower-case.

The platform-specific variations of a single bundle are considered to be the same bundle by the system as each platform only ever deals with one, never-changing platform variation, which is hard-coded at compile time.

Type

A type is meant to differentiate base categories for bundles. Currently, we only have two categories:

  • Avatar - Contains a complete avatar with a prefab.

  • Shared - Contains any assets that other bundles need like shaders or animations.

Name

The name string identifying the bundle like shaders or jiri.

Version

A simplified semantic version consisting of two version numbers:

  • Major - Version that noticeably impacts the visual or functionality of a bundle.

  • Minor - Version that only includes small adjustments or fixes, not modifying behavior.

It is serialized as <major>_<minor>. A version can also be specified with latest syntax as <major>_* or *_* which will select the latest minor or major version respectively.