logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class 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.

    Inheritance
    object
    Attribute
    SerenityAddressableAttribute
    Implements
    _Attribute
    Inherited Members
    Attribute.GetCustomAttributes(MemberInfo, Type)
    Attribute.GetCustomAttributes(MemberInfo, Type, bool)
    Attribute.GetCustomAttributes(MemberInfo)
    Attribute.GetCustomAttributes(MemberInfo, bool)
    Attribute.IsDefined(MemberInfo, Type)
    Attribute.IsDefined(MemberInfo, Type, bool)
    Attribute.GetCustomAttribute(MemberInfo, Type)
    Attribute.GetCustomAttribute(MemberInfo, Type, bool)
    Attribute.GetCustomAttributes(ParameterInfo)
    Attribute.GetCustomAttributes(ParameterInfo, Type)
    Attribute.GetCustomAttributes(ParameterInfo, Type, bool)
    Attribute.GetCustomAttributes(ParameterInfo, bool)
    Attribute.IsDefined(ParameterInfo, Type)
    Attribute.IsDefined(ParameterInfo, Type, bool)
    Attribute.GetCustomAttribute(ParameterInfo, Type)
    Attribute.GetCustomAttribute(ParameterInfo, Type, bool)
    Attribute.GetCustomAttributes(Module, Type)
    Attribute.GetCustomAttributes(Module)
    Attribute.GetCustomAttributes(Module, bool)
    Attribute.GetCustomAttributes(Module, Type, bool)
    Attribute.IsDefined(Module, Type)
    Attribute.IsDefined(Module, Type, bool)
    Attribute.GetCustomAttribute(Module, Type)
    Attribute.GetCustomAttribute(Module, Type, bool)
    Attribute.GetCustomAttributes(Assembly, Type)
    Attribute.GetCustomAttributes(Assembly, Type, bool)
    Attribute.GetCustomAttributes(Assembly)
    Attribute.GetCustomAttributes(Assembly, bool)
    Attribute.IsDefined(Assembly, Type)
    Attribute.IsDefined(Assembly, Type, bool)
    Attribute.GetCustomAttribute(Assembly, Type)
    Attribute.GetCustomAttribute(Assembly, Type, bool)
    Attribute.Equals(object)
    Attribute.GetHashCode()
    Attribute.Match(object)
    Attribute.IsDefaultAttribute()
    Attribute.TypeId
    object.ToString()
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetType()
    Namespace: Serenity.Shared.Attributes
    Assembly: Serenity.Shared.dll
    Syntax
    [AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = true)]
    public sealed class SerenityAddressableAttribute : Attribute, _Attribute
    Remarks

    Usage:

    [SerenityAddressable("project:content")]
    public class ContentDatabase : ScriptableObject { /* ... */ }

    Then at boot: UnityAssetUtils.LoadAllFromAnyBlocking<ContentDatabase>("project:content").

    Constructors

    SerenityAddressableAttribute(params string[])

    Marks the type Addressable under the given label(s).

    Declaration
    public SerenityAddressableAttribute(params string[] labels)
    Parameters
    Type Name Description
    string[] labels

    One or more Addressables labels.

    Properties

    Labels

    Declaration
    public string[] Labels { get; }
    Property Value
    Type Description
    string[]

    The Addressables label(s) applied to assets of the decorated type. At least one is required.

    Implements

    _Attribute
    In this article
    © 2026 Serenity. All Rights Reserved