logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Interface IAchievementSyncIconEncoder

    The icon-encoding seam AchievementSyncLocalSnapshotSource calls through, so it stays platform-agnostic: it never has to know a storefront's pixel rules (Steam's fixed 64x64 size, its grayscale locked variant, and so on) to build a sync record from an authored achievement.

    Namespace: Serenity.Achievements.Infrastructure.Editor.Sync.Steam
    Assembly: Serenity.UnityAchievements.Infrastructure.Editor.Sync.Steam.dll
    Syntax
    public interface IAchievementSyncIconEncoder
    Remarks

    Housed in the Steam transport assembly because SteamIconPngEncoder is its only implementer today, and the main editor assembly is not allowed to reference this assembly's own network-carrying types the other way around (that cycle is exactly what put this interface here instead of alongside AchievementSyncLocalSnapshotSource). Move it back out to a shared location the moment a second storefront implements it.

    Methods

    EncodeLocked(UnityAchievementDefinition)

    Encodes the icon shown while the achievement is still locked.

    Declaration
    AchievementIconPayload EncodeLocked(UnityAchievementDefinition definition)
    Parameters
    Type Name Description
    UnityAchievementDefinition definition

    The authored achievement to read an icon from.

    Returns
    Type Description
    AchievementIconPayload

    The encoded icon, or None when it carries none.

    EncodeUnlocked(UnityAchievementDefinition)

    Encodes the icon shown once the achievement is unlocked.

    Declaration
    AchievementIconPayload EncodeUnlocked(UnityAchievementDefinition definition)
    Parameters
    Type Name Description
    UnityAchievementDefinition definition

    The authored achievement to read an icon from.

    Returns
    Type Description
    AchievementIconPayload

    The encoded icon, or None when it carries none.

    In this article
    © 2026 Serenity. All Rights Reserved