> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Port from Steam

> Map Steamworks features to the GDK when porting from Steam to XBOX: user auth, Steam Cloud saves, achievements, and leaderboards to XBOX Services.

If your game is already shipping on Steam with the Steamworks API, this path maps every Steam feature you're using onto its GDK equivalent — no need to redesign around a new platform model.

## What's different

<Card title="Conceptual differences: GDK vs. Steamworks" icon="scale-balanced" href="/build/console-features/porting-from-xbox-one-era/porting-guide-for-existing-era">
  How XBOX Services, identity, entitlements, and packaging differ from the Steam model.
</Card>

## Feature-by-feature mapping

<CardGroup cols={2}>
  <Card title="Initializing the GDK" icon="power-off" href="/home/build-first-title/first-console-title-walkthrough">
    Replace `SteamAPI_Init` with GDK initialization and user sign-in.
  </Card>

  <Card title="User auth & ownership" icon="user-shield" href="/reference/system/xuser/xuser_members">
    Steam session tickets → XUser + entitlement checks.
  </Card>

  <Card title="Cloud storage" icon="cloud" href="/build/core-features/common/game-save/game-saves-developer-guide">
    Steam Cloud → XBOX connected storage.
  </Card>

  <Card title="Stats & achievements" icon="trophy" href="/services/xbox-services/player-data/achievements/index">
    `ISteamUserStats` → title-managed achievements.
  </Card>

  <Card title="Leaderboards" icon="ranking-star" href="/services/xbox-services/player-data/stats-leaderboards/event-based/index">
    Steam leaderboards → event-based stats + query-driven leaderboards.
  </Card>

  <Card title="GDK features not in Steamworks" icon="plus" href="/home/build-first-title/porting-guides">
    Quick Resume, Smart Delivery, DirectStorage, and more.
  </Card>
</CardGroup>

## Steam features covered by PlayFab

Some Steam features don't have a direct GDK analog and are handled through [Azure PlayFab](https://playfab.com/) instead:

* **Steam Workshop** (user-generated content) → [PlayFab UGC](/services/playfab/economy-monetization/economy-v2/ugc/overview)
* **Steam P2P networking** → [PlayFab Party](/services/playfab/multiplayer/networking/index)

## Then continue with the shared workflow

<CardGroup cols={2}>
  <Card title="General porting workflow" icon="arrows-turn-right" href="/paths/porting/guides">
    Tooling, checklists, packaging.
  </Card>

  <Card title="Your engine" icon="puzzle-piece" href="/build/gdk-and-engines/gdk-and-engines">
    Unreal, Unity, Godot, and more.
  </Card>

  <Card title="Publishing your port" icon="store" href="/paths/porting/publishing">
    Cert, XR, and store submission.
  </Card>
</CardGroup>
