Build and launch PlayWeld from source

Prepare a native development environment and distinguish the desktop application from the browser development target.

On this page

Use a source build when contributing to PlayWeld or testing a workflow that needs the repository's examples. Follow the dependency versions pinned by the checkout rather than mixing build instructions from unrelated releases.

Prepare the native host

The current repository documents Node.js 24 or later, npm 11, and Git. Linux also needs native libraries such as libx11-dev, libxkbfile-dev, and libsecret-1-dev. Windows native builds need the C++ toolchain described in the developer guide.

Keep Windows and Linux dependency directories separate. Reusing another operating system's node_modules can introduce native binary and Electron ABI mismatches.

Install and build

Clone https://github.com/scarecr0w12/PlayWeld, enter its root, and run:

npm ci
npx turbo run build typecheck lint test
npm run download:plugins
npm run build -w @gamecrafter/control-room
npm run start -w @gamecrafter/control-room

The @gamecrafter/ workspace names are retained technical identifiers. The application is publicly called PlayWeld.

Inspect failures at the package or native-module layer before proceeding. A successful source compilation is separate from installer acceptance or a live engine workflow.

Use the browser target for development

The repository also provides @gamecrafter/control-room-browser for development checks. Build and start that workspace with its documented npm scripts. It is the target used for the screenshots on this website; the Electron application is the desktop product.

For isolated experiments, set GAMECRAFTER_PROFILE_DIR and, when applicable, THEIA_CONFIG_DIR before starting your owned application and service. Check the resulting connection before creating a disposable project.

See Lantern Workshop for a practice project and the upstream developer guide for contribution records, schemas, tests, and packaging requirements.

Technical references

Did this guide help?

Report a missing or incorrect detail
Include your IDE or engine version when relevant. Avoid private project data.

100%

Use left and right arrow keys to browse. Press Escape to close.