logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class SerenityGameplayModuleAttribute

    Marks an Install*() method on the composition-root installer that installs a gameplay module owning no settings asset of its own — Character, Wave, Stage and the other modules a game assembles its play from. Such a module is optional: the game boots and reaches its menu without it, so the boot task that installs it degrades the boot when it fails instead of halting it.

    This is the settings-less counterpart of SerenityInstallableSystemAttribute, which only describes a system a "create a new game" flow configures through a settings asset and a Hub tool. A module declared here has nothing to configure, so that flow offers it in a section of its own and wires only its boot task; the boot-task criticality rule reads both declarations, and a method carries one or the other, never both.

    Inheritance
    object
    Attribute
    SerenityGameplayModuleAttribute
    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.Method, AllowMultiple = false, Inherited = false)]
    public sealed class SerenityGameplayModuleAttribute : Attribute, _Attribute

    Constructors

    SerenityGameplayModuleAttribute(string)

    Declaration
    public SerenityGameplayModuleAttribute(string moduleLabel)
    Parameters
    Type Name Description
    string moduleLabel

    Properties

    ModuleLabel

    Declaration
    public string ModuleLabel { get; }
    Property Value
    Type Description
    string

    The ModuleLabels constant identifying the module's Addressables label — the label its shipped boot task carries.

    Implements

    _Attribute
    In this article
    © 2026 Serenity. All Rights Reserved