{"id":"e6ebf09f-8b16-42c1-bdef-5ac69e8a8ce4","task":"Publish a Steam Workshop item using ISteamUGC CreateItem and SubmitItemUpdate","domain":"steamworks","steps":["Call ISteamUGC::CreateItem with the consumer AppID and workshop file type k_EWorkshopFileTypeCommunity; handle the CreateItemResult_t call result to obtain the published file ID","Call ISteamUGC::StartItemUpdate with the published file ID to obtain an UGCUpdateHandle_t, then set metadata: SetItemTitle, SetItemDescription, SetItemContent (local folder path), SetItemPreview (preview image path), and SetItemVisibility","Call ISteamUGC::SubmitItemUpdate with the handle and a change note; register a SubmitItemUpdateResult_t call result handler and check m_eResult for success","Track upload progress between the SubmitItemUpdate call and the result via ISteamUGC::GetItemUpdateProgress","For subsequent updates, skip CreateItem and call StartItemUpdate directly with the existing published file ID"],"gotchas":["CreateItem must only be called once per item; calling it again creates a duplicate listing rather than updating the existing one — always store the published file ID durably after first creation","SubmitItemUpdate is asynchronous; the call returns immediately but the actual upload happens in the background — do not assume completion until the SubmitItemUpdateResult_t callback fires","Workshop item content folders must not contain symlinks or files exceeding Steam's per-item size limits; check current limits in the Steamworks documentation as they are subject to change"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e6ebf09f-8b16-42c1-bdef-5ac69e8a8ce4"}