Skip to content

ZEngine — Steam Integration

Priority: P2 for a product distributed through Steam Status: Design — no Steamworks integration, Steam manager, build feature, or cloud adapter is implemented. Depends on: product distribution ownership, save-system contract, networking policy where applicable, privacy/security review, and Steamworks partner requirements.

Direction

Steam is a game/product integration, not a mandatory engine subsystem. The old SteamManager, compile flag, Cloud API, achievement, overlay, and initialization examples were proposed interfaces, not code in this repository. They must not be treated as a supported offline/no-op contract.

Required design

  • Decide supported Steamworks services per product: bootstrap, ownership, overlay, achievements/stats, cloud, networking, workshop, input, DLC, and dedicated-server behavior. Do not promise a service merely because Steamworks offers it.
  • Put Steamworks types behind a small product adapter. It owns initialization, callbacks, thread rules, shutdown, SDK upgrade policy, and errors; generic engine systems should not depend on the SDK.
  • Define App ID/development environment handling, build/package secrecy, partner configuration, user-consent/privacy/telemetry behavior, offline mode, and test environment policy.
  • Cloud integration must use the versioned game-save format and resolve conflicts, quotas, corruption, cancellation, and disconnected writes explicitly.
  • Platform networking, if selected, must satisfy the networking threat model and cannot bypass authentication, message validation, or back-pressure policy.

Acceptance gates

  • Development, offline, unavailable-client, and production paths have defined behavior without exposing credentials or blocking startup/shutdown.
  • Callback delivery, overlay focus handling, save conflict/recovery, and SDK failure paths are tested against the actual partner test environment.
  • A product owner and security/privacy review approve the selected services before they become an engine-facing dependency.