docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class PackageSettingsRepository

    A settings repository that stores data local to a Unity project.

    Inheritance
    object
    PackageSettingsRepository
    Implements
    ISettingsRepository
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: UnityEditor.SettingsManagement
    Assembly: Unity.Settings.Editor.dll
    Syntax
    [Serializable]
    public sealed class PackageSettingsRepository : ISettingsRepository

    Constructors

    PackageSettingsRepository(string, string)

    Constructor sets the serialized data path.

    Declaration
    public PackageSettingsRepository(string package, string name)
    Parameters
    Type Name Description
    string package

    The package name.

    string name

    A name for this settings file. Settings are saved in ProjectSettings/Packages/{package}/{name}.json.

    Properties

    name

    The name of this settings file.

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

    path

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

    The full path to the settings file. This corresponds to Unity Project/Project Settings/Packages/com.unity.package/name.

    scope

    Declaration
    public SettingsScope scope { get; }
    Property Value
    Type Description
    SettingsScope

    This repository implementation is relevant to the Project scope.

    Methods

    ContainsKey<T>(string)

    Does the repository contain a setting with key and type.

    Declaration
    public bool ContainsKey<T>(string key)
    Parameters
    Type Name Description
    string key

    The settings key.

    Returns
    Type Description
    bool

    True if a setting matching both key and type is found, false if no entry is found.

    Type Parameters
    Name Description
    T

    The type of value to search for.

    GetSettingsPath(string, string)

    Get a path for a settings file relative to the calling assembly package directory.

    Declaration
    public static string GetSettingsPath(string packageName, string name = "Settings")
    Parameters
    Type Name Description
    string packageName

    The name of the package requesting this setting.

    string name

    An optional name for the settings file. Default is "Settings."

    Returns
    Type Description
    string

    A package-scoped path to the settings file within Project Settings.

    Get<T>(string, T)

    Get a value with key of type T, or return the fallback value if no matching key is found.

    Declaration
    public T Get<T>(string key, T fallback = default)
    Parameters
    Type Name Description
    string key

    The settings key.

    T fallback

    If no key with a value of type T is found, this value is returned.

    Returns
    Type Description
    T
    Type Parameters
    Name Description
    T

    Type of value to search for.

    Remove<T>(string)

    Remove a key value pair from the settings repository.

    Declaration
    public void Remove<T>(string key)
    Parameters
    Type Name Description
    string key
    Type Parameters
    Name Description
    T

    Save()

    Save all settings to their serialized state.

    Declaration
    public void Save()

    Set<T>(string, T)

    Set a value for key of type T.

    Declaration
    public void Set<T>(string key, T value)
    Parameters
    Type Name Description
    string key

    The settings key.

    T value

    The value to set. Must be serializable.

    Type Parameters
    Name Description
    T

    Type of value.

    Implements

    ISettingsRepository
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)