#491
Steam: Steam Workshop page per game and a Workshop area
Requested by Cameron · project thread
Builds on #484 (Steam DLC). It uses the per-depot install folder added by #484's Steamworks redistributables commit, so this branch sits on top of it. Until #484 is merged its 7 commits show here too. The new commit is the last one, "steam: Steam Workshop page per game and a Workshop area".
Change
- Game details › Steam Workshop for games that have one: browse (popular, most subscribed, most recent, or search), Subscribe and Unsubscribe, see your subscribed and installed items, and download or update them. A Workshop button beside the library's Steam title opens the same area.
- It uses the PublishedFile service over the app's existing CM connection.
Items download to
steamapps/workshop/content/<app>/<item>, andappworkshop_<app>.acfis written the way Valve's client does, so games find them. - New files:
SteamWorkshop.swift(UI and service calls) andSteamWorkshopFiles.swift(download and record). It also touches DepotDownloader (installWorkshopItem, using the game downloads' chunk download and resume), SteamSession and SteamProtocol (the service calls), and SteamAppInfo (workshopVisible). env.MADEIRA_STEAM_WORKSHOP = 0turns it off. Docs:docs/STEAM_WORKSHOP.md.
Testing
- On device (iPhone, sideloaded build): the Workshop page works, including Subscribe.
- Host checks:
tests/host/check-steam-workshop.py(new) andcheck-steam-library.pypass on this branch with swiftc 6.1 on Linux. It isn't compiled for iOS here.
🤖 Generated with Claude Code