logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class DefaultAchievementSettings

    The configuration the module runs on when a project installed achievements but authored no settings asset. Every value comes from AchievementSettingsDefaults, so an unconfigured project behaves exactly like a freshly created settings asset.

    Inheritance
    object
    DefaultAchievementSettings
    Implements
    IAchievementSettings
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    Namespace: Serenity.Achievements.Application.Services
    Assembly: Serenity.Achievements.Application.dll
    Syntax
    public sealed class DefaultAchievementSettings : IAchievementSettings
    Remarks

    Exists so "no settings asset" is a configuration rather than a failure. Every collaborator requires settings, and the alternative — null checks down the whole graph — would make the documented defaults live in nine places instead of one.

    Constructors

    DefaultAchievementSettings()

    Declaration
    public DefaultAchievementSettings()

    Properties

    CaptureScreenshotOnUnlock

    Whether an unlock captures a screenshot in the background.

    Declaration
    public bool CaptureScreenshotOnUnlock { get; }
    Property Value
    Type Description
    bool

    ClearPlatformOnReset

    Whether resetting achievements also wipes the player's platform account. Off by default: a local debug reset must not silently revoke trophies the player earned, and on most storefronts the call is irreversible.

    Declaration
    public bool ClearPlatformOnReset { get; }
    Property Value
    Type Description
    bool

    IdentitySource

    Where the player identity achievements are keyed by comes from. Achievements are account-level, so a project that signs a player in reads the same setting the Leaderboard does, from the shared kernel.

    Declaration
    public PlayerIdentitySource IdentitySource { get; }
    Property Value
    Type Description
    PlayerIdentitySource

    PlatformCallTimeoutSeconds

    How long a single platform gateway call may take before it is abandoned, in seconds. Zero or less disables the timeout. A storefront SDK that never returns would otherwise hold up boot, because the load path awaits it.

    Declaration
    public double PlatformCallTimeoutSeconds { get; }
    Property Value
    Type Description
    double

    PlatformProgressPushStepPercent

    How much normalized progress has to accumulate before the next platform progress push, as a percentage. Ten means "push at most once every ten percent". Zero or less pushes on every change.

    Declaration
    public int PlatformProgressPushStepPercent { get; }
    Property Value
    Type Description
    int

    PlatformSyncRetrySeconds

    Seconds between platform-sync retries while the storefront is unreachable. The runner doubles this on every failed attempt, up to eight times, and snaps back on success. Zero or less switches the retry off.

    Declaration
    public double PlatformSyncRetrySeconds { get; }
    Property Value
    Type Description
    double

    PointsScoreKey

    The Score metric that mirrors the total achievement points. Blank disables the mirror; unlock records stay the source of truth either way.

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

    ScreenshotMaxWidth

    The width a captured screenshot is downscaled to before it is encoded, in pixels.

    Declaration
    public int ScreenshotMaxWidth { get; }
    Property Value
    Type Description
    int

    ShowToastOnUnlock

    Whether an unlock raises a toast notification.

    Declaration
    public bool ShowToastOnUnlock { get; }
    Property Value
    Type Description
    bool

    SignalOnReconciledUnlock

    Whether an unlock that was mirrored in from a platform account raises the same signal a fresh unlock does. Off by default, so reinstalling a game does not replay every toast.

    Declaration
    public bool SignalOnReconciledUnlock { get; }
    Property Value
    Type Description
    bool

    Implements

    IAchievementSettings
    In this article
    © 2026 Serenity. All Rights Reserved