docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Changelog

    All notable changes to this package will be documented in this file.

    The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

    [1.0.0-pre.1] - 2026-09-04

    Added

    • InteropHelpers.RequiredClient / RequiredGameServer, returning a generated wrapper's Steam interface pointer and throwing when it is null.

    Changed

    • Generated wrappers now resolve and check their Steam interface pointer directly instead of a separate client-availability check.
    • Steam interfaces now resolve lazily on first use instead of eagerly in Init().
    • Native bool values now marshal with UnmanagedType.U1 instead of UnmanagedType.I1.

    Removed

    • Android support.

    Fixed

    • A null interface pointer no longer crashes the process; it now throws InvalidOperationException instead.
    • An interface not yet resolvable at Init() time (e.g. ISteamInput) no longer stays permanently unusable.

    [0.2.0-exp.1] - 2026-08-07

    Changed

    • A newly created SteamworksSettings asset no longer defaults its app id to 480 (Steam's public test app, Spacewar). The default is now unset, so a project that never configures one fails rather than initializing Steam as somebody else's game. Existing assets keep their serialized value and are unaffected.

    Added

    • The editor now writes the steam_appid.txt that Steam's native library reads, from the app id in the settings asset, when the project does not already have one. Previously this was only available as a button on the Project Settings > Steamworks page, so a project could look correctly configured and still fail to initialize.
    • -steamworksAppId=<id> on the editor command line, for a project created by tooling and therefore without settings of its own. It takes precedence over an app id the project already set, and reports the difference. A project with neither an asset nor the switch is left untouched.

    [0.1.0-exp.1] - 2026-07-31

    This is the first release of Steamworks API wrapper.

    Experimental first release: per-interface flat wrappers generated from Steamworks SDK 1.65 (ISteamUser, ISteamFriends, ISteamUserStats, ...), callback structs and constants, and a hand-written lifecycle and dispatch runtime with typed callback subscriptions and async call-result support. Includes the "Hello Steam" sample.

    Every public type and member carries an XML documentation comment — a summary, a <param> per parameter, a <typeparam> per type parameter and a <returns> for every non-void return. Where the SDK's headers documented a declaration, that text is what the summary says; the generator supplies one describing the member otherwise. Package documentation lives in Documentation~/index.md.

    In This Article
    Back to top
    Copyright © 2026 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)