logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class AchievementSdkManifests

    The shipped manifests: what each of Serenity's four storefronts needs before its gateway stops being a template.

    Inheritance
    object
    AchievementSdkManifests
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Serenity.Achievements.Infrastructure.Editor.Platforms
    Assembly: Serenity.UnityAchievements.Infrastructure.Editor.dll
    Syntax
    public static class AchievementSdkManifests
    Remarks

    Static C# rather than assets, for the same reason DatabaseDriverManifests is: anything authored under Assets/Serenity has to be registered as Addressable, which is machinery data nobody loads at runtime does not need, and a compiler-checked table cannot drift into an unparseable state the way a hand-edited asset can.

    Only Steam can be obtained by simply installing something. Epic's C# SDK is granted through the developer portal, and the two console SDKs arrive with a Unity platform module that is itself gated behind a platform-holder agreement — so for three of the four the honest report is "here is where it comes from", not "click to install".

    Fields

    SteamworksNetAssemblyGuid

    The stable upstream GUID of the com.rlabrecque.steamworks.net runtime assembly definition — the one SteamworksNetReferencingAssemblyName references so the gateway's using Steamworks; compiles once the package is installed.

    Declaration
    public const string SteamworksNetAssemblyGuid = "68bd7fdb68ef2684e982e8a9825b18a5"
    Field Value
    Type Description
    string

    SteamworksNetReferencingAssemblyName

    The one shipped assembly that references SteamworksNetAssemblyGuid — the assembly holding the Steam gateway, the only code that uses Steamworks.NET types.

    Declaration
    public const string SteamworksNetReferencingAssemblyName = "Serenity.UnityAchievements.Infrastructure"
    Field Value
    Type Description
    string

    Properties

    All

    Declaration
    public static IReadOnlyList<AchievementSdkManifest> All { get; }
    Property Value
    Type Description
    IReadOnlyList<AchievementSdkManifest>

    Every shipped manifest, in the order the window lists them.

    Epic

    Declaration
    public static AchievementSdkManifest Epic { get; }
    Property Value
    Type Description
    AchievementSdkManifest

    The Epic Online Services C# SDK, granted through the developer portal.

    PlayStation

    Declaration
    public static AchievementSdkManifest PlayStation { get; }
    Property Value
    Type Description
    AchievementSdkManifest

    The PlayStation SDK, which arrives with Unity's PS5 platform module under a platform-holder agreement. Presence is not verifiable by type, for the same reason as Xbox.

    Steam

    Declaration
    public static AchievementSdkManifest Steam { get; }
    Property Value
    Type Description
    AchievementSdkManifest

    Steamworks.NET, the only one of the four a project can simply install.

    Remarks

    Serenity.UnityAchievements.Infrastructure.asmdef references this package's runtime assembly by SteamworksNetAssemblyGuid, so the UPM install this manifest names resolves without the project editing any asmdef; while the package is absent the reference dangles, which Unity tolerates. The define is written per build target and only means something on the desktop targets the package covers.

    Xbox

    Declaration
    public static AchievementSdkManifest Xbox { get; }
    Property Value
    Type Description
    AchievementSdkManifest

    The Microsoft GDK, which arrives with Unity's GameCore platform module. Presence is not verifiable by type: the define is the module's own, and Unity sets it.

    In this article
    © 2026 Serenity. All Rights Reserved