Namespace Serenity.Shared.Attributes
Classes
SerenityAddressableAttribute
Opt-in marker for a project (non-Serenity) ScriptableObject type: Serenity's Addressables
auto-labeler registers assets of this type as Addressable and applies the given label(s), so they become
discoverable at runtime via UnityAssetUtils.LoadAllFromAnyBlocking<T>(label) — no manual
Inspector reference. Serenity's own types are labeled automatically and don't need this.
SerenityInstallableSystemAttribute
Marks an Install*() method on the composition-root installer as one of the systems a
"create a new game" flow can offer for selective installation. Declares the module label its
installed system carries, the settings type a wizard resolves to configure it, the Hub tool
id that authors that settings asset — by name only, never by Type, because the
installer's assembly does not (and must not) reference every module's settings type — the
tier that orders this system in the wizard's checklist, and the other attributed systems (by
Install*() method name) this one depends on.
Enums
SerenityInstallableSystemSettingsCardinality
How many settings assets a SerenityInstallableSystemAttribute-decorated system's SettingsTypeName is meant to have in a project at once. Most systems are a project-wide singleton; a handful declare one row per configured item on purpose (a game setting, an audio player, a structured log sink, a HUD, a persistence backend) — for those, finding more than one asset of the settings type is the expected shape, not an ambiguity.
SerenityInstallableSystemTier
The adoption order a "create a new game" flow offers SerenityInstallableSystemAttribute-decorated systems in: earlier tiers are systems most games need first, later tiers build on them.