logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class UnityCollectionSettingsLoader

    Loads every settings asset an installer needs for a module label, applying the adopted-twin rule (CollectionSettingsSelection): once a project owns the clone made from a shipped asset, the shipped original is dropped instead of being installed beside it. Without it an adopted project registers two of everything a collection holds — two music services, two menu definitions, two of each modal — because LoadAllFromAnyBlocking<T>(IEnumerable<string>) returns both and the caller keeps both.

    The collection counterpart of UnitySingletonSettingsLoader, and kept beside it rather than added to UnityAssetUtils.cs for the same reason: that file is already at the file-size ratchet.

    Partial adoption keeps working: a shipped member with no adopted twin is untouched, so a project that adopted only some of a collection installs its own clones plus the shipped remainder.

    Inheritance
    object
    UnityCollectionSettingsLoader
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Global.Infrastructure.Utils
    Assembly: Serenity.UnityGlobal.Infrastructure.dll
    Syntax
    public static class UnityCollectionSettingsLoader

    Methods

    LoadBlocking<T>(IEnumerable<string>, ILogService)

    Loads every candidate settings asset of type T for moduleLabels, then drops the shipped ones an adopted twin shadows. Returns an empty array when no candidate exists at all — the caller keeps its own "not found" handling, unchanged.

    Declaration
    public static T[] LoadBlocking<T>(IEnumerable<string> moduleLabels, ILogService logService) where T : Object, IFoundationSettings
    Parameters
    Type Name Description
    IEnumerable<string> moduleLabels
    ILogService logService
    Returns
    Type Description
    T[]
    Type Parameters
    Name Description
    T

    LoadBlocking<T>(string, ILogService)

    Loads every settings asset for one module label. See the multi-label overload.

    Declaration
    public static T[] LoadBlocking<T>(string moduleLabel, ILogService logService) where T : Object, IFoundationSettings
    Parameters
    Type Name Description
    string moduleLabel
    ILogService logService
    Returns
    Type Description
    T[]
    Type Parameters
    Name Description
    T
    In this article
    © 2026 Serenity. All Rights Reserved