Publish and update
SDK check runs only on your machine. Steam listing and subscriber downloads require explicit confirmation in ECHO Authoring Studio. Index → Workshop SDK.
CLI commands, npm scripts, and GitHub Actions validate locally only. Never enter Steam passwords, Guard codes, or cookies into the SDK or plug-in settings.
Author vs subscriber
Section titled “Author vs subscriber”| Role | What you do | Read |
|---|---|---|
| Author | Write locally → clean check → publish in Authoring Studio | This page + index |
| Subscriber | Subscribe on Steam → click Use in ECHO | Steam Workshop |
Subscribers do not need Node or the SDK.
Pre-publish local checklist
Section titled “Pre-publish local checklist”npm run check— zero blockers, fixtures passpreview.png— 256×256, ≤ 1 MB, not a placeholder- Listing
description≥ ~80 characters; validtags - Increment Workshop
version; accurateminEchoVersion - Plug-ins: permissions and
networkHostsmatch the consent dialog
node .\bin\echo-workshop-sdk.mjs guide checklistPublish in ECHO
Section titled “Publish in ECHO”- Launch ECHO from Steam, stay online.
- Open Workshop → Authoring (Create).
- Link or import your checked project folder.
- Run ECHO validation (stricter than JSON Schema alone).
- Confirm publish / update in the studio UI.
- Verify the Steam listing with a test account.
Test with import local package or private visibility before going public when possible.
Public SDK starter ID
Section titled “Public SDK starter ID”Official SDK Steam item: 3784997717. Update that item in place — do not create a new listing per SDK release.
Updating a live item
Section titled “Updating a live item”- Edit →
npm run check - Bump
content/echo.workshop.json→version - Fill
changeNoteinecho.workshop.project.json - Publish update from Authoring Studio (same Workshop id)
- Testers: wait for Steam download → Update and keep using in ECHO
Check passed but Authoring Studio fails?
Section titled “Check passed but Authoring Studio fails?”See index troubleshooting and production-only checks (runtime policy, Steam client state, id mismatch).
Refresh portable SDK in old projects:
node .\bin\echo-workshop-sdk.mjs upgrade .npm run checkMigration policy → MIGRATING.md.